Suchen von Min- und Max-Daten mittels Datumsarithmetik
Es kann vorkommen, dass Sie Daten basierend auf dem ersten oder letzten Datum bestimmter Ereignisse abfragen möchten. Beispiel: Sie sind Support-Mitarbeiter und möchten das älteste ungelöste Hilfeticket in Ihrer Helpdesk-Warteschlange abfragen.
Bei GoodData können Sie Datumsarithmetik mit Datumsattributen verwenden. Dieselbe Logik kann in Metriken angewandt werden. Dabei werden weniger komplexe Metriken und ein einfacheres logisches Datenmodell (LDM) verwendet.
Beispiel-LDM:
Wenn Sie feststellen möchten, welcher Ereignistyp in jeder Stadt zuerst eintrat, verwenden Sie Datumsarithmetik, um das erste bzw. MIN-Datum (Anfangsdatum) festzustellen, das in jeder Stadt aufgetreten ist.
Daten mit Ereignissen verknüpfen
Im LDM-Diagramm Fakten und Attribute nur nach Objekten aufgeschlüsselt werden, die mit dem links davon stehenden verknüpft sind.
In diesem Beispiel stehen links von Date (Anfangsdatum) keine Objekte.
Daher müssen Sie es mit MAQL zuerst mit seinem Verbindungspunkt, dem Ereignis, verknüpfen:
SELECT Date (Start Date) BY Event
Die Klausel BY ermöglicht der Metrik die Interaktion mit den übrigen Ereignis- und Stadt-Datensätzen.
Erkennen des ersten (frühesten) Datums
Als nächstes erstellen Sie eine Metrik „First Start Date Per Town“. Damit suchen Sie nach dem ersten Anfangsdatum, das in jeder Stadt eintrat:
SELECT MIN ((SELECT Date (Start Date) BY Event)) BY Town, ALL OTHER
BY Town und ALL OTHER bewirkt, dass jede Stadt ein Datum des ersten dort eingetretenen Ereignisses ergibt, sogar wenn in jeder Stadt mehrere Ereignisse eingetreten sind.
Dieses Datum wird durch einen numerischen Wert und kein tatsächliches Datum dargestellt.
Beispiel:
Um das Datum im Format yyyy-mm-dd anzuzeigen, verwenden Sie das folgende Metrikbeispiel und das folgende benutzerdefinierte Zahlenformat:
SELECT MAX ((SELECT (10000 * MAX(Year (Date))) + (100 * MAX(Month (Date))) + (MAX(Day of Month (Date))) BY <connection point>))
WHERE (SELECT COUNT(Date (Date), <connection point>) BY Year (Date), ALL OTHER) > 0
Benutzerdefiniertes Zahlenformat:
[=null]N/A; ########
Einfügen der Metrik in Ihren Bericht
Zuletzt müssen Sie die vorherige Metrik zur letzten Metrik hinzufügen, welche die Anzahl der an diesem speziellen Datum eingetretenen Ereignisse sucht.
SELECT COUNT (Event) WHERE Date (Start Date) = First Start Date Per Town
Verwenden Sie die Metrik „First Start Date Per Town (Erstes Anfangsdatum pro Stadt“, um nur das erste Ereignis zu zählen, das in jeder Stadt eingetreten ist.
Die letzte Metrik zeigt, welches Ereignis und welcher Typ in jeder Stadt eingetreten ist. Alle späteren Ereignisse wurden aus dem Bericht herausgefiltert.
Ausführliche Informationen zum Arbeiten mit Daten finden Sie unter Datumsattributsarithmetik.