Feldverweise field-references
Ein Feldverweis kann an ein Ereignis oder eine Feldgruppe angehängt werden. Die einzigen aussagekräftigen Informationen sind der Name des Feldes und sein Pfad.
Wenn Sie in einem Feld Sonderzeichen verwenden, müssen Sie doppelte oder einfache Anführungszeichen nutzen. In den folgenden Fällen sind Anführungszeichen erforderlich:
- das Feld beginnt mit numerischen Zeichen;
- das Feld beginnt mit dem Zeichen „-“;
- das Feld enthält andere Zeichen als: a–z, A–Z, 0–9, ,-_.
Wenn Ihr Feld zum Beispiel folgendermaßen lautet: 3h: #{OpenWeather.weatherData.rain.‘3h’} > 0
// event field
@event{<event name>.<XDM path to the field>}
@event{LobbyBeacon.endUserIDs._experience.emailid.id}
// field group
#{<data source name>.<field group name>.<path to the field>}
#{ExperiencePlatform.ProfileFieldGroup.profile.personalEmail.address}
Im Ausdruck wird auf Ereignisfelder mit „@“ und auf Datenquellenfelder mit „#“ verwiesen.
Es wird eine Syntaxfarbe verwendet, um die Ereignisfelder (grün) optisch von Feldgruppen (blau) zu unterscheiden.
Standardwerte für Feldverweise default-value
Ein Standardwert kann mit einem Feldnamen verknüpft werden. Es gilt folgende Syntax:
// event field
@event{<event name>.<XDM path to the field>, defaultValue: <default value expression>}
@event{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue: "example@adobe.com"}
// field group
#{<data source name>.<field group name>.<path to the field>, defaultValue: <default value expression>}
#{ExperiencePlatform.ProfileFieldGroup.profile.personalEmail.address, defaultValue: "example@adobe.com"}
@event{LobbyBeacon.endUserIDs._experience.emailid.id, defaultValue : 2} ungültig, da der Standardwert eine Ganzzahl ist, während der erwartete Wert eine Zeichenfolge ist.Beispiele:
// for an event 'OrderEvent' having the following payload:
{
"orderId": "12345"
}
expression example:
- @event{OrderEvent.orderId} -> "12345"
- @event{OrderEvent.productId, defaultValue : "not specified" } -> "not specified" // default value, productId is not a field present in the payload
- @event{OrderEvent.productId} -> null
// for an entity 'Profile' on datasource 'ACP' having fields person/lastName, with fetched data such as:
{
"person": {
"lastName":"Snow"
},
"emails": [
{ "email":"john.snow@winterfell.westeros" },
{ "email":"snow@thewall.westeros" }
]
}
expression examples:
- #{ACP.Profile.person.lastName} -> "Snow"
- #{ACP.Profile.emails.at(1).email} -> "snow@thewall.westeros"
- #{ACP.Profile.person.age, defaultValue : -1} -> -1 // default value, age is not a field present in the payload
- #{ACP.Profile.person.age} -> null
Sie können jede Art von Ausdruck als Standardwert hinzufügen. Die einzige Einschränkung besteht darin, dass der Ausdruck den erwarteten Datentyp zurückgeben muss. Bei Verwendung einer Funktion muss diese in Klammern () eingeschlossen werden.
#{ExperiencePlatform.Subscriptions.profile.consents.marketing.any.time, defaultValue : (now())}
== date("2022-02-10T00:00:00Z")
Verweis auf ein Feld in Sammlungen
Auf die in Sammlungen definierten Elemente wird mit den speziellen Funktionen all, first und last verwiesen. Weitere Informationen dazu finden Sie auf dieser Seite.
Beispiel:
@event{LobbyBeacon._experience.campaign.message.profile.pushNotificationTokens.all()
Verweis auf ein in einer Zuordnung definiertes Feld
entry-Funktion
Um ein Element in einer Zuordnung abzurufen, verwenden Sie die Eingabefunktion mit einem bestimmten Schlüssel. Sie wird beispielsweise verwendet, wenn der Schlüssel eines Ereignisses entsprechend dem ausgewählten Namespace definiert wird. Weitere Informationen finden Sie auf dieser Seite.
@event{MyEvent.identityMap.entry('Email').first().id}
In diesem Ausdruck erhalten wir den Eintrag für den Schlüssel „Email“ des Felds „IdentityMap“ eines Ereignisses. Der Eintrag „Email“ ist eine Sammlung, aus der wir mithilfe von „first()“ die „ID“ im ersten Element übernehmen. Weitere Informationen finden Sie auf dieser Seite.
firstEntryKey-Funktion
Verwenden Sie die firstEntryKey-Funktion, um den ersten Eintragsschlüssel einer Zuordnung abzurufen.
In diesem Beispiel wird gezeigt, wie die erste E-Mail-Adresse der Abonnenten aus einer bestimmten Liste abgerufen wird:
#{ExperiencePlatform.Subscriptions.profile.consents.marketing.email.subscriptions.entry('daily-email').subscribers.firstEntryKey()}
In diesem Beispiel erhält die Abonnement-Liste den Namen daily-email. E-Mail-Adressen werden als Schlüssel in der Zuordnung subscribers definiert, die mit der Zuordnung der Abonnement-Liste verknüpft ist.
keys-Funktion
Um alle Schlüssel einer Zuordnung abzurufen, verwenden Sie die keys-Funktion.
In diesem Beispiel wird gezeigt, wie für ein bestimmtes Profil alle E-Mail-Adressen abgerufen werden, die mit den Abonnenten aus einer bestimmten Liste verknüpft sind:
#{ExperiencePlatform.Subscriptions.profile.consents.marketing.email.subscriptions.entry('daily-mail').subscribers.keys()
Parameterwerte einer Datenquelle (dynamische Werte der Datenquelle)
Wenn Sie ein Feld aus einer externen Datenquelle auswählen, für das ein Parameter aufgerufen werden muss, wird rechts eine neue Registerkarte angezeigt, auf der Sie diesen Parameter spezifizieren können. Weitere Informationen finden Sie auf dieser Seite.
Bei komplexeren Anwendungsfällen können Sie, wenn Sie die Parameter der Datenquelle in den Hauptausdruck einbeziehen möchten, deren Werte mit dem Keyword params definieren. Ein Parameter kann ein beliebiger gültiger Ausdruck sein und selbst aus einer anderen Datenquelle stammen, die ebenfalls einen anderen Parameter enthält.
Verwenden Sie die folgende Syntax:
#{<datasource>.<field group>.fieldName, params: {<params-1-name>: <params-1-value>, <params-2-name>: <params-2-value>}}
<params-1-name>: genauer Name des ersten Parameters aus der Datenquelle.<params-1-value>: der Wert des ersten Parameters. Dies kann ein beliebiger gültiger Ausdruck sein.
Beispiel:
#{Weather.main.temperature, params: {localisation: @event{Profile.address.localisation}}}
#{Weather.main.temperature, params: {localisation: #{GPSLocalisation.main.coordinates, params: {city: @event{Profile.address.city}}}}}
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page explains how to reference event fields and data source field groups in journey expressions, including default value syntax, map access functions (
entry,firstEntryKey,keys), and inline data source parameter passing with theparamskeyword.
Intents:
- Reference an event field in an expression using the
@event{eventName.fieldPath}syntax - Reference a data source field group using the
#{dataSourceName.fieldGroupName.fieldPath}syntax - Assign a fallback default value to a field reference so expressions do not return null
- Retrieve a specific entry from an identity map or subscription map using the
entry()function - Retrieve all keys from a map field using the
keys()function - Pass parameter values to an external data source inline using the
paramskeyword
Glossary:
- Field reference: An expression syntax that points to a named field within an event payload or data source field group (product-specific)
- defaultValue: An optional fallback expression appended to a field reference that is returned when the field is absent or null (product-specific)
- entry(key): A map function that retrieves the collection entry associated with the given key (product-specific)
- firstEntryKey(): A map function that returns the first key of a map field (product-specific)
- keys(): A map function that returns all keys of a map field (product-specific)
- params keyword: Inline syntax for specifying parameter values for external data source fields within the main expression (product-specific)
Guardrails:
- Field names containing special characters (starting with a digit, containing
-, or characters outsidea-z A-Z 0-9 _) must be wrapped in single or double quotes - The default value expression must return the same data type as the field — mismatched types are invalid
- When the
paramskeyword is used to define parameter values inline, the separate parameter tab on the right of the editor disappears - Functions used as default values must be encapsulated in parentheses
Terminology:
- Canonical name: Field References — Acronym: none — variants: field path, field expression
- Synonyms:
@event{...}= “event field reference”;#{...}= “data source field reference” - Do not confuse: event fields (prefixed
@) ≠ data source fields (prefixed#)
FAQ:
- Q: How do I reference a field whose name starts with a number? — Wrap the field name in single or double quotes, e.g.
#{OpenWeather.weatherData.rain.'3h'}. - Q: What happens when a referenced field is missing from the event payload and no default value is set? — The expression returns
null. - Q: How do I set a dynamic default value using a function? — Wrap the function call in parentheses, e.g.
defaultValue: (now()). - Q: How do I retrieve the email address stored as the first key in a subscriber map? — Use the
firstEntryKey()function on the subscribers map field. - Q: How do I pass a parameter to an external data source without using the right-side tab? — Use the
paramskeyword inline:#{DataSource.group.field, params: {paramName: value}}.