參數
什麼是參數?
參數是一種特殊的變數類型,用於指定查詢的輸入。
設定參數讓終端使用者輸入值(例如在儀表板或報表中),以變更查詢傳回的資料,通常是依指標或維度篩選。參數會將該值傳遞給正在執行的查詢,而該查詢的結果將取決於使用者輸入的任何值。
參數 vs. 變數 vs. 引數
您可能會看到「參數」與「變數」或「引數」交替使用,因此在此處指出一些區別是值得的。參數是一種變數類型;它只是一種特定的輸入值會傳遞給正在執行的程式或查詢的變數。但是,並非所有變數都是參數 — 您也可能有在程式或查詢中設定的變數,並且無法由另一端的人員修改。
引數是指程式或查詢執行時傳遞的值本身。例如,如果您將參數設定為 {{productID}}
,並輸入值 34
,則您的引數為 34。參數定義將會有一個輸入值,但輸入值本身就是引數。
因此,是的,從技術上講,這些術語都有所不同,但是可以互換使用它們,只要您通常指的是將值傳遞到其中以便篩選結果的位置或容器即可。
Metabase 中的參數
在 Metabase 中,您可以使用篩選條件小工具或透過 URL 設定參數。參數在 Metabase 中以幾種不同的方式發揮作用
SQL 範本
透過將參數新增至 Metabase 中的 SQL 查詢,您可以建立 SQL 範本,將 篩選條件小工具新增至這些查詢,讓使用者在執行該查詢時可以輕鬆變更該參數的值。
如果我們想要在使用 範例資料庫的 People
表格的每個州/省的客戶計數查詢上建立 SQL 範本,我們將使用
SELECT count(*)
FROM people
WHERE state = {{State}}
透過將 {{State}}
包裹在雙大括號中,我們建立了一個參數,該參數會將篩選條件小工具新增至此問題,讓使用者可以輸入他們想要的州/省,而無需變更查詢本身的文字,如圖 1 所示

儀表板篩選條件
儀表板篩選條件可讓您設定套用至儀表板的參數。例如,您可以建立儀表板篩選條件,讓使用者輸入 State
值,並將該篩選條件連結到儀表板上的問題或卡片中的 State
欄。然後,當使用者輸入他們想要的值時(例如圖 2 中顯示的 North Carolina),他們會看到這些卡片相應地變更。

當您在儀表板篩選條件中輸入值時,您會注意到 URL 變更為包含該值。
自訂目的地
您也可以將參數插入 URL 中,以指示使用者按一下儀表板中的圖表時會發生什麼事。例如,您可以使用卡片結果中的值來建構 URL,將使用者導向另一個儀表板或外部網站,並將該 ID 作為 URL 的一部分,來設定自訂目的地。
假設您有一個儀表板,其中包含追蹤您庫存中不同產品銷售情況的問題,以及一個儀表板篩選條件,可讓使用者輸入他們想要查看的產品。您可以更進一步,將該產品的 ID 傳遞到自訂目的地,使用該 ID 值參數化 URL,並將使用者傳送到您網站上該產品的頁面。當您造訪該網站時,其 URL 可能看起來像這樣
https://www.your-website.com/products/id?productID=34
在這種情況下,URL 中的 productID=34
就是您的參數。
嵌入
當您在應用程式中嵌入 Metabase 問題和儀表板時,您可以設定參數來自訂不同使用者在檢視這些嵌入時看到的內容。