共用方式為


設定資料欄位

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

下一步