次の方法で共有


ID フィルター API

ID フィルター API を使うと、セマンティック クエリを使ってカテゴリ データをフィルター処理できる視覚エフェクトを作成できます。
数式ではなく、データ ポイントによってデータをフィルター処理します。

API は、ユーザーの選択と表示するデータ ポイントを追跡します。 データ ポイントは配列に保存され、配列内の位置で参照されます。

この API は、次のようなシナリオで役立ちます。

  • キーにグループ化されたセマンティック モデルを使ったカスタム視覚エフェクトの場合
  • 古い API (2.2 より前) を使った視覚エフェクトを、新しい API に移行する
  • インデックス配列の識別を使った選択を可能にする

Note

ID フィルター API は、API バージョン 5.1 から入手できます。使用しているバージョンを確認するには、pbiviz.json ファイルの apiVersion を確認してください。

ID フィルター モデルは、IIdentityFilter インターフェイスに基づいています。

    private filter: IIdentityFilter = {
        $schema: “”,
        filterType: FilterType.Identity,
        operator: "In",
        target: []
    }

たとえば、視覚エフェクトが次のようなデータ ビューの更新を受け取ったとします。

Screenshot of sample array.

配列は number[] 型であり、ユーザーが選んだ項目の ID フィールドを含んでいます。

identityIndex は、セマンティック モデルの値配列における値のインデックスに対応します (下の例参照)。

Screenshot showing array values of names.

上記の例では、{identityIndex: 0} = "Aaliyah" {identityIndex: 1} = "Aaliyah" {identityIndex: 02 = "Aaliyah" など。

ID フィルター API の使用方法

ID フィルター 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 より前のバージョンを使って作成された視覚エフェクトで ID フィルターをサポートするには、capabilities.json ファイルに次の行を追加します。

    "migration": {
        "filter": {
            "shouldUseIdentityFilter": true
        }
    }

これらの行により、選択項目が ID フィルターに変換されます。

Note

この手順は、古い API で作成された既存の視覚エフェクトにのみ必要です。 新しい視覚エフェクトでは、これを追加する必要はありません。

次のステップ

Power BI ビジュアル選択を使用し、対話機能をビジュアルに追加する

その他の質問 Power BI コミュニティを利用してください。