2016-02-19 5 views
8

Google Analytics Realtime bietet rt:minutesAgo, auf denen man Abfragen filtern könnte.Google Analytics - weniger als n Minuten her

Da es sich jedoch um eine Dimension und nicht um eine Metrik handelt, kann <= nicht im Filter verwendet werden.

Angenommen ich einige numerische Metrik (wie rt:totalEvents) für die letzten n Minuten bekommen wollen, was wäre der beste Weg, dies zu tun?


Derzeit ist die einzige Idee, die ich habe, ist eine Regex zu erstellen, die Zahlen entspricht < = n verwenden =~ und dann alle rt:totalEvents in der Ergebnismenge summieren. Das klingt auf vielen Ebenen falsch.

+0

Warum nicht einfach eine Funktion erstellen, um die Antwort zu analysieren, was zu bekommen Sie wollen? Das rows-Objekt sieht etwa wie ["00", 7] ... ["29", 13] aus, wobei das erste Element die Minute und das zweite Element die Anzahl der Ereignisse ist. Scheint so, als wäre es ziemlich einfach, dies zu analysieren, diese in ganze Zahlen umzuwandeln und zurückzugeben, was du willst. – Pete

+0

@Pete, um die Belastung zu reduzieren/die Antwort schneller zu machen. Sie können das gleiche Argument für die Filterfunktionalität im Allgemeinen angeben - die Nachbearbeitung kann immer vom Client durchgeführt werden. Ich verstehe nicht, warum 'minutesAgo' überhaupt nicht numerisch ist. – ndn

+0

Fair genug. Es gibt keinen numerischen Filter für Dimensionen. Sie müssen eine Regex-Route oder eine lange Kombination von Filtern verwenden, um zu bekommen, was Sie wollen. Es gibt eine Eigenschaft in der Antwort, die es für Sie zusammenfasst: 'totalsForAllResults' – Pete

Antwort

4

Wie ich es verstehe, minutesAgo ist eine Zeitdimension und konnte keine Metrik sein, weil es nicht in irgendeiner Weise Standard Weg aggregiert werden konnte.

Stellen Sie sich vor, Sie haben einen Drilldown nach Land (Dimensionen = rt: Land) ... und in den letzten 10 Minuten sind N Besucher aus einem Land auf Ihrer Website. Was wäre der Wert von minutesAgo? der Durchschnitt? das Neueste?

Metriken müssen aggregierbar sein, damit sie Metriken darstellen können. Zeitwerte in OLAP-Datenbanken haben diese Eigenschaft (inhärent) nicht, daher sind sie besser als Dimensionen modelliert (normalerweise nach Perioden: "Tag", "Woche" ... oder in diesem Fall "MinutenAgo").

Wie @Pete erwähnt, in diesem Fall können Sie immer noch eine lange Kombination von Filtern (oder eine regexp) anzuwenden und totalsForAllResults:

"totalsForAllResults": { 
    "rt:totalEvents": "2" 
},