IF-Makro

Die IF Makro ist in Unica Campaign und Unica Interact verfügbar.

Syntax

IF(predicate_col, then_value) IF(predicate_col, then_value, else_value)

Parameter

predicate_col

Eine Spalte mit booleschen Werten oder ein Ausdruck, dessen Auswertung eine einzelne Spalte mit booleschen Werten ergibt. Boolesche Werte werden als null oder ungleich null interpretiert. Diese Spalte sollte mindestens so viele Zeilen enthalten wie der Datenbereich, aus dem die data extrahiert werden.

then_value

Der oder die Werte, die zurückgegeben werden, wenn die entsprechende Zeile von predicate_col einen Wert ungleich null enthält. Dabei kann es sich um einen konstanten Wert, eine Spalte oder einen Ausdruck handeln, dessen Auswertung einen dieser Typen ergibt. Unter Makrofunktionsparameter für Unica Campaign finden Sie weitere Informationen zur Formatdefinition von then_value (identisch mit data).

else_value

Wenn dieser optionale Parameter angegeben wird, wird dieser Wert zurückgegeben, falls die entsprechende Zeile von predicate_col eine Null enthält. Dabei kann es sich um einen konstanten Wert, eine Spalte oder einen Ausdruck handeln, dessen Auswertung einen dieser Typen ergibt. Wenn else_value nicht angegeben wird, wird jedes Mal eine Null zurückgegeben, wenn die Auswertung von predicate_col 'falsh' ergibt. Unter Makrofunktionsparameter für Unica Campaign finden Sie weitere Informationen zur Formatdefinition von else_value (identisch mit data).

Syntax

IF wertet den Ausdruck in predicate_col aus und gibt then_value zurück, wenn der Ausdruck wahr ist, bzw. else_value, wenn der Ausdruck "false" ist. IF gibt dieselbe Anzahl von Spalten im then_value und im else_value zurück. Die neuen Spalten enthalten die entsprechenden Zeilenwerte aus then_value, wenn der Wert von predicate_col ungleich null ist. Wenn der else_value angegeben wird, wird er zurückgegeben, wenn der Wert der predicate_col null ist. Wenn else_value nicht angegeben wird, wird null zurückgegeben.

Da IF zeilenweise vorgeht, wird für jede Zeile bis zum letzten Wert der kürzesten Spalte (d. h. der kürzesten Spalte von predicate_col, then_value und else_value) ein Ergebnis erzeugt.

Anmerkung: In der Regel empfiehlt es sich, eine Prädikatspalte zu erstellen, die eine der Vergleichsmakrofunktionen verwendet (==, >, <, ISEVEN, ISODD usw.).

Beispiele

TEMP = IF(1, V1)

Erstellt eine neue Spalte TEMP, die eine Kopie von Spalte V1 enthält.
TEMP = IF(V1, 1, 0)

Erstellt eine neue Spalte TEMP, in der jeder Wert eins ist, wenn der entsprechende Zeilenwert von Spalte V1 ungleich null ist; andernfalls ist der Wert null.

TEMP = IF(V3, V1, V2)

Erstellt eine neue Spalte TEMP, in die jeder Wert aus der Spalte V1 kopiert wird, wenn der entsprechende Wert der Spalte V3 ungleich Null ist; andernfalls wird der Wert aus der Spalte V2 kopiert.

TEMP = IF(ABS(V1-AVG(V1)) < STDV(V1), V1)

Erstellt eine neue Spalte TEMP, die jeden Wert in Spalte V1 enthält, der weniger als eine Standardabweichung vom Mittelwert entfernt ist.

TEMP = IF(V3[20:30], V1[30:40], V2)

Erstellt eine neue Spalte TEMP, die Werte für Zeile 10-20 enthält. Jeder Wert wird aus Spalte V1 (Zelle 10-20) kopiert, wenn der entsprechende Wert von Spalte V3 (Zelle 30-40) ungleich null ist; andernfalls wird der Wert aus Spalte V2 (Zelle 1-11) kopiert.