@COLTEST

Mit der Funktion @COLTEST können Sie bedingte Berechnungen aktivieren, indem Sie eine oder mehrere Spaltenbedingungen testen. Wenn eine Bedingung erfüllt ist, gibt @COLTEST TRUE zurück. Um die bedingte Berechnung auszuführen, verwenden Sie die Funktion @IF.

Syntax

@COLTEST (<source_column>, <test_condition> [, <test_condition>] [, ...])

<source_column>

Der Name einer Quellspalte.

<test_condition>

Gültige Werte:

PRESENT

Gibt an, dass eine Spalte im Quelldatensatz vorhanden ist und nicht NULL. Spaltenwerte können fehlen, wenn die Datenbank keine Werte für Spalten protokolliert, die sich nicht ändern, aber nicht mit NULL identisch sind.

NULL

Gibt an, dass eine Spalte im Quelldatensatz und NULL vorhanden ist.

MISSING

Gibt an, dass keine Spalte im Quelldatensatz vorhanden ist.

INVALID

Gibt an, dass eine Spalte im Quelldatensatz vorhanden ist, aber ungültige Daten enthält.

Beispiele

Beispiel 1

Im folgenden Beispiel wird @IF verwendet, um einen Wert der Spalte HIGH_SALARY nur zuzuordnen, wenn die Spalte BASE_SALARY im Quelldatensatz sowohl vorhanden (und nicht NULL) als auch größer als 250000 war. Andernfalls wird NULL zurückgegeben.

HIGH_SALARY =
@IF (@COLTEST (BASE_SALARY, PRESENT) AND
BASE_SALARY > 250000,
BASE_SALARY, @COLSTAT (NULL))

Beispiel 2

Im folgenden Beispiel wird 0 zurückgegeben, wenn die Spalte AMT fehlt oder ungültig ist. Andernfalls wird ein Wert für AMT zurückgegeben.

AMOUNT = @IF (@COLTEST (AMT, MISSING, INVALID), 0, AMT)

Beispiel 3

Im folgenden Beispiel werden +nan und +snan dem 0 im Trail für die Spalte col für alle Ziele zugeordnet, auch wenn der spezielle Wert unterstützt wird.

TABLE src_table COLMAP(col = @if(@COLTEST(col, NAN, SNAN), 0, col))

Beispiel 4

Im folgenden Beispiel wird Infinity/-Infinity dem 0 im Trail zugeordnet, damit die Spalte col die Standardzuordnung zu einem bestimmten Ziel außer Kraft setzt.

MAP src_table, TARGET tgt_table, COLMAP(col = @if(@COLTEST(col, INF, -INF), 0,
    col))