次の方法で共有


データ フィールドを構成する

視覚エフェクトを作成すると、割り当てられたデータ フィールドに従ってビジュアルがレンダリングされます。 この記事では、Power BI レポート作成 API を使用してデータ フィールドを操作し、データ ロールに割り当てる方法について説明します。 ビジュアルに含まれるデータ ロールを確認するには、getCapabilities メソッドを使用します。

データ フィールドを追加する

ビジュアル データ ロールにデータ フィールドを追加するには、ビジュアルの addDataField メソッドを呼び出します。

addDataField(dataRole: string, dataField: models.IBaseTarget, index?: number): Promise<models.IError>

このメソッドには、次の変数があります。

  • dataRole - データ フィールドを割り当てるデータ ロールの名前。 dataRole パラメーターは、データ ロールの name プロパティと同じです。 使用可能なデータ ロールと名前を取得するには、getCapabilities メソッドを使用します。
  • dataField - データ ロールに追加するデータ フィールド。 データ フィールドはターゲット オブジェクトであり、列、集計を含む列、メジャー、階層、または集計を含む階層にすることができます。 ターゲットの詳細については、「ターゲットを使用して、で動作するデータ フィールドを選択する」を参照してください。
  • index (省略可能) - データ フィールドを追加するインデックス。 既定の動作は、フィールドを最後に追加することです。

例えば:

const dataField = {
  $schema: "http://powerbi.com/product/schema#column",
  table: "Store",
  column: "Name"
};

await visual.addDataField('Category', dataField);

データ フィールドを取得する

データ ロールで定義されているデータ フィールドの一覧を取得するには、ビジュアルの getDataFields メソッドを呼び出します。

getDataFields(dataRole: string): Promise<models.IBaseTarget>

このメソッドには、データ フィールドの取得元となるデータ ロールの名前である dataRole 変数があります。

例えば:

let dataField = await visual.getDataFields('Category');

データ フィールドを削除する

データ ロールに適用されているデータ フィールドを削除するには、ビジュアルの removeDataField メソッドを呼び出します。

removeDataField(dataRole: string, index: number): Promise<models.IError>

このメソッドには、次のパラメーターがあります。

  • dataRole - データ フィールドが関連付けられているターゲット データ ロールの名前。
  • index - 削除するデータ フィールドのインデックス。

例えば:

await visual.removeDataField('Category', 2);

データ フィールドのインデックスを取得するには、getDataFields 結果配列でターゲットのインデックスを使用できます。