IF
Syntax
IF(Prädikatspalte, then-Wert); IF(Prädikatspalte, then-Wert, else-Wert)
Parameter
Prädikatspalte
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 Daten extrahiert werden. Andernfalls wird Prädikatspalte auf die Anzahl der Zeilen begrenzt, die von der Makrofunktion EXTRACT verarbeitet werden (siehe die folgende "Beschreibung").
then-Wert
Der oder die Werte, die zurückgegeben werden, wenn die entsprechende Zeile von Prädikatspalte 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 finden Sie weitere Informationen zur Formatdefinition von then-Wert (identisch mit Daten).
else-Wert
Wenn dieser optionale Parameter angegeben wird, wird dieser Wert zurückgegeben, falls die entsprechende Zeile von Prädikatspalte 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-Wert nicht angegeben wird, wird jedes Mal eine Null zurückgegeben, wenn die Auswertung von Prädikatspalte 'falsch' ergibt. Unter Makrofunktionsparameter finden Sie weitere Informationen zur Formatdefinition von else-Wert (identisch mit Daten).
Beschreibung
IF wertet den Ausdruck in Prädikatspalte aus und gibt then-Wert zurück, wenn der Ausdruck wahr ist, bzw. else-Wert, wenn der Ausdruck falsch ist. In then-Wert und in else-Wert wird dieselbe Anzahl von Spalten zurückgegeben. Die neuen Spalten enthalten die entsprechenden Zeilenwerte aus then-Wert, wenn der Wert von Prädikatspalte ungleich null ist. Wenn else-Wert angegeben wird, wird dieser Wert zurückgegeben, falls der Wert von Prädikatspalte null ist. Wenn else-Wert 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 Prädikatspalte, then-Wert und else-Wert) ein Ergebnis erzeugt.
*
Dieses Makro ist in IBM® Interact verfügbar.
Beispiele
Erstellt eine neue Spalte TEMP, die eine Kopie von Spalte W1 enthält.
Erstellt eine neue Spalte TEMP, in der jeder Wert eins ist, wenn der entsprechende Zeilenwert von Spalte W1 ungleich null ist; andernfalls ist der Wert null.
Erstellt eine neue Spalte TEMP, in der jeder Wert aus Spalte W1 kopiert wird, wenn der entsprechende Wert von Spalte W3 ungleich null ist; andernfalls wird der Wert aus Spalte W2 kopiert.
Erstellt eine neue Spalte TEMP, die jeden Wert in Spalte W1 enthält, der weniger als eine Standardabweichung vom Mittelwert entfernt ist.
Erstellt eine neue Spalte TEMP, die Werte für Zeile 10-20 enthält. Jeder Wert wird aus Spalte W1 (Zelle 10-20) kopiert, wenn der entsprechende Wert von Spalte W3 (Zelle 30-40) ungleich null ist; andernfalls wird der Wert aus Spalte W2 (Zelle 1-11) kopiert.
Zugehörige Funktionen