Lookup-Komponente
Mithilfe der Lookup-Komponente wird in einer bestimmten Tabelle eine Suche auf Basis einer Bedingung durchgeführt. Zum Beispiel dann, wenn Mail und Passwort eines Kontaktes zu dessen Identifizierung bei der Anmeldung in einer Login-Journey abgerufen werden müssen. Wenn der Kontakt gefunden wird, gehen Sie auf die Seite "Präferenz-Einstellungen". Wenn er mit dieser Kombination aus Mail und Passwort nicht gefunden wird, kehren Sie zum Formular zurück und lassen Sie die Fehlermeldung "Kombination nicht gefunden" anzeigen.
Die Lookup-Komponente verwendet Constraints für das Suchen in einer Tabelle. Dieser Constraint (SQL-WHERE-Klausel) muss so formuliert sein, dass das Ergebnis entweder richtig oder falsch ist (boolescher Wert).
Der Constraint kann dynamische Werte enthalten (z. B. MAIL=@MAIL, um eine Mail im Zielgruppen-Tabellenfeld MAIL zu finden, auf Grundlage des geposteten Wertes (@) des Eingabefeldes mit dem Namenattribut NAME) oder auch feste Werte (z. B. wird mit MAIL='someone@somedomain.com' eine Mail im Zielgruppen-Tabellenfeld MAIL gefunden, auf Grundlage des Strings (einfache Anführungszeichen verwenden) 'someone@somedomain.com').
Constraints lassen sich zu einem einzigen Constraint kombinieren, der mithilfe der Operatoren AND bzw. OR (UND bzw. ODER) entweder true oder false (gefunden/nicht gefunden) zum Ergebnis hat. Bei einer Login-Journey wird versucht, die Kombination aus Mail-Adresse und Passwort zu finden: MAIL=@MAIL AND PASSWORD=@PASSWORD, wobei @MAIL und @PASSWORD gepostete Werte aus den Eingabefeldern des Formulars sind.
Die Lookup-Komponente führt folgende SQL-Abfrage aus:
SELECT TOP 1 ID FROM [TABLENAME] WITH (NOLOCK) WHERE [CONSTRAINT].
Sie geben [TABLENAME] (Tabellenname) und [CONSTRAINT] in den Eigenschaften der Lookup-Komponente ein. Im Login-Beispiel wäre dies
SELECT TOP 1 ID FROM USERS_PARANA WITH (NOLOCK) WHERE MAIL=@MAIL AND PASSWORD=@PASSWORD
Diese Abfrage findet sich im Bereich 'Vorschau' unter 'Protokollierung' beim 'Testen' einer Journey.
Es können beliebig viele Lookup-Komponenten in einer Journey verwendet werden.
Ereignisse
Die Lookup-Komponente liefert zwei Arten von Ereignissen:
- OnFound (Treffer): Die Lookup-Komponente hat einen Treffer und übermittelt den ersten gefundenen Datensatz.
- On Not Found (Kein Treffer): Die Lookup-Komponente hat keine Treffer.
Eigenschaften
1. 'Lookup-Tabelle': Wählen Sie die zu verwendende Tabelle aus. Dies muss nicht zwingend die in der Journey verwendete Zielgruppentabelle sein. Es kann auch eine andere Tabelle ausgewählt werden. Wenn sich eine Zielgruppen-Komponente in der Journey und die Lookup-Komponente sich im Link (Reihe an Pfeilen) mit der Zielgruppen-Komponente befindet, wird dieses Feld mit dieser Tabelle vorausgefüllt.
2. Geben Sie die Bedingung (Constraint) in das Feld 'Lookupbedingung' ein.
-
Jeder Constraint sollte true oder false zum Ergebnis haben. @MAIL alleine ist kein Constraint. MAIL=@MAIL ist ein Constraint, der true oder false zum Ergebnis hat (gefunden/nicht gefunden).
-
Verwenden Sie zum Definieren eines gültigen Constraints die folgenden Operatoren: = (gleich), <> (ungleich), < (kleiner als), > (größer als), <= (kleiner oder gleich), >= (größer oder gleich). Um auf leere Werte zu prüfen, können Sie IS NULL (ist Null) bzw. IS NOT NULL (ist nicht Null) verwenden.
-
Kombinieren Sie Constraints, die als 1 Constraint validiert werden sollen, mit den Operatoren AND bzw. OR.
Beispiel:
MAIL=@MAIL AND PASSWORD=@PASSWORD
Finden Sie einen Datensatz, bei dem die in der Tabelle (MAIL) gespeicherte Mail-Adresse dem geposteten Wert @MAIL (vom Kontakt in einem Formular eingetragen) entspricht
UND
bei dem gleichzeitig das in der Tabelle eingetragene Passwort (PASSWORD) dem geposteten Wert @PASSWORD (vom Kontakt in einem Formular eingetragen) entspricht.
Technischer Hinweis:
Informieren Sie sich vor der Suche auf Basis von dynamischen Daten darüber, wie Selligent Daten verwaltet. Kontaktbezogene Daten können auf verschiedene Arten angezeigt werden:
FIELDNAME (Feldname): Der Wert in der Tabelle des Feldes FIELDNAME
@FIELDNAME: Der gepostete Wert in einem Formular
Wenn der Wert aus einer Profilerweiterung stammt, verwenden Sie die Bereichsbezeichnung der Profilerweiterung: SCOPE.FIELDNAME. Zum Beispiel CONTEST1.ANSWER
Nicht alle Informationen sind dynamisch. Sie können auch statische Werte verwenden:
Geben Sie zur Verwendung von Zahlenwerten einfach den Zahlenwert ein (z. B. OPTIN_NEWSLETTER=1).
Zur Verwendung von Textwerten, geben Sie den Textwert zwischen einfachen Anführungszeichen ein (ANSWER='Friday evening') (Antwort='Freitag Abend').
3. Wenn 'Zum Profil wechseln, wenn gefunden' ausgewählt wurde, fährt die Journey mit dem gefundenen Kontaktprofil fort (wenn die Bedingung richtig ist).
-
Damit lässt sich von einem anonymen Kontakt zu einem bekannten Kontakt wechseln. Wenn also ein Kontakt gefunden wurde, verwenden alle weiteren Aktionen innerhalb der Journey dieses Kontaktprofil. Im Login-Beispiel füllt die Person das Login-Formular als anonymer Kontakt aus; nachdem er mithilfe der Lookup-Komponente gefunden wurde, ist er ein bekannter Kontakt; die Journey wird fortgesetzt und verwendet seine Profildaten.
-
Wenn 'Zum Profil wechseln, wenn gefunden' ausgewählt wurde, können seine Daten in Profilerweiterungen geladen werden (verknüpfte Tabellen vom Typ "one-to-", sogenannte erweiterte Profile), wenn dies für die Fortsetzung der Journey erforderlich ist. Deshalb müssen Sie die Profilerweiterung hier auswählen, wenn Sie Daten aus einer Profilerweiterung auf einer Seite bzw. in einer Mail anzeigen wollen oder wenn die Profilerweiterungsfelder im weiteren Verlauf der Journey benötigt werden (z. B. zum Speichern von Daten mit einer Datenkomponente).
4. Die Option 'Zum Kontext hinzufügen' sollte nur von erfahrenen Benutzern verwendet werden. Beim Auswählen dieser Funktion werden die Daten aus dem gefundenen Datensatz in den Speicher geladen. Auf diese Daten kann im nächsten Schritt mithilfe einer Bereichsbezeichnung zugegriffen werden.
Geben Sie den Namen der Bereichsbezeichnung in das Textfeld ein und vergessen Sie nicht, einen "." hinzuzufügen (Punkt), am Ende dieser Bezeichnung (zum Beispiel: WORKSHOP.). Mithilfe dieses Bereichs, gefolgt vom geladenen Feldnamen (z. B. ~WORKSHOP.WORKSHOPNAME~), können die in den Speicher geladenen Daten auf der nächsten Seite angezeigt werden. Da die Daten in den Speicher geladen werden, stehen sie nur während einer Abfrage zur Verfügung, bis zur nächsten Seite. Nach dieser Seite sind die Daten nicht mehr verfügbar (wie ein geposteter Wert aus einem Formular).
Beispiel : Wählen Sie zum Beispiel zum Laden des ersten besuchten Workshops eines bekannten Kontakts die verknüpfte Datentabelle vom Typ "one-to-many" für "Workshop" als 'Lookup-Tabelle' mit einem Constraint aus, hier "USERID=~ID~". ~ID~ wird durch den Wert für das Feld ID des entsprechenden Kontakts in der Zielgruppentabelle ersetzt. Wenn ein Datensatz gefunden wird, wird dieser mithilfe der Bereichsbezeichnung "WORKSHOP." in den Speicher geladen und die Daten können in den nächsten Schritten in der Journey verwendet werden; bis zur ersten Seite nach der Lookup-Komponente mithilfe der Bereichsbezeichnung: zum Beispiel "WORKSHOP.WORKSHOPNAME" in einer Entscheidungskomponente oder "~WORKSHOP.WORKSHOPNAME~" (im Editor) auf der nächsten Seite. Hier erfolgt keine Aktion "Zum Profil wechseln, wenn gefunden". Dadurch würde man zum Workshop-Datensatz im nächsten Schritt in der Journey gelangen, anstatt im Kontaktprofil zu bleiben.
Hinweis: Als Constraint verwenden wir USERID=~ID~. Wir können nicht USERID=ID verwenden, da die Lookup-Komponente versucht, nach einem Datensatz zu suchen, bei dem das Feld USERID dem Feld ID in der Tabelle entspricht. ~ID~ nimmt den Wert der Kontakt-ID an; zum Beispiel 3, womit der daraus folgende Constraint USERID=3 ist.
5. Schließlich muss je nach Lookup-Ergebnis möglicherweise ein Text in der Nachricht angezeigt werden. Dadurch kann der Kontakt darüber informiert werden, ob die Lookup erfolgreich war oder nicht. Diese Nachrichten werden nach den Triggern OnFound (Treffer) bzw. OnNotFound (kein Treffer) auf der Seite angezeigt. Geben Sie den gewünschten Text einfach in das Textfeld ein. Auf der Seite im Selligent-Editor sollte die Systemvariable ~DATA_ERROR~ zur Anzeige der Nachricht eingetragen werden.
Die Nachricht 'OnFound' (Treffer) wird angezeigt, wenn die Lookup erfolgreich war (bei vorausgehendem Trigger 'OnFound'), während die Nachricht 'OnNotFound' (kein Treffer) angezeigt wird, wenn die Lookupbedingung nicht erfüllt wurde (bei vorausgehendem Trigger 'OnNotFound').
Login-Beispiel: Wenn der Kontakt zum Beispiel nicht mit der Kombination aus Mail und Passwort gefunden wird, kehren Sie zum Formular (Trigger 'OnNotFound') zurück und lassen Sie eine Fehlermeldung "Kombination nicht gefunden" anzeigen. "Kombination nicht gefunden" ist die Nachricht 'Not Found' (nicht gefunden) in den Eigenschaften der Lookup-Komponente.
6. Klicken Sie zum Beenden auf OK.
Hinweis: Wenn für die Lookup-Definition mehrere Datensätze gefunden werden, wird der erste entsprechende Datensatz verwendet (SELECT TOP 1 ID FROM ...).
