Freigeben über


Konfigurieren von Datenfeldern

Wenn Sie eine Visualisierung erstellen, wird das visuelle Element gemäß den zugewiesenen Datenfeldern gerendert. In diesem Artikel wird gezeigt, wie Sie power BI-Berichtserstellungs-APIs verwenden, um mit Datenfeldern zu interagieren und sie Datenrollen zuzuweisen. Verwenden Sie die getCapabilities Methode, um zu bestimmen, welche Datenrollen ein visuelles Element besitzt.

Hinzufügen eines Datenfelds

Rufen Sie zum Hinzufügen eines Datenfelds zu einer visuellen Datenrolle die addDataField Methode des visuellen Elements auf.

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

Diese Methode hat die folgenden Variablen:

  • dataRole – Der Name der Datenrolle, der das Datenfeld zugewiesen werden soll. Der dataRole-Parameter entspricht der Datenrolle name Eigenschaft. Verwenden Sie die getCapabilities Methode, um die verfügbaren Datenrollen und Namen abzurufen.
  • dataField – Das Datenfeld, das der Datenrolle hinzugefügt werden soll. Das Datenfeld ist ein Zielobjekt, das eine Spalte, spalte mit Aggregation, Measure, Hierarchie oder Hierarchie mit Aggregation sein kann. Weitere Informationen zu Zielen finden Sie unter Verwenden von Zielen, um auszuwählen, welches Datenfeld aufreagieren soll.
  • index (optional) – Der Index, zu dem das Datenfeld hinzugefügt werden soll. Das Standardverhalten ist, dass das Feld zuletzt hinzugefügt werden soll.

Zum Beispiel:

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

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

Abrufen von Datenfeldern

Rufen Sie die getDataFields Methode des visuellen Elements auf, um eine Liste der Datenfelder abzurufen, die in einer Datenrolle definiert sind.

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

Diese Methode weist die dataRole Variable auf, bei der es sich um den Namen der Datenrolle handelt, aus der die Datenfelder abgerufen werden sollen.

Zum Beispiel:

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

Entfernen von Datenfeldern

Um ein Datenfeld zu entfernen, das auf eine Datenrolle angewendet wird, rufen Sie die removeDataField Methode des visuellen Elements auf.

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

Diese Methode hat die folgenden Parameter:

  • dataRole – Der Name der Zieldatenrolle, der das Datenfeld zugeordnet ist.
  • index – Der Index des zu löschenden Datenfelds.

Zum Beispiel:

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

Um den Index des Datenfelds abzurufen, können Sie den Index des Ziels im getDataFields Ergebnisarray verwenden.