Mit der API für visuelle Filter können Sie Daten in Power BI-Visuals filtern. Der Hauptunterschied zwischen der Filter-API und anderen Möglichkeiten zum Auswählen von Daten ist die Art, wie sie sich auf andere Visuals im Bericht auswirken. Wenn ein Filter auf ein Visual angewendet wird, werden trotz Hervorhebungsunterstützung durch andere Visuals nur die gefilterten Daten in allen Visuals angezeigt.
Die Datei capabilities.json sollte ein filter-Objekt im general-Abschnitt enthalten, um Filter für das Visual zu aktivieren.
Die Schnittstellen der API für Visuals stehen im Paket powerbi-models zur Verfügung. Dieses Paket enthält auch Klassen zum Erstellen von Filterinstanzen.
Windows-Eingabeaufforderung
npm install powerbi-models --save
Wenn Sie eine ältere Version der Tools verwenden (vor 3.x.x), schließen Sie powerbi-models in das Visualpaket ein. Weitere Informationen finden Sie in der Kurzanleitung Hinzufügen der API für erweiterte Filter zum benutzerdefinierten Visual. Um herauszufinden, welche Version Sie verwenden, überprüfen Sie die apiVersion in der Datei pbiviz.json.
Die SQL-Entsprechung des obigen Beispiels lautet wie folgt:
SQL
SELECT * FROMtableWHERE col1 IN ( 1 , 2 , 3 )
Sie können die BasicFilter-Klasse in powerbi-models verwenden, um einen Filter zu erstellen.
Wenn Sie eine ältere Version des Tools verwenden, sollten Sie wie im folgenden Code gezeigt eine models-Instanz im window-Objekt mithilfe von window['powerbi-models'] abrufen:
JavaScript
let categories: DataViewCategoricalColumn = this.dataView.categorical.categories[0];
let target: IFilterColumnTarget = {
table: categories.source.queryName.substr(0, categories.source.queryName.indexOf('.')),
column: categories.source.displayName
};
let values = [ 1, 2, 3 ];
let filter: IBasicFilter = newwindow['powerbi-models'].BasicFilter(target, "In", values);
Das Visual ruft den Filter mithilfe der applyJsonFilter()-Methode für die Hostschnittstelle IVisualHost auf, die in der Konstruktormethode für das Visual bereitgestellt wird.
Die erweiterte Filter-API unterstützt die komplexe Datenpunktauswahl über mehrere Visuals hinweg und die Filterung von Abfragen, die auf mehreren Kriterien basieren (z. B. LessThan, Contains, Is, IsBlank usw.).
Der Filter wurde in der Visuals-API 1.7.0 eingeführt.
Im Gegensatz zur Basic-API gilt in der erweiterten Filter-API Folgendes:
target erfordert sowohl einen table- als auch einen column-Namen (die Basic-API hatte soeben column).
Operatoren sind And und Or (im Gegensatz zu In).
Der Filter verwendet Bedingungen (less than (kleiner als), greater than (größer als) usw.) anstelle von Werten mit der Schnittstelle:
Der operator-Parameter kann die folgenden Bedingungsoperatoren aufweisen: None, LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, Contains, DoesNotContain, StartsWith, DoesNotStartWith, Is, IsNot, IsBlank und „IsNotBlank“.
JavaScript
let categories: DataViewCategoricalColumn = this.dataView.categorical.categories[0];
let target: IFilterColumnTarget = {
table: categories.source.queryName.substr(0, categories.source.queryName.indexOf('.')), // table
column: categories.source.displayName // col1
};
let conditions: IAdvancedFilterCondition[] = [];
conditions.push({
operator: "LessThan",
value: 0
});
let filter: IAdvancedFilter = newwindow['powerbi-models'].AdvancedFilter(target, "And", conditions);
// invoke the filter
visualHost.applyJsonFilter(filter, "general", "filter", FilterAction.merge);
Die Tupelfilter-API wurde in der Visuals-API 2.3.0 eingeführt. Sie ähnelt der API für einfache Filter, ermöglicht Ihnen aber das Definieren von Bedingungen für mehrere Spalten und Tabellen.
Die Filterschnittstelle wird im folgenden Code gezeigt:
let target: ITupleFilterTarget = [
{
table: "DataTable",
column: "Team"
},
{
table: "DataTable",
column: "Value"
}
];
let values = [
[
// the first column combination value (or the column tuple/vector value) that the filter will pass through
{
value: "Team1"// the value for the `Team` column of the `DataTable` table
},
{
value: 5// the value for the `Value` column of the `DataTable` table
}
],
[
// the second column combination value (or the column tuple/vector value) that the filter will pass through
{
value: "Team2"// the value for `Team` column of `DataTable` table
},
{
value: 6// the value for `Value` column of `DataTable` table
}
]
];
let filter: ITupleFilter = {
$schema: "https://powerbi.com/product/schema#tuple",
filterType: FilterType.Tuple,
operator: "In",
target: target,
values: values
}
// invoke the filter
visualHost.applyJsonFilter(filter, "general", "filter", FilterAction.merge);
Wichtig
Die Reihenfolge der Spaltennamen und Bedingungswerte ist wichtig.
Die SQL-Entsprechung des obigen Codes lautet wie folgt:
SQL
SELECT * FROM DataTable WHERE ( Team = "Team1"ANDValue = 5 ) OR ( Team = "Team2"ANDValue = 6 );
Wiederherstellen der JSON-Filter aus der Datenansicht
Ab API-Version 2.2.0 können Sie die JSON-Filter von VisualUpdateOptions wie im folgenden Code gezeigt wiederherstellen:
Wenn Sie zwischen Lesezeichen wechseln, ruft Power BI die update-Methode des Visuals auf, und das Visual ruft ein entsprechendes filter-Objekt ab. Weitere Informationen finden Sie unter Hinzufügen von Lesezeichenunterstützung für Power BI-Visuals.
Beispiel für JSON-Filter
In der folgenden Abbildung wird ein Beispiel für JSON-Filtercode veranschaulicht:
Bereinigen des JSON-Filters
Übergeben Sie einen null-Wert an die Filter-API, um den Filter zurückzusetzen oder zu löschen.
TypeScript
// invoke the filter
visualHost.applyJsonFilter(null, "general", "filter", FilterAction.merge);
Das Filtern von Berichten ist ein komplexes Thema, da es viele Techniken zum Filtern eines Microsoft Power BI-Berichts gibt. Mit der Komplexität geht jedoch auch die Möglichkeit einher, Berichte zu erstellen, die den jeweiligen Anforderungen und Erwartungen entsprechen.
Erfahren Sie mehr über die Methoden und Best Practices, die den geschäftlichen und technischen Anforderungen für die Modellierung, Visualisierung und Analyse von Daten mit Microsoft Power BI entsprechen.
Erfahren Sie mehr über die erforderliche API, damit Power BI-Visualisierungen Power BI benachrichtigen können, dass sie für den Export nach PowerPoint oder PDF bereit sind.
In diesem Artikel wird erläutert, wie Sie Power BI-Visuals erstellen, die nach Kategorie filtern können, damit Sie verschiedene Datentypen ausführlich mit den Power BI Embedded Analytics erkunden können.
Dieser Artikel enthält eine Liste der einzelnen API-Versionen für Power BI-Visuals und die wichtigsten Änderungen, die bei den einzelnen Updates vorgenommen wurden.
Hier erfahren Sie, wie Sie externe Bibliotheken in Power BI-Visuals installieren, importieren und aufrufen, um Ihre Visualisierungen mit zusätzlichen Funktionen zu verbessern.
Dieser Artikel enthält einen umfassenden Leitfaden zur Verwendung der IVisual-API für Power BI-Visualisierungen, einschließlich schrittweiser Anleitungen und Codebeispiele.
In diesem Artikel wird beschrieben, wie Sie die Power BI Visuals-API verwenden, um zu bestimmen, welche Berechtigungen aktiviert sind und wie Sie die erteilten Berechtigungen überprüfen.
In diesem Artikel wird beschrieben, wie Sie die Unterauswahl-API für Power BI-Visuals verwenden, um Benutzern das einfache Formatieren von Visuals zu ermöglichen.