分享方式:


身分識別篩選 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] 的目標陣列會對應至 AliyahAbigail 的值。

  • 若要處理上一個範例中的使用者選取項目,請按下第一個 [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 社群