Übersicht
In diesem Beispiel wird die Funktion Only verwendet, um eine zeilenweise Tabelle der Datensätze für einen einzelnen Monat anzuzeigen. Um dies zu erreichen, wird Aggregierung mit Auswahlformeln verwendet, um den gewünschten Satz Datensätze auszuwählen. Für die Aggregierung mit Auswahlformeln ist mindestens eine Kennzahl erforderlich. Da wir den Datensatz jedoch nicht wirklich aggregieren müssen, können wir effektiv die Aggregierungsfunktion Only verwenden, um den Umfang der Aggregierung mit Auswahlformeln abzudecken.
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.
Das Ladeskript umfasst:
Datensatz, der in eine Datentabelle namens Example geladen wird
Eine vorangehende load-Anweisung, die das Feld MonthYear aus dem Feld Date ableitet, indem sie mit der Funktion MonthStart den Tag des Monats abschneidet und eine Datumsdarstellung des 1. eines jeden Monats zurückgibt. Dieses Ergebnis wird an die Funktion Date übergeben, um das Anzeigeformat auf MMM YY zu setzen, zum Beispiel Jan 24.
Die folgenden Felder in der Datentabelle:
Date
RecordID
StoreProduct
Sales
Store
Ladeskript
Example:
Load
*,
date(MonthStart (Date),'MMM YY') AS MonthYear
inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Ergebnisse
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
MonthYear
RecordID
Date
StoreProduct
Store
Erstellen Sie die folgenden Kennzahlen:
=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales), um den Wert von Sales auszuwerten und nur diejenigen zurückzugeben, bei denen MonthYear der letzte (jüngste) verfügbare MonthYear ist, basierend auf den aktuellen Auswahlen in der Tabelle. Die Dollarzeichen-Erweiterung ($) führt eine Inline-Berechnung mit der MaxString-Funktion $(=MaxString(MonthYear)) durch, die die Textdarstellung des letzten Wertes für MonthYear zurückgibt.
InformationshinweisDer Versuch, MonthYear anhand der numerischen Darstellung zu filtern, zum Beispiel mit der Max -Funktion Max(MonthYear), würde kein Ergebnis liefern. Die Aggregierung mit Auswahlformeln wendet Filterauswahlen an, die nur auf der Textdarstellung eines beliebigen dualen Datentyps basieren; eines Datentyps mit einer numerischen und einer Textdarstellung wie Date.
Results tableMonthYear | RecordID | Date | StoreProduct | Only({$<MonthYear={‘$(=MaxString(MonthYear))’}>} Sales) |
---|
Mar 24 | 7 | 2024-03-10 | Apple | 110 |
Mar 24 | 8 | 2024-03-22 | Banana | 85 |
Mar 24 | 9 | 2024-03-31 | Carrot | 55 |
Die Ausgabe der Funktion Only erzeugt eine Tabelle mit Datensätzen, die standardmäßig den Umsatzwert für den neuesten oder jüngsten MonthYear darstellt, der in den Daten verfügbar ist. Wenn Sie in der Spalte MonthYear einen früheren Monat auswählen, z. B. Feb 24, wird der letzte Umsatzwert für diesen Monat angezeigt.