取得視覺效果的功能
視覺效果的功能是視覺效果類型可以接受的數據角色。 例如,此影像會顯示 [視覺效果] 窗格中 叢集柱形圖 的視覺功能。
取得視覺效果的功能,以判斷報表或視覺效果層級所顯示的數據。 這兩個用來取得功能傳回的 API IVisualCapabilities
。
export interface IVisualCapabilities {
dataRoles?: IVisualDataRole[];
}
dataRoles
定義視覺效果預期的角色,以及應該如何填入這些角色。 此數據需要使用下列視覺數據系結 API。 每個 API 都預期目標 dataRole
name
做為輸入參數。
dataRoles
是由 IVisualDataRole
介面表示:
interface IVisualDataRole {
name: string;
kind: VisualDataRoleKind;
kindPreference?: VisualDataRoleKindPreference;
displayName?: string;
description?: string;
}
-
名稱 -
VisualDataRole
的唯一識別符。 - 種類 - 表示視覺效果數據的角色種類。
- kindPreference - 指出要使用的角色類型的視覺喜好設定。
- displayName - 角色的顯示名稱。
- 描述 - 工具提示的文字。
您可以擷取現用視覺效果和安裝在報表上的自定義視覺效果的視覺效果元數據。
如何在報表層級取得視覺效果功能
使用 getVisualCapabilities
API 來尋找顯示在報表層級的視覺數據。
getVisualCapabilities(visualType: string): Promise<models.IVisualCapabilities>
例
以下是在報表層級 條形圖中尋找功能 視覺效果的程式碼範例。
let capabilities = await report.getVisualCapabilities('barChart');
如何在視覺層級取得視覺功能
使用 getCapabilities
API 來判斷視覺效果層級上顯示的數據。
getCapabilities(): Promise<models.IVisualCapabilities>
例
以下是在視覺效果層級尋找視覺效果中的功能的程式代碼範例。
let capabilities = await visual.getCapabilities();
例如,取得 clusteredColumnChart
的功能會傳回下列內容:
{
"dataRoles": [
{
"name": "Category",
"displayName": "Axis",
"description": "Fields to place on the horizontal or vertical axis",
"kind": 0
},
{
"name": "Series",
"displayName": "Legend",
"description": "The categorical field to show for color",
"kind": 0
},
{
"name": "Y",
"displayName": "Values",
"description": "The numeric amounts to plot",
"kind": 1
},
{
"name": "Rows",
"displayName": "Small multiples",
"description": "Split your visual into multiple, smaller visuals based on your selected fields",
"kind": 0
},
{
"name": "Tooltips",
"displayName": "Tooltips",
"description": "Add additional data fields that people can see in the tooltip when they hover on part of this visualization.",
"kind": 1
}
]
}