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: []
}
たとえば、視覚エフェクトが次のようなデータ ビューの更新を受け取ったとします。
配列は number[] 型であり、ユーザーが選んだ項目の ID フィールドを含んでいます。
identityIndex は、セマンティック モデルの値配列における値のインデックスに対応します (下の例参照)。
上記の例では、{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] が Aliyah と Abigail の値に対応します。
ユーザーの選択を処理するには、上の例では、最初の 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 コミュニティを利用してください。