Oft müssen wir in einem Alteryx-Workflow Daten nach bestimmten Kriterien auswählen. Manchmal ist es nur ein Kriterium, manchmal sind es auch mehrere in Kombination. Und natürlich gibt es ähnliche Fälle auch in Formeln, wenn eine bestimmte Berechnung nur ausgeführt werden soll, sofern eine oder mehrere Bedingungen erfüllt sind.
Wie aber verknüpft man nun diese Bedingungen? Die wesentlichen Möglichkeiten schauen wir uns in diesem Beitrag an einem Beispiel an; dabei geht es um die Kunden einer Bank, für die eine Reihe von Daten zur Verfügung stehen:
Nehmen wir nun einmal an, wir wollen für eine Kampagne alle Selbständigen herausfiltern, also die Kunden, die im Feld [job] den Wert "entrepreneur" haben und außerdem die, bei denen [job] den Wert "self-employed" hat. Die Auflistung der beiden Kundengruppen, die wir hier abfragen wollen (Kundengruppe 1 und Kundengruppe 2), könnte nun dazu verleiten, in der Abfrage ein AND zur Verknüpfung zu verwenden. Versuchen wir es doch einfach mal - nutzen wir ein Filter Tool mit einer entsprechenden Abfrage:
Das Ergebnis zeigt uns, dass da etwas nicht stimmen kann:
Wenn wir allerdings das "AND" in der Bedingung durch ein "OR" ersetzen, sieht das Ergebnis schon ganz anders aus:
Wenn wir also eine Bedingung formulieren wollen, die alle Datensätze liefert, bei denen in einem Feld einer von zwei oder mehreren Werten gefunden wird, verwenden wir "OR", denn natürlich kann ein Feld immer nur einen Wert haben - hier steht im Feld [job] entweder "entrepreneur" ODER "self-employed", aber niemals beides.
Tipp: Wenn man sich hier die Überlegung ersparen will, ob AND oder OR verwendet ist, kann man auch die folgende Variante nutzen - falls mehrere Werte aus einem Feld gewählt werden sollten, ist das eigentlich die sinnvollste Lösung:
Wenn wir jetzt zusätzlich noch nach Alter filtern wollen, also beispielsweise nur Selbständige unter 40 ansprechend wollen, kommt ein zweites Feld ins Spiel. Hier müssen beide Bedingungen zutreffen, also im Feld [job] finden wir einen der genannten Einträgung und im Feld [age] einen Wert kleiner 40 - logisch, hier brauchen wir ein "AND" zur Verknüpfung:
Was aber ist zu tun, wenn wir die Selbständigen unter 40 und über 50 auswählen wollen? Nun, ähnlich wie beim Job wollen wir für ein Feld (hier [age]) zwei Auswahlen treffen: die Kunden sollen entweder unter 40 oder über 50 sein. Also: OR.
Das Ergebnis entspricht allerdings nicht unseren Erwartungen:
Grundsätzlich werden Bedingungen in der Reihenfolge abgearbeitet, in der sie aufgelistet sind. Wenn wir die Bedingung also so setzen, wie wir es hier getan haben, bekommen wir das Ergebnis aus unserer letzten Abfrage (also die Selbständigen unter 40) und zusätzlich alle über 50 - hier greift dann die "OR"-Bedingung.
Was ist zu tun? Nun, ein paar Klammern helfen uns weiter:
Durch die Klammen machen wir klar, dass die Bedingungen für das Feld [job] zutreffen muss (also entweder "entrepreneur" oder "self-employed") und zusätzlich die zweite Gruppe von Bedingungen zutreffen muss (also [age] < 40 oder [age] > 50).
Natürlich schadet es auch nicht, wenn man die Klammern direkt setzt, auch wenn es nicht unbedingt nötig ist:
Allerdings stellt sich generell die Frage, ob die Vernüpfung von Bedingungenin einem Filter Tool der richtige Weg ist. Die Alternative ist,,einfach mehrere Filter Tools zu verwenden:
Hier habe ich jetzt die zwei Bedingungen auf zwei Filter aufgeteilt. Als Konsequenz muss das zweite Tool nur noch die Datensätze prüfen, die das erste Tool weiterleitet, die also die erste Prüfung bestanden haben - unter Umständen können das deutlich weniger sein. Dementsprechend wird damit die Performance etwas verbessert und der Ablauf transparenter.
Weitere Tipps Tuesday Beiträge
Dieser Eintrag ist Teil der Tipps Tuesday-Serie, alle Einträge dieser Serie findest du in unserem Index aufgelistet.
Sie müssen ein registrierter Benutzer sein, um hier einen Kommentar hinzuzufügen. Wenn Sie sich bereits registriert haben, melden Sie sich bitte an. Wenn Sie sich noch nicht registriert haben, führen Sie bitte eine Registrierung durch und melden Sie sich an.