靜態嵌入的參數

也稱為:簽署嵌入或獨立嵌入的參數。

參數是透過嵌入網址在 Metabase 與您的網站之間傳遞的資訊片段。您可以使用參數來指定 Metabase 項目在您網站上的 iframe 內應如何呈現和運作。

參數類型

參數可以是已簽署或未簽署。

已簽署參數

已簽署參數,例如篩選條件名稱和值,必須新增至您的伺服器程式碼。

未簽署參數

未簽署參數,例如外觀設定,應直接新增至 iframe 的 src 屬性。

將篩選條件小工具新增至靜態嵌入

您可以使用可編輯參數篩選條件小工具新增至嵌入式儀表板或 SQL 問題。

  1. 前往您的儀表板或 SQL 問題。請確認您已設定儀表板篩選條件SQL 變數
  2. 按一下共用圖示 > 將此項目嵌入應用程式中
  3. 參數下方,您會找到儀表板篩選條件或 SQL 變數的名稱。
  4. 為每個應在嵌入中取得篩選條件小工具的參數選取可編輯
  5. 按一下發布以儲存您的變更。
  6. 新增或更新伺服器上的程式碼,以符合 Metabase 產生的程式碼

可編輯參數負責將篩選條件值從嵌入式篩選條件小工具(顯示在 iframe 上)傳遞到原始儀表板或 SQL 問題(在您的 Metabase 中)上的篩選條件。

當原始問題或儀表板需要值時,您無法停用參數

如果儀表板或問題上的篩選條件設定為一律需要值,則您在嵌入時將無法停用參數。

使用預設值填入嵌入式篩選條件小工具

如果您想為您的可編輯篩選條件小工具設定預設值,您可以將該預設值傳遞至 iframe 的 src 屬性中對應的參數名稱

your_embedding_url?parameter_name=value

假設您的嵌入式儀表板具有連接到名為「Breakfast」的可編輯參數的篩選條件。如果您想將「Breakfast」篩選條件的預設值設定為「Scrambled eggs」

your_embedding_url?breakfast=Scrambled_eggs

若要為多個篩選條件指定預設值,請使用 (&) 符號分隔篩選條件

your_embedding_url?breakfast=Scrambled_eggs&lunch=Grilled_cheese

您可以透過使用 (&) 符號分隔 key=value 配對,為篩選條件設定多個預設值

your_embedding_url?breakfast=Scrambled_eggs&breakfast=Bacon

從靜態嵌入中隱藏篩選條件小工具

如果您有很多可編輯參數(導致許多篩選條件小工具),您可以透過將 #hide_parameters 新增至 iframe 的 src 屬性中 URL 的結尾,從靜態嵌入中隱藏它們

your_embedding_url#hide_parameters=parameter_name

例如,如果您想從嵌入式儀表板中隱藏名為「Breakfast」的篩選條件

your_embedding_url#hide_parameters=breakfast

您可以透過使用逗號分隔參數名稱來隱藏多個篩選條件小工具

your_embedding_url#hide_parameters=breakfast,lunch

您也可以同時為參數指派預設值隱藏其篩選條件小工具

your_embedding_url?breakfast=Scrambled_eggs#hide_parameters=breakfast

未簽署參數語法

每當您將參數新增至 iframe 的 src 屬性中的嵌入網址時,請注意

  • 參數名稱為小寫。
  • 參數區分大小寫(值必須與您的資料相符)。
  • 空格應替換為底線。

使用鎖定參數限制靜態嵌入中的資料

如果您想限制嵌入式儀表板或 SQL 問題中顯示的資料,您可以設定鎖定參數。鎖定參數會在結果顯示給靜態嵌入中的人員之前篩選儀表板或 SQL 問題中的資料。

  1. 前往您的儀表板或 SQL 問題。請確認您已設定儀表板篩選條件SQL 變數
  2. 按一下共用圖示 > 將此項目嵌入應用程式中
  3. 參數下方,您會找到儀表板篩選條件或 SQL 變數的名稱。
  4. 為每個您想要使用來限制資料的參數選取鎖定
  5. 選用:在預覽鎖定參數下方選取一個值,以查看受限制的資料外觀。
  6. 按一下發布以儲存您的變更。
  7. 新增或更新伺服器上的程式碼,以符合 Metabase 產生的程式碼

您可以使用鎖定參數,根據您的 Web 伺服器擷取的屬性(例如使用者名稱或租戶 ID)顯示篩選後的資料。如需更多範例,請參閱參考應用程式存放庫

鎖定參數會將選取的篩選條件值套用至您的原始儀表板或 SQL 問題,但它們不會顯示為您嵌入中的篩選條件小工具。鎖定參數也可能會限制您的可編輯篩選條件小工具中顯示的值。

如果您只想要求參數的值,您可以將篩選條件設定為可編輯,並將基礎問題或儀表板設定為一律需要值

更新鎖定參數

如果您需要變更鎖定參數,請記住以下事項。

在您的伺服器程式碼中包含所有鎖定參數

一旦您發布具有鎖定參數的圖表或儀表板,您必須在伺服器程式碼中包含鎖定參數的名稱。如果您排除參數名稱,記錄檔會溫和地提醒您:您必須在 JWT 中為 :parameter 指定值

若要關閉鎖定參數,請在 JWT 中傳遞空陣列作為其值

如果您不希望套用鎖定篩選條件,您可以傳遞空陣列 [] 作為 JWT 中參數的值。

確認篩選條件名稱與鎖定參數名稱相符

如果您變更用作鎖定參數的查詢產生器篩選條件的名稱,請務必同時更新伺服器程式碼中的參數名稱和值。如果您的鎖定參數連接到SQL 變數,則您不需要變更參數的名稱和值。

多個鎖定參數或多個值

