Filter in der GoodData-Plattform

Manchmal möchten Sie nur einen Teil Ihrer Daten analysieren. Dafür können Sie Filter verwenden. In einem GoodData-Workspace können Sie Daten anhand folgender Mechanismen filtern:

Filtertyp

Beschreibung

Datenberechtigungs-Filter

Ein Datenberechtigungs-Filter ist ein attributbasierter Filter, der auf alle Daten angewendet wird, die über den Workspace abgefragt werden. Diese Filter ermöglichen Workspace-Entwicklern, Inhalte für bestimmte Nutzer zu filtern, damit sensible oder irrelevante Daten nicht angezeigt werden.  Datenberechtigungs-Filter können nicht überschrieben werden. Sie werden immer auf eine Abfrage angewandt, die von einem betroffenen Benutzer aus dem Portal ausgeführt wird.

Hinweis: Filter für Datengenehmigungen gelten als Konfiguration auf Administrator-Ebene. Weitere Informationen finden Sie unter Erste Schritte mit Datenberechtigungen.

Dashboard-Filter

Ein Dashboard-Filter kann verwendet werden, um die Daten zu filtern, die in allen Berichten in einem Dashboard angezeigt werden. Er basiert auf Werten für ein Attribut, Daten oder definierten Gruppen, die aus einem Selektor ausgewählt werden, der in das Dashboard eingebettet ist.  Wenn Nutzer beispielsweise ein Datum oder einen Datumsbereich im Dashboard-Filter auswählen, werden die angezeigten Daten in allen Berichten aktualisiert und nur die Werte angezeigt, die für den ausgewählten Zeitraum gelten.

Berichts-/Betrachtungsfilter

Ähnlich einem Dashboard-Filter ändert ein Berichtsfilter die Werte, die in einem Bericht angezeigt werden. Berichtsfilter werden jedoch vom Berichtsgenerator angegeben und können von Benutzern mit der Benutzerrolle Betrachter oder Betrachter (nur eingebettet) im Workspace nicht geändert werden.

Metrikfilter

Innerhalb einer Metrikdefinition können Sie die berechneten Daten anhand der Klausel WHERE filtern, welche die Bedingungen enthält, unter denen die ausgewählten Daten in der Berechnung verwendet werden können.

Um zu erfahren, wie Sie Filter in Ihrer Datenanalyse anwenden siehe Filterausdrücke.

 

Filterauswertung

In einem Dashboard können ein oder mehrere der obigen Filter angewandt werden. Wie diese Filter ausgewertet werden, richtet sich nach folgenden Regeln:

  • Datenberechtigungs-Filter werden immer angewandt. Sie können nicht überschrieben oder ignoriert werden.
  • Dashboard-Filter ändern Berichtsfilter auf das angegebenen Attribut.
    • Bei einem Dashboard-Filter und einem Berichtsfilter für zwei verschiedene Attribute: Die Daten müssen mit beiden Filterbedingungen übereinstimmen, um im Bericht zu erscheinen. In der MAQL-Abfrage für den Bericht wird zwischen den Filtern ein logisches UND angewandt.
      • Nehmen Sie zum Beispiel an, der Benutzer entscheidet, dass der Dashboard-Filter für das Attribut State auf California gesetzt wird. In einem der Berichte im Dashboard wird ein Berichtsfilter angewandt, der auf Department= Distribution gesetzt ist. In dem Bericht wird eine grundlegende Metrik wie SELECT SUM(Sales) nach beiden übergeordneten Filtern gefiltert. Das Nettoergebnis besteht darin, dass die Daten aus der Fakttabelle für diese Addition nur extrahiert werden, wenn dieser auf States=California und Department=Distribution angewandt wird.
    • Bei Dashboard-Filter und Berichtsfilter für dasselbe Attribut: Der Dashboard-Filter überschreibt den Berichtsfilter.
      • Angenommen, ein Filter für das Attribut State wird in der Berichtsdefinition auf California gesetzt. Auf einem Dashboard kann der Benutzer jedoch seinen eigenen Staat in einem Dashboard-Filter auswählen. Wählt er State = Nevada, wird nur diese Auswahl auf die Berichtsmetriken angewandt.
  • Neben Metrikfiltern werden Berichtsfilter angewandt.
    • Angenommen, der Berichtsfilter ist Group = X und die Metrikdefinition ist SELECT SUM(Sales) WHERE Priority = Urgent. Der wirksame Filter für die berechnete Metrik ist der folgende: Group = X AND Priority = Urgent.

Nach einer im Juni 2018 durchgeführten Änderung der Filtervalidierung

Wenn der Metrikeditor eine Relation in einem Filter prüft, vergleicht er das Attribut mit dem entsprechenden Attributswert und nicht mit Attributswerten eines anderen Attributs. Metriken, die vor dieser Änderung erstellt wurden, funktionieren weiterhin. Es ist jedoch erforderlich, zu ihrer Bearbeitung Fehler zu reparieren. Trotzdem können Sie andere Datumsattribut vergleichen.

Beispiele

Richtig:

... WHERE Priority = High(Priority) 

Falsch:

... WHERE State = High(Priority)

Einschränkungen

Einige Filter können nicht zusammen mit anderen Filtern angewandt werden. Beispiele:

  • Werden der Berichtsfilter auf Group = X und der Metrikfilter auf Group = Y gesetzt, ist der generierte Wert für die Metrik im Bericht null. Beide Filter werden auf die Daten angewandt und es ist nicht möglich, Daten zwei Werten eines Attributs zuzuordnen.

  • Werden zwei Filter auf sich widersprechende Attributswerte in derselben Hierarchie gesetzt, können Sie null Daten generieren. Wird der Dashboard-Filter zum Beispiel von einem Benutzer auf State = California gesetzt und der Berichtsfilter ist auf City = New York City festgelegt, enthält der Bericht keine Daten.

  • Einige Filter können nicht auf die Metriken angewandt werden, weil keine Beziehung zwischen der Fakttabelle und einem zu filternden Attribut definiert wurde. Zum Beispiel können Sie Ihre Verkaufsmetrik (SELECT SUM(Sales)) nicht nach dem Attributsfilter Marketing Campaign = TV filtern, da Marketing-Aktivitäten anhand verschiedener Fakten nachverfolgt werden, die in einer anderen Fakttabelle gespeichert sind.

Over…To Klausel

Erweitertes Filtern mit OVER…TO siehe Anwendungsfälle erweiterter Datenberechtigungen.

Filterüberschreibungen

Auf Metrikebene können Sie Schlüsselwörter zum Überschreiben von Dashboard, Metrik und Berichtsfiltern einfügen. Zum Beispiel können Sie das Schlüsselwort WITHOUT PARENT FILTER in Ihre Metrikdefinition aufnehmen, welches verhindert, dass Filter in einem übergeordneten Objekt (Metrik, Bericht oder Dashboard) angewandt werden. Ausführliche Informationen zu diesen Filterüberschreibungen siehe Übergeordnete Filter überschreiben.