Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 DatenrollenameEigenschaft. Verwenden Sie diegetCapabilitiesMethode, 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. Die Liste enthält sowohl ausgeblendete als auch sichtbare Felder.
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.
Festlegen der Sichtbarkeit eines Datenfelds
Um die Sichtbarkeit von Datenfeldern zu steuern, verwenden Sie die setFieldHidden Methode für das visuelle Element. Nur aggregierte Felder, Measures und visuelle Berechnungen können ausgeblendet oder angezeigt werden. Diese Aktion entspricht dem Umschalten der Feldsichtbarkeit im Bearbeitungsmodus für visuelle Berechnungen.
setFieldHidden(dataRole: string, index: number, isHidden: boolean): Promise<models.IError>
Diese Methode hat die folgenden Parameter:
-
dataRole– Der Name der Zieldatenrolle, der das Datenfeld zugeordnet ist. -
index- Der Index des Datenfelds, das ausgeblendet oder einblenden soll. -
isHidden- Boolescher Wert, um zu bestimmen, wo er ausgeblendet werden soll oder nicht
Zum Beispiel:
await visual.setFieldHidden('Values', 0, /*isHidden*/ true);
Festlegen der Formatzeichenfolge eines Datenfelds
Rufen Sie die setFieldFormatString Methode des visuellen Elements auf, um die angezeigten Daten aus einem bestimmten Feld zu formatieren.
setFieldFormatString(dataRole: string, index: number, formatString: string): Promise<models.IError>
Diese Methode hat die folgenden Parameter:
-
dataRole– Der Name der Zieldatenrolle, der das Datenfeld zugeordnet ist. -
index- Der Index des Datenfelds zum Festlegen der Formatzeichenfolge -
formatString- Zeichenfolge im .NET-Format erwartet
Beispiel: Wenn Sie jeden Wert im Feld verwenden möchten, um $ am Anfang zu haben, gehen Sie wie folgt vor:
await visual.setFieldFormatString('Values', 0, /*formatString*/ "$0.00");
Abrufen der Formatzeichenfolge eines Datenfelds
Rufen Sie die Methode des visuellen Elements auf, um die getFieldFormatString Formatzeichenfolge eines Felds abzurufen.
getFieldFormatString(dataRole: string, index: number): Promise<string>
Diese Methode hat die folgenden Parameter:
-
dataRole– Der Name der Zieldatenrolle, der das Datenfeld zugeordnet ist. -
index- Der Index des Datenfelds zum Abrufen der Formatzeichenfolge
let formatString = await visual.getFieldFormatString('Values', 0);
Abrufen des Namens eines Datenfelds
Jedes Feld in einem visuellen Element weist einen eindeutigen Namen auf, der von seinem Anzeigenamen abgeleitet ist. Dieser eindeutige Bezeichner wird verwendet, um beim Erstellen visueller Berechnungen auf das Feld innerhalb von DAX-Ausdrücken zu verweisen. Rufen Sie zum Abrufen dieses eindeutigen Namens die getDataFieldName Methode des visuellen Elements auf.
getDataFieldName(dataRole: string, index: number): Promise<string>
Diese Methode hat die folgenden Parameter:
-
dataRole– Der Name der Zieldatenrolle, der das Datenfeld zugeordnet ist. -
index- Der Index des Datenfelds zum Abrufen des Feldnamens
let dataFieldName = await visual.getDataFieldName('Values', 0);
let visualCalcDax = `RUNNINGSUM([${dataFieldName}])`;