共用方式為


設定數據欄位

當您建立視覺效果時,視覺效果會根據指派的數據欄位來呈現。 本文說明如何使用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 結果陣列中使用目標的索引。