Voraussetzungen
Beim Filtern nach E-Mail-Adresse wird die Adresse des angemeldeten Nutzers mit einem Feld in Ihrer Datenquelle verglichen, das gültige E-Mail-Adressen enthält. Dabei wird Zeile für Zeile in Ihren Daten geprüft, ob die E-Mail-Adresse des Nutzers mit der Adresse in der Zeile übereinstimmt.
Beispiel:
Daten | |
---|---|
tim@beispiel.de | abc |
sarah@beispiel.de | cde |
tim@beispiel.de | efg |
sarah@beispiel.de | ghi |
Wenn diese Daten nach E-Mail-Adresse gefiltert werden und tim@beispiel.de den gefilterten Bericht aufruft, sieht er nur die Daten "abc" und "efg".
Ruft hingegen sarah@beispiel.de denselben Bericht auf, sieht sie die Daten "efg" und "ghi".
Das ist kein Problem, wenn eine 1:1-Beziehung zwischen den Nutzern und den Daten besteht. Aber was ist, wenn auch manager@beispiel.de die Daten sehen soll, Sie also möchten, dass dieselben Datenzeilen für zahlreiche Personen angezeigt werden? Dies wird als m:n-Beziehung bezeichnet.
Das Filtern nach E-Mail-Adresse funktioniert nur für eine Adresse pro Zeile. Sie können also nicht einfach eine Liste mit Adressen in das entsprechende Feld eingeben. Beispiel (funktioniert nicht):
Daten | |
---|---|
tim@beispiel.de, manager@beispiel.de, vp@beispiel.de, mustermann@beispielkunde.de | abc |
Lösung: Daten zusammenführen
Sie können eine m:n-Beziehung zwischen E-Mail-Adressen und Ihren Daten herstellen. Hierzu führen Sie eine Tabelle mit Adressen mit Ihren Daten zusammen und verwenden dabei ein beliebiges gemeinsames Feld als Join-Schlüssel.
Beispiel für einen Obststand
Sie leiten ein Lebensmittelunternehmen und möchten Ihren Vertriebsmitarbeitern die Leistung an den verschiedenen Obstständen präsentieren, die sie betreuen. Da mehrere Vertriebsmitarbeiter mehrere Stände betreuen können, filtern Sie die Daten so, dass jeder Vertriebsmitarbeiter nur seine eigenen Daten sieht:
Schritt 1: ACL-Tabelle erstellen
In diesem Schritt erstellen Sie eine ACL-Tabelle (Access Control List), die sowohl die E-Mail-Adressen der autorisierten Vertriebsmitarbeiter als auch ein Datenfeld (Name des Obststands) enthält, das beim Zusammenführen als Join-Schlüssel verwendet werden kann.
Vertriebsmitarbeiter-E-Mail | Join-Schlüssel |
---|---|
mitarbeiter1@beispiel.de | Obststand A |
mitarbeiter2@beispiel.de | Obststand A |
mitarbeiter1@beispiel.de | Obststand B |
mitarbeiter2@beispiel.de |
Obststand C |
ACL-Tabelle
Der Nutzer vertriebsmitarb1@beispiel.de sieht die Daten für die Obststände A und B, der Nutzer vertriebsmitarb2@beispiel.de hingegen die Daten für die Obststände A und C.
Schritt 2: Datentabelle erstellen
In der Datentabelle wird die Menge an Obst erfasst, die die beiden Vertriebsmitarbeiter zusammengenommen an den jeweiligen Obststand verkauft haben.
Obststand | Obst | Verkäufe |
---|---|---|
Obststand A | Apfel | 50 |
Obststand A | Banane | 26 |
Obststand A | Orange | 20 |
Obststand A | Birne | 93 |
Obststand B | Apfel | 98 |
Obststand B | Banane | 86 |
Obststand B | Orange | 7 |
Obststand B | Birne | 85 |
Obststand C | Apfel | 21 |
Obststand C | Banane | 61 |
Obststand C | Orange | 3 |
Obststand C | Birne | 78 |
Datentabelle
Schritt 3: E-Mail-Filter auf ACL-Tabelle anwenden
Öffnen Sie die Datenquelle für die ACL-Tabelle zum Bearbeiten und wählen Sie das Feld „Vertriebsmitarbeiter-E-Mail“ als Filter aus.
Schritt 4: ACL-Tabelle mit Datentabelle zusammenführen
Führen Sie abschließend die Datentabelle mit der ACL-Tabelle zusammen. Da wir die E-Mail-Adressen der Vertriebsmitarbeiter als Spalte in die Datentabelle einfügen möchten, beginnen wir mit der Datentabelle und führen dann einen LEFT JOIN mit der ACL-Tabelle durch.
Ohne E-Mail-Filter sehen Sie alle Datensätze für beide Vertriebsmitarbeiter. Wird jedoch beim Zusammenführen der E-Mail-Filter angewendet, sieht jeder der Vertriebsmitarbeiter aufgrund des Filters andere Daten im Bericht. Folgende Daten werden für die Vertriebsmitarbeiter getrennt angezeigt:
Vertriebsmitarbeiter 1 sieht Folgendes:
|
Vertriebsmitarbeiter 2 sieht Folgendes:
|