In diesem Thema wird der Unterschied zwischen Zeitreihen- und Filterfunktionen beschrieben. Außerdem wird die Implementierung von Filterfunktionen erklärt. Diese Informationen gelten sowohl für Arbeitsmappen als auch für klassische Dashboards.
Zeitreihenfunktionen und Filterfunktionen
Mit den Zeitreihenfunktionen Ago
und Todate
können Sie ganz einfach Metriken für die Berechnung von year-ago, year-to-date
usw. erstellen. Diese Methode eignet sich gut für Berichte von Business-Anwendern, jedoch generieren diese Funktionen komplexe Abfragen, die sich erheblich auf die Performance auswirken. Außerdem wird jedes Mal, wenn eine dieser Funktionen in einem Bericht verwendet wird, eine weitere Unterabfrage generiert, die noch mehr Ressourcen auf der Datenbank belegt.
In klassischen Dashboards können Sie in der Regel das gleiche Ergebnis ohne Einsatz von Zeitreihenfunktionen erreichen, indem Sie Basismetriken mit der Funktion Filter
verwenden, um nach dem jeweiligen Zeitraum zu filtern. Diese Methode ist möglicherweise zu komplex für Berichte von Business-Anwendern, eignet sich aber gut für Dashboards, die vom IT-Team vordefiniert wurden. Mit dieser Methode wird ein viel einfacherer und effizienterer physischer SQL-Code generiert, der keine zusätzliche Unterabfrage erfordert. Das bedeutet, dass die SQL-Abfrage schneller ausgeführt wird und weniger Datenbankressourcen belegt, was die gesamte CPU-Auslastung und Zahl der Ein-/Ausgabeaufrufe reduziert.
Die folgende Abbildung zeigt ein Beispiel für die physische Abfrage, die generiert wird, wenn Sie die Basismetrik und die Metrik für den Vormonat Ago
im selben Bericht verwenden. Dabei werden zwei Abfragen generiert.
Die folgende Abbildung zeigt den SQL-Code, der für eine einzelne Abfrage generiert wird, wenn Sie stattdessen eine Filter
-Funktion verwenden.
Filterfunktionen mit Prompts in einem Dashboard implementieren
In den meisten Implementierungen enthält das Dashboard bereits einen Prompt, damit Benutzer den gewünschten Monat auswählen können. Als Erstes müssen Sie die Zeiträume identifizieren, nach denen basierend auf einer Benutzerauswahl gefiltert werden soll.
In diesem Beispiel enthält die Calendar-Dimension die Spalte Julian Period Number
. Dadurch wird die Berechnung einfacher. Der Vorgang kann auch ohne Julian Period Number
durchgeführt werden, benötigt dann aber viel komplexere Formeln zum Berechnen des ausgewählten Zeitraums.
Month
, um die Präsentationsvariable (MonthSelected
) hinzuzufügen.
Julian Period Number
abzurufen und in eine andere Variable (PeriodNumberSelected
) einzugeben. Dieser zweite Prompt wird dem Endbenutzer nicht angezeigt. Stattdessen wird er im Dashboard ausgeblendet, und der Wert wird automatisch basierend auf der Variable MonthSelected
berechnet.
Julian Period
hinzu.
Month
, und verwenden Sie die Spaltenformel-Filterfunktionen basierend auf Julian Period Number
nach Bedarf. Hier finden Sie einige Beispiele:
Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})
Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)
Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)
Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})
Filterfunktionen in einer Arbeitsmappe mit Parametern implementieren
Sie können dasselbe Prinzip auch in Arbeitsmappen anwenden. Prompts und Präsentationsvariablen werden durch einen Dashboard-Filter und Parameter ersetzt.
Erstellen Sie drei Parameter: MonthSelected, PeriodNumberSelected und YearSelected. Nur der Parameter MonthSelected wird auf der Leinwand in einem Dashboard-Filter angezeigt.
Die möglichen Werte für den Parameter MonthSelected werden basierend auf einer logischen SQL-Anweisung definiert, die alle Monate auswählt.
Für die Parameter PeriodNumberSelected und YearSelected werden keine möglichen Werte aufgefüllt.
.jpg
Nur der anfängliche Wert wird mit einer logischen Abfrage gefüllt, die basierend auf dem Wert von MonthSelected gefiltert wird.
.jpg