伺服器程式碼中鎖定參數的值應與篩選條件的值完全相符。設定多個鎖定參數,或將多個值傳遞至鎖定參數的最佳方式,是在預覽鎖定參數下方選取篩選條件值,並預覽 Metabase 產生的伺服器程式碼

一起使用多個鎖定參數將使用 AND 而非 OR 進行篩選。如果您只想套用鎖定參數的子集,則必須告知 Metabase 忽略其他鎖定參數

鎖定參數會限制其他可編輯參數可用的值

由於鎖定參數會在結果顯示在嵌入中之前篩選資料,因此鎖定參數會限制其他可編輯篩選條件小工具可用的值。

例如,假設您要嵌入具有兩個篩選條件(州和城市)的儀表板。如果您使用值「Vermont」鎖定「州」參數,Metabase 將僅在儀表板上顯示「城市」篩選條件小工具,且該「城市」篩選條件小工具的下拉式選單將僅限於 Vermont 的城市。雖然您沒有明確連結這兩個篩選條件,但這兩個篩選條件的行為隱含地類似連結篩選條件

具有 SQL 問題的儀表板上的鎖定參數

如果您的鎖定參數連結到儀表板篩選條件,而該篩選條件又連結到 SQL 問題,則您將只能為鎖定參數選擇單個值。

例如,假設您有一個名為「Breakfast」的儀表板篩選條件,其值為「Hash browns」、「Muffin」和「Waffles」。如果「Breakfast」篩選條件連結到儀表板上的任何 SQL 問題,您將只能為連結到「Breakfast」篩選條件的鎖定參數選擇一個選項。

使用鎖定參數來支援應用程式中的自訂小工具

由於 Metabase 不會將鎖定參數顯示為篩選條件小工具,因此您可以使用鎖定參數來支援您在應用程式中建置的自訂篩選條件小工具。您可能想要建置自己的篩選條件小工具以

  • 使小工具與應用程式的外觀和風格更加一致。
  • 包含自訂邏輯。例如,讓篩選條件小工具記住最近的值。
  • 在應用程式的不同部分以不同方式重複使用一個儀表板。例如,您可能有一個具有多個鎖定參數的儀表板,並且在一個案例中使用一個參數,而在另一個案例中使用另一個參數。就像銷售儀表板在應用程式的一個部分中按「區域」鎖定,在另一個部分中按「團隊」鎖定一樣。

自訂靜態嵌入的外觀

Look and feel: appearance settings on static embed

您可以透過將雜湊參數(例如,#theme=night)新增至 iframe 的 src 屬性中 URL 的結尾,來變更嵌入項目的外觀。

例如,以下嵌入網址將以深色模式顯示嵌入項目,不含邊框且帶有原始標題

your_embedding_url#theme=night&bordered=false&titled=true

您可以從問題或儀表板的嵌入外觀設定中預覽外觀設定。

參數名稱 可能的值
background true(預設值)、false。僅限儀表板。
bordered true(預設值)、false。
locale\* 例如,locale=ko。請參閱語言環境列表
titled true(預設值)、false。
theme null(預設值)、night。theme=transparent 應該可以運作,但已被棄用(請參閱透明背景
refresh(僅限儀表板) 整數(秒,例如,refresh=60)。
font* 字型名稱
downloads** true(預設值)、false。

* 在 ProEnterprise 方案中提供

** 停用下載在 ProEnterprise 方案中提供。

如需全域外觀設定(例如,整個 Metabase 執行個體中使用的色彩和字型),請參閱自訂 Metabase 的外觀

設定靜態嵌入的語言

靜態嵌入的語言環境僅在 ProEnterprise 方案(自架設和 Metabase Cloud 上)中提供。

若要變更靜態嵌入的 UI 語言,您可以設定其語言環境。例如,若要將公開連結的語言設定為韓文,您可以附加 #locale=ko

https://metabase.example.com/public/dashboard/7b6e347b-6928-4aff-a56f-6cfa5b718c6b?category=&city=&state=#locale=ko

如果您有多個參數,請使用 & 符號 & 分隔它們

category=Gadget&state=Vermont#theme=night&locale=ko

locale 參數僅變更 Metabase UI 元素的語言。內容的語言由建立項目的人員定義。舉例來說,Metabase 不會翻譯問題的名稱,但 Metabase 翻譯 UI 文字「匯出成 PDF」。

嵌入的透明背景

讓嵌入內容透明取決於嵌入的類型

  • 儀表板:設定 background=falsebackground 參數可以與 theme 參數結合使用(例如,background=false&theme=night)。
  • 問題:設定 theme=transparent(已棄用,但仍支援)。

停用嵌入問題或儀表板的下載功能

停用下載功能僅適用於 ProEnterprise 方案(包括自架託管和 Metabase Cloud)。

預設情況下,Metabase 會在嵌入問題中包含「下載」按鈕,並在嵌入儀表板中包含「匯出成 PDF」選項。您可以透過在 iframe 的 src 屬性的嵌入網址中設定 downloads=false 來移除下載結果的選項,請參閱自訂靜態嵌入的外觀

如果在您預期應可使用下載選項時卻未出現,請檢查 iframe 的 src 屬性中的網址是否包含 downloads=true 參數。

最大請求大小

靜態嵌入網址(包括所有參數)的最大長度是您的 MB_JETTY_REQUEST_HEADER_SIZE 環境變數的值。預設值為 8192 位元組。

如果您的靜態嵌入網址超過最大標頭大小,您會看到類似 URI too long 的記錄訊息。您可以更新環境變數以接受更大的標頭。如果您使用 Proxy 伺服器,您可能也需要在伺服器上設定對應的屬性。

延伸閱讀

閱讀其他 Metabase 版本的說明文件。