データ フィールドを構成する
視覚エフェクトを作成すると、割り当てられたデータ フィールドに従ってビジュアルがレンダリングされます。 この記事では、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
結果配列でターゲットのインデックスを使用できます。
関連コンテンツ
- レポート ビジュアル を埋め込む
- ビジュアル を作成する
- ビジュアル の機能を取得する