使用參數
參數可用來輕鬆儲存和管理可重複使用的值。
參數可讓您彈性地根據查詢的值動態變更查詢的輸出,並可用於:
- 變更特定轉換和數據源函式的自變數值。
- 自訂函式中的輸入。
您可以在 [ 管理參數 ] 視窗中輕鬆管理參數。 若要移至 [管理參數] 視窗,請在 [常用] 索引卷標中選取 [管理參數] 內的 [管理參數] 選項。
建立參數
Power Query 提供兩種簡單的方法來建立參數:
從現有的查詢:以滑鼠右鍵按鍵按下值為簡單非結構化常數的查詢,例如日期、文字或數字,然後選取 [轉換成參數]。
您也可以以滑鼠右鍵按下 參數,然後選取 [轉換成查詢],將參數轉換成查詢。
使用 [管理參數] 視窗:從 [常用] 索引標籤中的 [管理參數] 下拉功能表中選取 [新增參數] 選項。或啟動 [管理參數] 視窗,然後選取頂端的 [新增] 以建立參數。 填寫此窗體,然後選取 [ 確定 ] 以建立新的參數。
建立參數之後,您隨時都可以回到 [管理參數 ] 視窗,隨時修改任何參數。
參數屬性
參數會儲存可用於Power Query中轉換的值。 除了參數的名稱和它儲存的值之外,它也有其他屬性來提供元數據給它。 參數的屬性如下:
名稱:提供此參數的名稱,可讓您輕鬆地辨識並區別於您可能建立的其他參數。
描述:當參數信息顯示時,參數名稱旁邊會顯示描述,協助指定參數值的使用者瞭解其用途及其語意。
必要:複選框指出後續使用者是否可以指定是否必須提供 參數的值。
類型:指定參數的數據類型。 建議您一律設定參數的數據類型。 若要深入了解數據類型的重要性,請移至 [數據類型]。
建議的值:為使用者提供建議,從可用的選項中選取 [目前值] 的值:
任何值:目前的值可以是任何手動輸入的值。
值清單:提供簡單的類似數據表的體驗,以便定義建議的值清單,稍後可從中選取 [目前值]。 選取此選項時,將會提供名為 [預設值 ] 的新選項。 您可以從這裡選取應該為此參數的預設值,這是參考參數時向用戶顯示的預設值。 這個值與 Current Value 不同 ,這個值是儲存在 參數內的值,而且可以在轉換中當做自變數傳遞。 使用 [值清單] 提供顯示在 [預設值] 和 [目前值] 字段中的下拉功能表,您可以從建議的值清單中挑選其中一個值。
注意
您仍然可以手動輸入您想要傳遞至參數的任何值。 建議值清單只會做為簡單的建議。
查詢:使用清單查詢(輸出為清單的查詢)來提供您稍後可針對 [目前值] 選取的建議值清單。
目前值:儲存在此參數中的值。
使用參數的位置
參數可以用許多不同的方式使用,但在兩個案例中較常用:
- 步驟自變數:您可以使用 參數作為使用者介面 (UI) 所驅動之多個轉換的自變數。
- 自定義函式自變數:您可以從查詢建立新的函式,並參考參數作為自定義函式的自變數。
在下一節中,您會看到這兩個案例的範例。
步驟自變數
若要啟用此功能,請先移至 Power Query 編輯器中的 [檢視] 索引標籤,然後選取 [參數] 群組中的 [永遠允許] 選項。
例如,下列 Orders 數據表包含 OrderID、 Units 和 Margin 字段。
在此範例中,使用名稱 Minimum Margin 和 Decimal Number 類型及 目前值為 0.2 的新參數。
移至 [訂單 ] 查詢,然後在 [邊界 ] 字段中選取 [大於 篩選] 選項。
在 [ 篩選數據列] 視窗中,有一個按鈕,其中包含選取字段的數據類型。 從此按鈕的下拉功能表中選取 [ 參數 ] 選項。 從數據類型按鈕旁的欄位選取範圍中,選取您要傳遞至這個自變數的參數。 在此情況下,它是 Minimum Margin 參數。
選取 [ 確定] 之後,您的數據表會使用參數的 [目前值 ] 進行篩選。
如果您將 Minimum Margin 參數的目前值修改為 0.3,則訂單查詢會立即更新,並只會顯示 Margin 高於 30% 的數據列。
提示
Power Query 中的許多轉換可讓您從下拉式清單中選取參數。 我們建議您一律尋找它,並利用哪些參數可以提供您。
自定義函式自變數
使用 Power Query,您可以從現有的查詢建立自定義函式,然後按兩下即可。 在上述範例之後,以滑鼠右鍵按兩下 Orders 查詢,然後選取 [ 建立函式]。 此動作會啟動新的 [建立函式 ] 視窗。 在此視窗中,將新函式命名為 ,它會告訴您查詢中參考的參數。 這些參數會當做自定義函式的參數使用。
您可以視需要命名這個新的函式。 為了示範目的,這個新函式的名稱是 MyFunction。 選取 [確定] 之後,會在 [查詢] 窗格中使用新函式的名稱建立新的群組。 在此群組中,您會發現用於函式的參數、用來建立函式的查詢,以及函式本身。
若要測試這個新函式,請在 [最小邊界] 卷標底下的字段中輸入值,例如0.4。 然後選取 [ 叫用] 按鈕。 這會建立名稱 為 Invoked 函式的新查詢,有效地傳遞值 0.4 做為函式的自變數,並只為您提供邊界高於 40% 的數據列。
若要深入瞭解如何建立自定義函式,請移至 建立自定義函式。
多重值或列表參數
只有 Power Query Online 中可用的新類型參數是多重值或列表參數。 本節說明如何建立新的列表參數,以及如何在查詢中使用它。
在上述範例之後,將 Minimum Margin 的目前值從 0.3 變更為 0.1。 新的目標是建立清單參數,以保存您有興趣分析之訂單的訂單編號。 若要建立新的參數,請移至 [ 管理參數 ] 對話框,然後選取 [ 新增 ] 以建立新的參數。 使用下列資訊填入這個新參數:
- 名稱: 有趣的訂單
- 描述: 一組對特定分析感興趣的訂單號碼
- 必要: True
- 類型: 清單
定義這些欄位之後,新的方格隨即出現,您可以在其中輸入您要為參數儲存的值。 在此情況下,這些值為 125、 777 和 999。
注意
雖然此範例使用數位,但您也可以將其他數據類型儲存在清單中,例如文字、日期、日期時間等等。 詳細資訊: Power Query 中的數據類型
提示
如果您想要更充分掌控列表參數中所使用的值,您一律可以建立具有常數值的清單,並將清單查詢轉換為本文先前所展示的參數。
有了新的 [有趣的訂單 ] 列表參數,請返回 Orders 查詢。 選取 OrderID 欄位的自動篩選功能表。 選取 [數字篩選>] 。
選取此選項之後,會出現新的 [篩選數據列 ] 對話方塊。 您可以從這裡從下拉功能表中選取清單參數。
注意
清單參數可以使用 In 或 Not 選項。 在 中,您只能依清單中的值進行篩選。 中 不會完全相反,並嘗試篩選數據行,以取得不等於參數中所儲存值的所有值。
選取 [ 確定] 之後,系統會將您帶回查詢。 在那裡,您的查詢已使用您所建立的列表參數進行篩選,結果只會保留 OrderID 等於 125、777 或 999 的數據列。