身分識別篩選 API
身分識別篩選 API 可讓您建立視覺效果,以使用語意查詢來篩選類別資料。
它會透過資料點而不是數學運算式來篩選資料。
API 會追蹤使用者選取項目,以及要顯示哪些資料點。 資料點會儲存在陣列中,並由其在陣列中的位置參考。
此 API 在下列案例中很有用:
- 使用語意模型搭配索引鍵群組的自訂視覺效果
- 將使用舊版 API (早於 2.2) 的視覺效果移轉至較新的 API
- 允許使用識別索引陣列進行選取
注意
身分識別篩選 API 可從 API 5.1 版取得,若要找出您使用的版本,請檢查 pbiviz.json 檔案中的 apiVersion
。
身分識別篩選模型是以 IIdentityFilter 介面為基礎。
private filter: IIdentityFilter = {
$schema: “”,
filterType: FilterType.Identity,
operator: "In",
target: []
}
例如,如果視覺效果收到下列資料檢視更新:
陣列的類型編號為 [],其中包含使用者選取項目的身分識別欄位。
identityIndex 會對應至語意模型值陣列中值的索引 (請參閱下列範例)。
在上述範例中:{identityIndex: 0} = "Aaliyah" {identityIndex: 1} = "Aaliyah" {identityIndex: 02 = "Aaliyah" 等等。
如何使用身分識別篩選 API
若要使用身分識別篩選 API,您的 powerbi-models 版本必須是 1.9.1 或更高。
將下列屬性新增為 visual.ts 類別的成員:
private filter: IIdentityFilter = { $schema: “”, filterType: FilterType.Identity, operator: "In", target: [] }
若要處理 Power BI 更新,請從 'VisualUpdateOptions' 中的 'jsonFilters' 讀取目標陣列,並將其轉譯為對應的值。 這些值是已選取的值。 在上一個範例中,[0,10] 的目標陣列會對應至 Aliyah 和 Abigail 的值。
若要處理上一個範例中的使用者選取項目,請按下第一個 [Abigail],將值 8 新增至篩選目標陣列,並使用下列命令傳送:
this.visualHost.applyJsonFilter(this.filter, "general", "filter", powerbi.FilterAction.merge);
使用舊版 API 移轉視覺效果
從 API 5.1.0 開始,若要支援使用 2.2 之前版本所建立之視覺效果的身分識別篩選,請將下列幾行新增至您的 capabilities.json 檔案:
"migration": {
"filter": {
"shouldUseIdentityFilter": true
}
}
這幾行會將選取項目轉換成身分識別篩選。
注意
只有使用舊版 API 建立的現有視覺效果才需要此步驟。 較新的視覺效果不需要新增此項目。
相關內容
使用 Power BI 視覺效果選取項目,將互動功能新增至視覺效果中
更多問題嗎? 試試 Power BI 社群。