Die Funktion ecm:countMapElements gibt die Anzahl der Elemente einer Spalte zurück, oder -1, wenn keine Daten vorliegen. Es wird ein Wert vom Typ Integer zurückgegeben.
Um den Integer in einen Booleschen Wert umzuwandeln, muss das Ergebnis dieser Funktion mit dem Operator größer als (>) und dem Wert Null (0) verglichen werden. Diese Funktion wird oft zusammen mit anderen Funktionen verwendet, um ein Ergebnis der Art True/False zu erstellen, welches in Personalisierungen oder Selektionen genutzt werden kann.
Struktur
ecm:countMapElements(Map)
Parameter
Parameter | Beschreibung |
---|
Map | Der Parameter spezifiziert das Ziel, das gezählt werden soll. |
Beispiel
Ein Pool-Container mit dem Namen Einkäufe beinhaltet alle Kundenkäufe. Der Schlüssel für den Pool-Container ist die Kunden-ID. In diesen Beispielen ist der Pool-Container mit einem Attribut verknüpft. Die Syntax des Parameters ist unterschiedlich für unverknüpfte Pool-Container (siehe ⇘ Syntax und Formatierung von Funktionen).
Der Pool-Container Einkäufe verfügt über eine Spalte namens Angebote. Diese Spalte enthält alle Angebote, auf die Kunden mit einem Einkauf reagierten.
Die Kunden-IDs sind ebenfalls in den Benutzerattributen gespeichert.
Eine Selektion wird dazu verwendet, eine Nachricht an Kunden zu senden, die bisher auf ein Angebot reagiert haben (egal wie). Der Ausdruck, der als Selektionskriterium verwendet wird, ist wie folgt aufgebaut:
${ecm:countMapElements(user.RelatedAttribute['Einkäufe']['Angebote'])> 0}
In diesem Beispiel zählt die Funktion ecm:countMapElements die Anzahl der Angebote für jede Kunden-ID und gibt einen Integer zurück. Wird dieser Integer mit dem Operator größer als (>) und dem Wert Null (0) verglichen, wird ein Boolescher Datentyp zurückgegeben. Jeder Wert, der größer als Null ist, gibt das Ergebnis True zurück, welches dem Selektionskriterium mitteilt, eine Nachricht zu senden.