Filtern eines Berichts mithilfe von Abfragezeichenfolgenparametern in der URL
Wenn Sie im Power BI-Dienst einen Bericht öffnen, hat jeder Seite des Berichts eine eigene eindeutige URL. Zum Filtern der jeweiligen Berichtsseite können Sie den Filterbereich des Berichtszeichenbereichs verwenden. Sie können aber auch die URL mit Abfragezeichenfolgenparametern versehen, um den Bericht vorab zu filtern. Das ist beispielsweise hilfreich, wenn Sie Kollegen einen bereits vorgefilterten Bericht zeigen möchten. Zum Filtern können Sie etwa der Standard-URL des Berichts die gewünschten Filterparameter hinzufügen und dann die gesamte neue URL per E-Mail versenden.
In diesem Artikel wird der Bericht „Retail Analysis Sample“ (Analysebeispiel für den Einzelhandel) verwendet. Laden Sie den Beispielbericht herunter, wenn Sie die einzelnen Schritte nachvollziehen möchten.
Verwendungsmöglichkeiten für Abfragezeichenfolgenparameter
Angenommen, Sie arbeiten mit Power BI Desktop. Sie möchten einen Bericht erstellen, der Links zu anderen Power BI-Berichten enthält, aber nur einige der enthaltenen Informationen sollen in den anderen Berichten angezeigt werden. Filtern Sie zunächst die Berichte mithilfe von Abfragezeichenfolgenparametern, und speichern Sie die URLs. Erstellen Sie anschließend eine Tabelle mit diesen neuen Berichts-URLs in Power BI Desktop. Veröffentlichen Sie den Bericht anschließend, und geben Sie ihn frei.
Auch beim Erstellen einer erweiterten Power BI-Lösung können Abfragezeichenfolgenparameter verwendet werden. In DAX wird ein Bericht erstellt, der eine gefilterte Berichts-URL dynamisch basierend auf der Auswahl des Kunden im aktuellen Bericht generiert. Wenn Kunden auf die URL klicken, werden ihnen nur die gewünschten Informationen angezeigt.
Syntax für Abfragezeichenfolgenparameter zum Filtern
Mit Parametern können Sie den Bericht nach mindestens einem Wert filtern, auch wenn dieser Wert Leerzeichen oder Sonderzeichen enthält. Die grundlegende Syntax ist recht einfach: Beginnen Sie mit der Berichts-URL, und fügen Sie dann ein Fragezeichen und Ihre Filtersyntax hinzu.
URL?filter=Tabelle/Feld eq 'Wert'
- Bei den Namen für Tabelle und Feld muss die Groß-/Kleinschreibung beachtet werden, beim Wert nicht.
- Zum Filtern können auch Felder verwendet werden, die in der Berichtsansicht ausgeblendet sind.
Feldtypen
Feldtypen können eine Zahl, ein datetime-Wert oder eine Zeichenfolge sein und müssen dem Typ entsprechen, der im semantischen Modell festgelegt ist. Das Festlegen einer Tabellenspalte auf „Zeichenfolge“ funktioniert beispielsweise nicht, wenn Sie nach einem Datums-/Uhrzeitwert oder einem numerischen Wert in einer semantischen Modellspalte suchen, die auf „Datum“ festgelegt ist (z.B. Table/StringColumn eq 1).
- Zeichenfolgen müssen mit einfachen Anführungszeichen umschlossen werden, z. B. 'Managername'.
- Für Zahlen ist keine besondere Formatierung erforderlich. Weitere Details finden Sie in diesem Artikel unter Numerische Datentypen.
- Datumsangaben und Uhrzeiten finden Sie in diesem Artikel. unter Date-Datentypen.
Auf all das gehen wir im weiteren Verlauf dieses Artikels noch näher ein.
Filtern nach einem Feld
Angenommen, die URL unseres Berichts lautet wie folgt:
Die vorherige Kartendarstellung zeigt, dass wir über Filialen in North Carolina verfügen. NC ist der Wert für „North Carolina“ im Feld Territory der Tabelle Store. Wenn Sie den Bericht so filtern möchten, dass nur Daten für Filialen in „NC“ angezeigt werden, fügen Sie der URL die folgende Zeichenfolge an:
?filter=Store/Territory eq 'NC'
Der Bericht wird für North Carolina gefiltert, und alle Visualisierungen im Bericht zeigen nur noch Daten für North Carolina.
In einem Feld nach mehr als einem Wert filtern
Verwenden Sie den Operator in anstelle von and, um im selben Feld nach mehr als einem Wert zu filtern. Die Syntax ist:
URL?filter=Tabelle/Feldin ('Wert1', 'Wert2')
Für das Beispiel oben bedeutet das: Wenn Sie den Bericht filtern möchten, sodass nur Daten für Filialen in „NC“ (North Carolina) oder „TN“ (Tennessee) angezeigt werden, fügen Sie Folgendes an die URL an:
?filter=Store/Territory in ('NC', 'TN')
In der Tabelle Operatoren weiter unten im Artikel finden Sie eine Liste mit weiteren nützlichen Operatoren.
Filtern nach mehreren Feldern
Sie können auch nach mehreren Felder filtern, indem Sie weitere Parameter zu Ihrer URL hinzufügen. Hier nochmals der ursprüngliche Filterparameter.
?filter=Store/Territory eq 'NC'
Um nach weiteren Feldern zu filtern, fügen Sie ein and und ein weiteres Feld im selben Format wie im vorherigen Beispiel hinzu. Es folgt ein Beispiel.
?filter=Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'
Operatoren
Power BI unterstützt außer and noch viele weitere Operatoren. In der folgenden Tabelle werden diese Operatoren zusammen mit dem Inhaltstyp, den sie unterstützen, aufgeführt.
Operator | Definition | String | Number | Date | Beispiel |
---|---|---|---|---|---|
and | und | ja | Ja | Ja | product/price le 200 and price gt 3.5 |
eq | Ist gleich | ja | Ja | Ja | Address/City eq 'Redmond' |
ne | Ungleich | ja | Ja | Ja | Address/City ne 'London' |
ge | Größer als oder gleich | nein | ja | Ja | product/price ge 10 |
gt | Größer als | nein | ja | Ja | product/price gt 20 |
le | Kleiner als oder gleich | nein | ja | Ja | product/price le 100 |
lt | Kleiner als | nein | ja | Ja | product/price lt 20 |
in* | Einschließlich | ja | Ja | Ja | Student/Age in (27, 29) |
* Wenn Sie in verwenden, können die Werte auf der rechten Seite von in einer durch Kommas getrennten Liste entsprechen, die in Klammern eingeschlossen wird, oder einem einzelnen Ausdruck, der eine Sammlung zurückgibt. Beispiele finden Sie im Artikel zum IN-Operator.
Numerische Datentypen
Ein Filter für Power BI-URLs kann Zahlen in den folgenden Formaten enthalten:
Zahlentyp | Beispiel |
---|---|
integer | 5 |
long | 5L oder 5l |
double | 5,5 oder 55e-1 oder 0,55e+1 oder 5D oder 5d oder 0,5e1D oder 0,5e1d oder 5,5D oder 5,5d oder 55e-1D oder 55e-1d |
decimal | 5M oder 5m oder 5,5M oder 5,5m |
float | 5F oder 5f oder 0,5e1F oder 0,5e-1d |
Date-Datentypen
Power BI unterstützt OData V3 and V4 für Date- und DateTimeOffset-Datentypen. Für OData V3 müssen Sie Datumsangaben in einfache Anführungszeichen einschließen und ihnen das Wort „datetime“ voranstellen. Einfache Anführungszeichen und das Wort „datetime“ sind in OData V4 nicht erforderlich.
Datumsangaben werden im EDM-Format (2019-02-12T00:00:00) dargestellt: Wenn Sie also ein Datum im Format YYYY-MM-DD angeben, interpretiert Power BI dieses als YYYY-MM-DDT00:00:00. Stellen Sie sicher, dass Sie Monate und Tage mit zwei Ziffern angeben, also MM und DD.
Warum ist diese Unterscheidung wichtig? Angenommen, Sie erstellen den Abfragezeichenfolgenparameter Table/Date gt '2018-08-03' . Ist der 3. August 2018 in den Ergebnissen enthalten oder wird mit dem 4. August 2018 begonnen? Power BI übersetzt die Abfrage in Table/Date gt '2018-08-03T00:00:00' . Daher enthalten die Ergebnisse alle Datumsangaben, die einen Zeitabschnitt ungleich 0 aufweisen, da diese Datumsangaben größer als '2018-08-03T00:00:00' sind.
Es gibt weitere Unterschiede zwischen V3 und V4. OData V3 unterstützt keine Datumsangaben, sondern nur DateTime-Werte. Wenn Sie also das V3-Format verwenden, müssen Sie es mit dem vollständigen DateTime-Wert qualifizieren. Datumsliterale wie „datetime'2019-05-20'“ werden in der V3-Notation nicht unterstützt. Sie können sie jedoch in der V4-Notation einfach als „2019-05-20“ schreiben. Nachfolgend sehen Sie zwei äquivalente Filterabfragen in V3 und V4:
- OData V4-Format: filter=Table/Date gt 2019-05-20
- OData V3-Format: filter=Table/Date gt datetime'2019-05-20T00:00:00'
Sonderzeichen in URL-Filtern
Sonderzeichen in Tabellen- und Spaltennamen
Sonderzeichen, Leerzeichen und führende Zahlen in Tabellen- und Spaltennamen erfordern mehr Formatierung. Wenn Ihre Abfrage Leerzeichen, Bindestriche, führende Zahlen oder Nicht-ASCII-Zeichen enthält, stellen Sie diesen Sonderzeichen eine Escapesequenz voran, die mit einem Unterstrich und einem X (_x) beginnt, gefolgt vom 4-stelligen Unicode und einem weiteren Unterstrich. Wenn der Unicode weniger als vier Zeichen enthält, müssen Sie diesen mit Nullen ergänzen. Hier sehen Sie einige Beispiele:
Bezeichner | Unicode | Codierung für Power BI |
---|---|---|
Tabellenname | Leerzeichen ist 00x20. | Table_x0020_Name |
Column@Number | @ ist 00x40 | Column_x0040_Number |
[Column] | [ is 0x005B ] is 0x005D | _x005B_Column_x005D_ |
Column+Plus | + ist 0x2B | Column_x002B_Plus |
2TableName | 2 ist x0032 | _x0032_TableName_ |
Table_x0020_Name/Column_x002B_Plus eq 3
Table_x0020_Special/_x005B_Column_x0020_Brackets_x005D_ eq '[C]'
Sonderzeichen in Werten
URL-Filter unterstützen die meisten Sonderzeichen in Feldwerten, aber einige erfordern auch Escapesequenzen. Um beispielsweise nach einem einfachen Anführungszeichen zu suchen, verwenden Sie zwei einfache Anführungszeichen ('').
?filter=Table/Name eq 'O''Brien'
wird zu:?filter=Table/Name eq 'Lee''s Summit'
wird zu:Auch für den
in
-Operator wird die Verwendung dieses Escapezeichens unterstützt:?filter=Table/Name in ('Lee''s Summit', 'O''Brien')
wird zu:
In der folgenden Liste sind einige Sonderzeichen aufgeführt, die Escapesequenzen in Feldwerten erfordern.
Zeichen | Escapesequenz |
---|---|
(ein Leerzeichen) | %20 |
' | '' |
% | %25 |
+ | %2B |
/ | %2F |
? | %3F |
# | %23 |
& | %26 |
Standard-URL-Escapezeichen
Wenn Sie eine URL mit Leerzeichen und anderen Sonderzeichen verwenden, ersetzen Browser diese möglicherweise automatisch durch Standardescapezeichen. Stellen Sie sich vor, Sie erstellen diese URL-Abfragezeichenfolge:
https://app.powerbi.com/groups/me/reports/b7dea1d4-d9f0-47aa-a88d-xxxxxxxxxxxx/ReportSection2?filter=Executives/Executive eq 'Andrew Ma'
Das nach „Andrew Ma“ gefilterte Beispiel zur Kundenrentabilität (Customer Profitability Sample) wird geöffnet. Wenn Sie jedoch die URL betrachten, kann sie nun wie folgt aussehen:
https://app.powerbi.com/groups/me/reports/b7dea1d4-d9f0-47aa-a88d-xxxxxxxxxxxx/ReportSection2?filter=Executives%2FExecutive%20eq%20%27Andrew%20Ma%27
Der Browser hat den Leerraum zwischen Andrew
und Ma
durch %20
ersetzt. Dies gilt auch für die anderen Leerzeichen. Der Schrägstrich zwischen dem Tabellennamen Executives
und dem Feldnamen Executive
wurde durch %2F
ersetzt, und das einfache Anführungszeichen '
wurde durch %27
ersetzt.
Diese Version einer URL kann nützlich sein. Beispielsweise können Sie sie in Microsoft Teams im Chat posten, und daraufhin werden die gewünschten gefilterten Ergebnisse angezeigt.
Verwenden von DAX, um nach mehreren Werten zu filtern
Eine andere Möglichkeit, nach mehreren Feldern zu filtern, besteht darin, eine berechnete Spalte zu erstellen, in der zwei Felder zu einem einzelnen Wert verkettet werden. Anschließend können Sie nach diesem Wert filtern.
Angenommen, es gibt zwei Felder: „Territory“ und „Chain“. In diesem Szenario können Sie in Power BI Desktop eine neue berechnete Spalte (Feld) namens „TerritoryChain“ erstellen. Beachten Sie, dass der Feldname keine Leerzeichen enthalten darf. Die DAX-Formel für diese Spalte sieht wie folgt aus:
TerritoryChain = [Territory] & " - " & [Chain]
Veröffentlichen Sie den Bericht für den Power BI-Dienst, und verwenden Sie die URL-Abfragezeichenfolge, um die Daten zu filtern und nur Lindseys-Filialen in NC anzuzeigen.
https://app.powerbi.com/groups/me/reports/8d6e300b-696f-498e-b611-41ae03366851/ReportSection3?filter=Store/TerritoryChain eq 'NC – Lindseys'
Anheften einer Kachel aus einem gefilterten Bericht
Nachdem Sie den Bericht mithilfe von Abfragezeichenfolgenparametern gefiltert haben, können Sie Visualisierungen aus diesem Bericht an Ihr Dashboard anheften. Die Kachel auf dem Dashboard zeigt die gefilterten Daten, und wenn Sie die Dashboardkachel auswählen, wird der zugrunde liegende Bericht geöffnet. Die Filterung, die Sie mit der URL ausgeführt haben, wird jedoch nicht mit dem Bericht gespeichert. Wenn Sie die Dashboardkachel auswählen, wird der Bericht im ungefilterten Zustand geöffnet. Das heißt, die Daten auf der Dashboardkachel entsprechen nicht den Daten aus der Berichtsvisualisierung.
Diese Abweichung ist nützlich, wenn Sie unterschiedliche Ergebnisse anzeigen möchten (gefilterte Ergebnisse im Dashboard, ungefilterte Ergebnisse im Bericht).
Zu beachtende Aspekte und Problembehandlung
Im Zusammenhang mit Abfragezeichenfolgenparametern müssen ein paar Dinge beachtet werden.
Wenn Sie den in-Operator verwenden, müssen die Werte auf der rechten Seite von in einer durch Trennzeichen getrennten Liste entsprechen, die in Klammern eingeschlossen ist.
Der Power BI-Berichtsserver unterstützt auch die Möglichkeit, mithilfe des URL-Parameters „filter“ mehr als einen Filter anzugeben. Beispielsweise könnte die URL im Power BI-Berichtsserver wie folgt aussehen:
https://reportserver/reports/powerbi/Store Sales?rs:Embed=true&filter= Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'
Berichts-URL-Filter verfügen über eine Einschränkung von zehn Ausdrücken (zehn Filter die per AND verbunden sind).
Der Datentyp „long“ ist aufgrund von Beschränkungen bei JavaScript (2^53–1).
URL-Abfragezeichenfolgen sind auf 2.000 Zeichen beschränkt. Dieser Grenzwert umfasst Escapesequenzen für Sonderzeichen (z. B. ein Leerzeichen, %, +).
Sie können nicht nach Tabellen- oder Spaltennamen filtern, die mit den Großbuchstaben INFbeginnen, z. B. nach einem Tabellennamen, der mit „INFORMATION“ beginnt. INF in Großbuchstaben ist ein spezieller Wert in OData. Wenn Sie möchten, dass ein Tabellen- oder Spaltenname mit „INF“ beginnt, schreiben Sie ihn stattdessen in Kleinbuchstaben („inf“).
Tabellen- und Feldnamen können chinesische Zeichen enthalten, die im Unicode-Format ausgedrückt werden. Angenommen, Sie möchten einen Filter anwenden, der lautet: 表/人 eq '张力' (Tabelle/Person eq '张力') Der Filter wird in _x8868_/_x4eba_ eq '张力' konvertiert.
Einbettungsszenarios
URL-Filter werden in einigen eingebetteten Szenarios unterstützt, in anderen nicht.
- Einbetten eines Berichts in ein sicheres Portal oder eine sichere Website wird unterstützt.
- URL-Filter werden in Power BI Embedded unterstützt.
- Das Filtern mittels Abfragezeichenfolge kann nicht für Im Web veröffentlichen oder In PDF exportieren verwendet werden.
- Das Einbetten mit dem Berichts-Webpart in SharePoint Online unterstützt keine URL-Filter.
- Die Angabe einer URL ist für Teams nicht zulässig.
Zugehöriger Inhalt
- Anheften einer Visualisierung an ein Dashboard
- Registrieren Sie sich für eine kostenlose Testversion
Weitere Fragen? Stellen Sie Ihre Frage in der Power BI-Community.