Filtern einer untergeordneten Tabelle anhand von Variablen
In manchen Situationen müssen Sie eine Reihe von Metriken aus einer untergeordneten Tabelle filtern. Die folgende Abbildung zeigt ein Modellbeispiel.
In den meisten Fällen möchte jemand die Spenden eines Benutzers addieren. Diesen Wert könnte man mit der Anzahl Veranstaltungen vergleichen, die eine Person besucht hat. Diese beiden Aufgaben sind einfach zu bewältigen: Anhand eines SUM of Donations.Amount und einer COUNT of Event.ID.
Was aber, wenn Sie weitere granulare Angaben brauchen, zum Beispiel über Personen, die eine bestimmte Veranstaltung besucht haben? Durch die grundlegenden Metriken erfahren Sie, für wieviele Personen in der Benutzertabelle demographische Informationen angegeben wurden. Aber was machen Sie, wenn Sie den Gesamtbetrag der Spenden von Personen brauchen, die diese Veranstaltung besucht haben? Da die Tabellen nicht direkt verknüpft sind, bieten grundlegende Metriken diese Möglichkeit nicht.
In dieser Situation kann jeder Benutzer mehrere Veranstaltungen besucht und mehrere Spenden durchgeführt haben. Wegen der 1:N-Beziehung zwischen Benutzern und Veranstaltungen wäre es wahrscheinlich nicht sinnvoll, das Datenmodell zu verändern, um die Tabellen zu denormalisieren.
Mit Variablen und einem Metrikfilter können Sie einen Filter zum Sortieren nach Veranstaltungen auf Ihrem Dashboard erstellen. Die Grundidee ist, eine Metrik zu erstellen, die zählt, an wievielen Veranstaltungen der einzelne Benutzer teilgenommen hat, und dann danach zu filtern. Wenn eine Person an einer Veranstaltung teilgenommen hat (und nachdem die Liste auf nur dieses Element gefiltert wurde), erhalten wir einen Wert von 1, nach dem wir jetzt filtern können.
Als erstes erstellen wir eine Variable und geben ihr einen Namen. In unserem Beispiel ist die Variable „Event Filter“. Legen Sie diese als gefilterte Variable fest und wählen Sie das Feld in der Ereignistabelle aus, das Sie auf dem Dashboard sehen möchten. In diesem Fall funktioniert es mit Event.EventName.
Als nächstes erstellen Sie eine Metrik, welche diese Einstellung aggregiert. Erstellen Sie eine neue Metrik mit dem Namen „Event Filter Metric“ und ordnen Sie diese folgendermaßen an:
SELECT COUNT(EVENT.ID) by USER.ID, ALL OTHER WHERE Event Filter Variable
Sie stellt einen Zählwert der ID der untergeordneten Tabelle (Event) durch die ID der übergeordneten Tabelle dar, gefiltert nach der soeben erstellten Variablen. Gehen Sie auf Ihrem Dashboard in jeden Bericht und fügen Sie einen numerischen Bereichsfilter ein. Wählen Sie als Attribut den Verbindungspunkt auf oberer Ebene - hier die User.ID. Wählen Sie für die Metrik Event Filter Metric, wobei > 0 ist. Klicken Sie auf Speichern.
Zuletzt gehen Sie in Ihr Dashboard und fügen einen Variablenfilter für das soeben auf dem Dashboard erstellte Element hinzu.
Mit dem Variablenfilter können Sie die Ergebnisse nun basierend auf der Teilnahme an dieser Veranstaltung filtern. Achtgeben müssen Sie in der Spendentabelle auf verwaiste Einträge. Alle Spenden, die nicht mit einem Benutzer verknüpft sind, werden in allen Berichten ungeachtet des Filters angezeigt. Dies kann korrigiert werden, indem Sie allen Berichten einen zweiten Filter hinzufügen. Beachten Sie bitte, dass die Spenden dadurch NICHT doppelt gezählt werden. Wenn Sie zwei Gruppen auswählen und Überschneidungen im Hinblick auf die Zugehörigkeit auftreten, werden die Spenden der doppelt gezählten Teilnehmer nicht doppelt gezählt.