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. DerdataRole
-Parameter entspricht der Datenrollename
Eigenschaft. Verwenden Sie diegetCapabilities
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.