Aggregationen auf mittlerer Ebene
Das Dashboard kann Daten auf verschiedenen Ebenen aggregieren und zusammenfassen.
- Mit dem Query Builder können Sie eine zugrunde liegende Datenquelle vorbereiten, bevor Sie Daten analysieren. Sie können Gruppierungs-, Sortier-, Zusammenfassungs- und andere Datenformungsvorgänge während der Datenauswahl anwenden.
- Dashboard-Elemente aggregieren und zusammenfassen Daten auf Visualisierungsebene unter Verwendung von Dimensionen bzw. Kennzahlen. Weitere Informationen finden Sie unter Bind Dashboard Items to Data.
- Mit der Funktion Aggr können Sie eine mittlere Detailebene einführen, die nichts mit der Visualisierungsebene zu tun hat. Auf diese Weise können Sie benutzerdefinierte Aggregationen auf verschiedenen Ebenen erstellen und diese Aggregationen mit vorhandenen Visualisierungen kombinieren.
Überblick
Die Aggr-Funktion aggregiert und fasst zugrunde liegende Daten unter Verwendung der Detailebene zusammen, die durch einen vordefinierten Satz von Dimensionen und eine angegebene Zusammenfassungsfunktion angegeben wird. Diese Funktion kann bei der Erstellung eines neuen berechneten Felds im Ausdruckseditor verwendet werden.
Die Aggr-Funktion weist die folgende Syntax auf.
Aggr(summaryExpression, dimension1, dimension2, ...)
Das erste Argument ist ein Zusammenfassungsausdruck, der für ein bestimmtes Datenquellenfeld berechnet wird. Die nächsten Argumente sind die Gruppe von Dimensionen, deren Werte aggregiert und zum Berechnen von Zusammenfassungen verwendet werden, die mit dem ersten Argument angegeben wurden. Die folgende Funktion berechnet beispielsweise Umsatzsummen für jedes Produkt innerhalb der angegebenen Kategorie.
Aggr(Sum([Sales]), [Category], [Product])
Wenn Sie das berechnete Feld erstellt haben, das die Funktion Aggr enthält, und das erstellte Feld in einem vorhandenen dashboard item abgelegt haben, verknüpft das Dashboard die resultierende Aggregation mit den bereits angezeigten Daten. Dies bedeutet, dass Sie dem Dashboardelement Daten mit erhöhter oder geringerer Granularität hinzufügen können. Es gibt zwei Hauptszenarien.
Im ersten Szenario hat eine Aggregation eine weniger detaillierte Granularität als visualisierte Daten.
In diesem Szenario enthält eine zugrunde liegende Datenquelle die Liste der Bestellungen für zwei Kategorien und die entsprechenden Produkte.
Um diese Daten nach einzelnen Kategorien zu aggregieren, erstellen Sie ein berechnetes Feld mit dem folgenden Ausdruck.
Aggr(Sum([Sales]), [Category])
Die folgende interne Tabelle wird für dieses berechnete Feld generiert.
Das Beispieldashboardelement Grid enthält detailliertere Daten und enthält die folgenden Spalten: Category, Product und die Summe von Sales.
Wenn Sie das erstellte berechnete Feld im Raster ablegen, wird die Summe der Verkäufe für jede Kategorie für jede Rasterzeile wiederholt.
Beispielsweise können Sie diese Werte später verwenden, um einen Beitrag jedes Produkts zum Umsatz einer Kategorie zu berechnen.
Eine Aggregation hat eine detailliertere Granularität als visualisierte Daten.
Um diese Daten nach Kategorien und Produkten zu aggregieren, erstellen Sie ein berechnetes Feld mit dem folgenden Ausdruck.
Aggr(Sum([Sales]), [Category], [Product])
Die folgende interne Tabelle wird für dieses berechnete Feld generiert.
Legen Sie das erstellte berechnete Feld im Raster ab, und legen Sie den Zusammenfassungstyp auf Min fest. Das Raster zeigt die Mindestproduktverkäufe innerhalb jeder Kategorie an.
Beispiel 1 - Beste/schlechteste Verkäufe nach Jahr
Das folgende Beispiel zeigt, wie der beste und schlechteste monatliche Umsatz für jedes Jahr angezeigt wird.
In diesem Beispiel zeigt das Dashboardelement Chart die Summe der Verkäufe nach verschiedenen Jahren an. Das Feld Sales wird im Abschnitt Values und das Feld OrderDate (mit dem Abschnitt Year Gruppenintervall) im Abschnitt Arguments platziert.
Um den Umsatz nach den besten/schlechtesten Monaten für jedes Jahr anzuzeigen, erstellen Sie ein neues berechnetes Feld mit dem folgenden Ausdruck.
Aggr(Sum([Sales]), GetYear([OrderDate]), GetMonth([OrderDate]))
Legen Sie dieses Feld (Sales nach Jahr/Month in der Abbildung unten) im Abschnitt Werte ab und setzen Sie Zusammenfassungstyp auf Max. Legen Sie dann dieses Feld wieder auf Werte ab und legen Sie den Zusammenfassungstyp auf Min fest. Das Diagramm visualisiert die Verkäufe nach den besten / schlechtesten Monaten eines Jahres.
Beispiel 2 - Prozent der Gesamtsumme
In diesem Beispiel wird gezeigt, wie ein Beitrag des einzelnen Quartalsumsatzes zum Jahresumsatz berechnet wird.
In diesem Beispiel zeigt das Dashboardelement Pivot die Summe der Verkäufe nach Jahr/Quartal an. Das Feld Sales wird im Abschnitt Values platziert, und die Hierarchie der OrderDate-Felder (mit den Feldern Year und Quarter Gruppenintervalle) wird in Rows platziert.
Gehen Sie wie folgt vor, um einen Beitrag jedes Quartals zu einem Jahresumsatz zu berechnen.
Berechnen Sie die Summen für jedes Jahr mit der Funktion Aggr, indem Sie das folgende berechnete Feld erstellen.
Aggr(Sum([Sales]), GetYear([OrderDate]))
Legen Sie den Namen des erstellten Felds auf Sales nach Year fest.
Berechnen Sie einen Beitrag jedes Quartalsumsatzes, indem Sie das folgende berechnete Feld erstellen.
Sum([Sales]) / Max([Sales by Year])
Benennen Sie dieses Feld Percent von Total und legen Sie es auf Werte ab, um das Ergebnis anzuzeigen.
Beispiel 3 - Kundenakquise
In diesem Beispiel wird eine Kundenakquise ausgewertet, indem Kunden nach dem Quartal/Jahr ihres ersten Kaufs gruppiert werden, um die Umsatzbeiträge zu vergleichen.
Das Dashboard-Element Chart unten visualisiert den Umsatz nach Quartal/Jahr.
Der folgende Ausdruck bestimmt das Mindestbestelldatum (das erste Kaufdatum) pro Kunde.
Aggr(Min(GetDateQuarterYear([OrderDate])), [CustomerID])
Legen Sie den Namen des erstellten Felds auf Customer Erste Order fest und legen Sie dieses Feld im Abschnitt Series ab, um das Ergebnis anzuzeigen.
Beispiel 4: Anzahl der Kundenbestellungen
In diesem Beispiel erfahren Sie, wie Sie die Anzahl der Kunden durch die Anzahl der von ihnen getätigten Bestellungen dividieren.
Das folgende Diagramm zeigt die Anzahl der Bestellungen, die von jedem Kunden getätigt werden.
Das berechnete Feld unten wertet die Anzahl der eindeutigen Bestellungen aus, die von jedem Kunden getätigt wurden.
Aggr(CountDistinct([OrderID]), [CustomerID])
Legen Sie den Namen dieses Felds auf Customer Order Count fest, und legen Sie dieses Feld unter Argumente ab. Legen Sie dann das Feld CustomerID auf Values ab und ändern Sie das Feld summary type in Count Distinct.
Das Diagramm zeigt die Anzahl der Kunden, die eine bestimmte Anzahl von Bestellungen getätigt haben.
Beispiel 5 - Beste Produktverkäufe nach Jahr
Dieses Szenario erfordert die Verwendung geschachtelter Aggregationen. In diesem Beispiel zeigt das Dashboard Produkte mit den besten Verkäufen in einem Jahr zusammen mit Verkaufswerten an.
Das anfängliche Grid-Dashboardelement zeigt den Umsatz aller Produkte nach Jahr an (die Spalte OrderDate mit der Spalte Year Gruppenintervall und der Spalte Sales). Die Datenquelle enthält auch das Feld ProductName.
Führen Sie die folgenden Schritte aus, um dieses Szenario zu implementieren.
Erstellen Sie das berechnete Feld, das Produktverkäufe für einzelne Jahre zurückgibt.
Aggr(Sum([Sales]), GetYear([OrderDate]), [ProductName])
Legen Sie den Namen auf Product Sales by Year fest.
Erstellen Sie das berechnete Feld, das die maximalen Umsatzwerte zurückgibt.
Aggr(Max([Product Sales by Year]), GetYear([OrderDate]))
Legen Sie den Namen auf Max Produktverkäufe nach Year fest.
Erstellen Sie schließlich ein berechnetes Feld, das den Namen des Produkts mit den besten Verkäufen und einen entsprechenden Verkaufswert zurückgibt.
Iif([Max Product Sales by Year] = [Product Sales by Year], [ProductName] + ' ($ ' + [Product Sales by Year] + ')', null)
Geben Sie den Namen als Best Sales Product an. Legen Sie dann dieses Feld im Abschnitt Spalten ab, um das Ergebnis zu sehen.