參數是用來輕鬆儲存和管理可重複使用的值。
參數讓你能根據查詢值動態調整輸出,並可用於:
- 更改特定轉換與資料來源函式的參數值。
- 自訂函式中的輸入。
你可以在 「管理參數 」視窗中輕鬆管理參數。 要進入「管理參數」視窗,請在「主頁」分頁的「管理參數」中選擇「管理參數」選項。
建立參數
Power Query 提供兩種簡單的參數建立方式:
從現有查詢中:右鍵點擊一個值為簡單非結構化常數(如日期、文字或數字)的查詢,然後選擇 「轉換為參數」。
你也可以透過右鍵點擊參數,然後選擇 「轉換為查詢」來轉換參數。
使用「管理參數」視窗:從「主頁」標籤中「管理參數」下拉選單選擇「新參數」選項。或者啟動「管理參數」視窗,在頂部選擇「新」來建立參數。 填寫此表單,然後選擇 確定 以建立新參數。
建立參數後,你隨時可以回到 「管理參數 」視窗,隨時修改任何參數。
參數屬性
參數儲存一個可用於 Power Query 轉換的值。 除了參數名稱及其儲存的值外,它還有其他屬性提供元資料。 參數的性質如下:
名稱:為此參數命名,方便你辨識並區分它與其他參數。
說明:當參數資訊顯示時,描述會顯示在參數名稱旁,幫助指定參數值的使用者理解其目的與語意。
必填:勾選框表示後續使用者是否能指定是否必須提供參數值。
類型:指定參數的資料型態。 我們建議你一定要設定參數的資料型態。 想了解更多資料型態的重要性,請前往 資料型別。
建議值:提供使用者建議,從可用選項中選擇 當前值 :
任意值:目前值可以是任何手動輸入的值。
數值列表:提供簡單的表格式體驗,讓你能定義建議值清單,之後可從中選擇當前 值。 當選擇此選項時,會新增一個稱為 預設值 的選項。 從這裡,你可以選擇這個參數的預設值,這也是使用者參考該參數時顯示的預設值。 這個值和 Current Value 不同,Current Value 是參數內儲存的值,可以在轉換中作為參數傳遞。 使用數值列表後,預設值和當前值欄位會顯示一個下拉選單,你可以從建議的值列表中選擇其中一個值。
備註
你仍然可以手動輸入任何你想傳給參數的值。 建議數值清單僅作為簡單建議。
查詢:使用清單查詢(輸出為清單的查詢)來提供建議值清單,之後可以選擇為 目前值。
目前值:儲存在此參數中的值。
參數的使用處
參數可以有多種使用方式,但更常見於兩種情境:
- 步驟參數:你可以用參數作為多重轉換的參數,這些轉換由使用者介面(UI)驅動。
- 自訂函式參數:你可以從查詢建立新函式,並以參數作為自訂函式的參數。
接下來的章節將包含這兩種情境的範例。
步驟論點
要啟用此功能,請先到 Power Query 編輯器的檢視標籤,並在參數群組中選擇「永遠允許」選項。
例如 ,以下訂單 表包含 訂單ID、 總單位和 保證金 欄位。
在此範例中,建立一個名為 Minimum Margin 的新參數,採用 小數 類型, Current 值 為 0.2。
進入 訂單 查詢,在 保證金 欄位選擇 「大於」 篩選選項。
在 篩選 列視窗裡,有一個按鈕顯示所選欄位的資料型態。 從下拉選單選擇參數選項。 在資料型別按鈕旁的欄位選擇中,選擇要傳遞給此參數的資料。 在這裡,是最小 邊際 參數。
選擇 確定後,你的表格會用參數的 Current Value 來篩選。
如果你將最低保證金參數的 Current 值改為 0.3,訂單查詢會立即更新,只顯示保證金超過 30%的列。
小提示
Power Query 中的許多轉換功能允許你從下拉選單中選擇參數。 我們建議你一定要主動尋找並善用這些參數能提供給你的好處。
自訂函數參數
使用 Power Query,你可以用簡單的選擇從現有查詢建立自訂函式。 依照前述範例,右鍵點選 訂單 查詢並選擇 建立函式。 此動作會啟動一個新的 「建立函式 」視窗。 在這個視窗裡,命名你的新函式,它會告訴你查詢中被參考的參數。 這些參數被用作自訂函數的參數。
你可以隨意命名這個新函式。 為了示範目的,這個新函式的名稱是 MyFunction。 選擇 確定後,會在 查詢 面板中用你的新函式名稱建立一個新群組。 在這個群組中,你會找到用於函數的參數、用來建立函數的查詢,以及函數本身。
要測試這個新函數,請在 最小邊際 標籤下方的欄位輸入一個值,例如 0.4。 然後選擇 「呼叫 」按鈕。 此動作會建立一個名為 Invoked Function 的新查詢,實際上傳遞 0.4 作為函式參數,並只給出邊距超過 40%的列。
想了解更多如何建立自訂函式,請前往 「建立自訂函式」。
多值或列表參數
一種僅在 Power Query Online 提供的新參數類型是多值或列表參數。 本節說明如何建立新的清單參數,以及如何在查詢中使用它。
依照前例,將 最低利差 的當前值從 0.3 改為 0.1。 新的目標是建立一個清單參數,可以儲存你想分析的訂單號碼。 要建立新參數,請到 「管理參數 」對話框,選擇 「新」 以建立新參數。 請用以下資訊填寫這個新參數:
- 名字: 有趣的订单
- 描述: 一組針對特定分析具有興趣的訂單號碼
- 必修條件: 是
- 型: 清單
定義這些欄位後,會跳出一個新網格,輸入你想儲存參數的值。 在這個例子中,這些數值分別是 125、 777和 999。
備註
雖然這個例子使用數字,但你也可以在清單中儲存其他資料類型,例如文字、日期、日期時間等。 詳細資訊: Power Query 中的數據類型
小提示
如果你想更控制清單參數中使用的值,你也可以建立一個常數值的清單。 然後將您的列表查詢轉換為本文中先前示範的參數。
在新的「有趣訂單」清單參數到位後,請回到訂單查詢。 選擇 OrderID 欄位的自動篩選選單。 選擇數字篩選>在。
小提示
對於其他資料類型, 「入」 過濾器可能不會出現在主篩選選單中。 選擇任何其他篩選選項,然後在 查詢設定中編輯篩選條件。 然後,從編輯器的篩選下拉選單中選擇 「進入」。
選擇此選項後,會出現一個新的 「篩選列」 對話框。 從這裡,你可以從下拉選單中選擇清單參數。
備註
清單參數可以搭配 In 或 Not in 選項使用。 In 只用清單中的數值來篩選。 Not in 則完全相反,會嘗試過濾你的欄位,取得所有不等於參數中值的值。
選擇 OK 後,你會回到你的查詢。 在那裡,你的查詢會用你建立的清單參數來篩選,結果只有 OrderID 大小為 125、 777 或 999 的列會被保留。
經過使用「重要訂單列表」參數及10%最低利潤率後的最終表格截圖。