隱藏或顯示視覺效果標頭
內嵌在應用程式中的Power BI報表包含視覺效果,例如圖表、熱度圖和量測計。 這些視覺效果具有標頭,可讓使用者使用動作。 當您使用Power BI時,可以隱藏或顯示報表中每個視覺效果的標頭。 每個視覺效果在 [視覺效果] 窗格的 [ 格式設定] 區段中有一張卡片,稱為 [Visual 標頭]。 您可以使用該卡片來開啟和關閉視覺效果的標頭。 在 Visual 標頭中深入瞭解視覺效果標頭,。
視覺效果標頭中的動作範例包括:
- 以焦點模式開啟視覺效果。
- 向下切入或向上切入。
- 檢視目前套用至視覺效果的篩選和交叉分析篩選器。
- 開啟視覺效果的選項功能表。
有時候隱藏這些動作會很有用。 例如,當兩個視覺效果重疊時,您可能不想顯示這兩個視覺效果的標頭。
此 API 提供一種方式來隱藏或顯示報表中所有視覺效果的標頭,或只顯示特定視覺效果的標頭。 您可以設定報表載入的可見性,或呼叫報表 updateSettings
方法來變更報表載入之後的可見性,請參閱 在運行時間更新報表設定。
您可以在許多案例中使用 API,包括下列使用案例:
- 只隱藏報表中的部分視覺效果標頭。
- 在應用程式中使用商業規則,例如按下按鈕,以在載入報表之後隱藏或顯示標頭。
如何隱藏或顯示視覺效果標頭
若要隱藏或顯示 API 中的視覺標頭,您可以在報表的設定中設定特定參數。 如需在內嵌報表中設定選項的一般資訊,請參閱 設定報表設定。
視覺標頭設定
使用視覺標頭時,可見度目前是唯一可以設定的設定。 若要隱藏或顯示標頭,您可以提供視覺標頭組態物件清單。 每個物件都包含設定物件,也可以包含選取器。 選取器 識別您要套用設定的視覺效果。 在 選取器中深入了解選取器。
您提供給 API 的組態物件類型 IVisualSettings。 本文稍後會找到 範例, 示範如何在程序代碼中使用這個介面。 Power BI 模型 列出範例使用的所有介面定義。
請注意下列幾點:
- 選取器在這些設定中是選擇性的。 當您未列出任何選取器時,API 會將您的設定套用至報表中的所有視覺效果。
- 當您使用選取器時,您可以依名稱或類型指定視覺效果。 若要取得指定頁面中視覺效果的名稱和類型,請使用Page getVisuals 方法。
優先順序規則
API 會依下列順序套用組態設定:
- 儲存在報表中的設定。
- 您在內嵌組態物件中定義的設定,API 會在負載時套用。
- 您提供給
updateSettings
API 的設定。
如果多個設定可以套用至視覺效果,API 會使用套用的最後一個設定。 下一節 隱藏所有視覺效果標頭 範例說明這一點。
例子
這些範例示範使用 API 來隱藏或顯示視覺標頭的不同方式。
隱藏所有視覺效果標頭
這個簡單的案例可藉由隱藏報表中的所有視覺效果標頭,為客戶提供全新的報表檢視:
let embedConfig = {
...
settings: {
...
visualSettings: {
visualHeaders: [
{
settings: {
visible: false
}
/* No selector is listed. The API hides the headers of all the visuals in the report. */
}
]
}
}
};
...
let report = powerbi.embed(embedContainer, embedConfig);
隱藏特定視覺效果的標頭
此範例會使用選取器將可見度設定套用至單一視覺效果。 當您想要隱藏對視覺效果而言沒有意義的功能時,就會發生此案例。 在這裡情況下,請使用此程式碼:
let embedConfig = {
...
settings: {
...
visualSettings: {
visualHeaders: [
{
settings: {
visible: false
},
selector: {
$schema: "http://powerbi.com/product/schema#visualSelector",
visualName: <The name of the visual> // You can retrieve the name by using getVisuals.
}
}
]
}
}
};
...
let report = powerbi.embed(embedContainer, embedConfig);
隱藏所有視覺效果標頭,但一個視覺效果標頭
使用此程式代碼來隱藏報表中的所有視覺效果標頭,但特定視覺效果的標頭除外:
let embedConfig = {
...
settings: {
...
visualSettings: {
visualHeaders: [
{
settings: {
visible: false
}
/* No selector is listed. The API hides the headers of all the visuals in the report. */
},
{
settings: {
visible: true
},
selector: {
$schema: "http://powerbi.com/product/schema#visualSelector",
visualName: <The name of the visual> // You can retrieve the name by using getVisuals.
}
}
]
}
}
};
...
let report = powerbi.embed(embedContainer, embedConfig);
如果您想要讓多個標頭可見,您可以擴充此程序代碼。 使用 settings
中的 visible
參數設定 IVisualHeader
的其他實例,true
。 針對每個應該有可見標頭的視覺效果,將一個 IVisualHeader
實例新增至清單。
考慮和限制
- 如果您內嵌的報表處於檢視模式,您只能控制視覺標頭的可見性。
- 您只能隱藏或顯示視覺效果的整個標頭。 您無法在標頭選單中設定特定項目的可見性。
- 當您使用選取器指定視覺效果的名稱或類型時,請使用Page getVisuals 方法來取得視覺效果的名稱,這是唯一標識符。 請勿使用視覺效果的標題來設定選取器。
- 如果使用者儲存您使用 API 內嵌的報表,您定義的視覺效果設定將會儲存至報表。 您可以使用許可權層級的
View
來設定報表,而不是Edit
或Save
來避免這種情況。