Was sind systemdefiniert fehlende Werte?
Systemdefiniert fehlende Werte stellen unbekannte oder ungültige Datenwerte dar. In Datenbanken werden diese Werte häufig als Nullwerte bezeichnet. Systemdefiniert fehlende Werte unterscheiden sich von Leerwerten. Leerwerte werden normalerweise im Typknoten als bestimmte Werte oder Wertebereiche definiert, die als benutzerdefiniert fehlend betrachtet werden. Leerwerte werden im Modellierungskontext anders behandelt.
Erstellen von systemdefiniert fehlenden Werten
Systemdefiniert fehlende Werte können in Daten vorhanden sein, die aus einer Datenquelle gelesen werden (Datenbanktabellen können beispielsweise NULL -Werte enthalten). Systemdefiniert fehlende Werte können durch Verwendung des Werts undef
in Ausdrücken erstellt werden. Der folgende CLEM-Ausdruck gibt beispielsweise Age
zurück, wenn kleiner oder gleich 30
ist, oder einen fehlenden Wert, wenn größer als 30
:
if Age > 30 then undef else Age endif
Fehlende Werte können auch beim Ausführen eines Outer Joins, beim Teilen einer Zahl durch null, beim Berechnen der Quadratwurzel einer negativen Zahl und in anderen Situationen erstellt werden.
Anzeigen von systemdefiniert fehlenden Werten
Systemdefiniert fehlende Werte werden in Tabellen und in anderen Ausgaben als $null$
angezeigt.
Testen auf systemdefiniert fehlende Werte
Verwenden Sie die Sonderfunktion @NULL, damit true
zurückgegeben wird. wenn der Argumentwert ein systemdefiniert fehlender Wert ist. Beispiel:
if @NULL(MyFieldName) then 'It is null' else 'It is not null' endif
An Funktionen übergebene systemdefiniert fehlende Werte
Systemdefiniert fehlende Werte, die an Funktionen übergeben werden, führen zu fehlenden Werten in der Ausgabe. Wenn z. B. der Wert des Felds f1
ein systemdefiniert fehlender Wert in einer bestimmten Zeile ist, wird der Ausdruck log(f1)
auch als systemdefiniert fehlender Wert für diese Zeile ausgewertet. Eine Ausnahme ist die Funktion @NULL.
Systemdefiniert fehlende Werte in Ausdrücken mit arithmetischen Operatoren
Die Anwendung von arithmetischen Operatoren auf Werte, die einen systemdefiniert fehlenden Wert enthalten, ergibt einen systemdefiniert fehlenden Wert. Wenn der Wert des Felds f1
z. B. ein systemdefiniert fehlender Wert in einer bestimmten Zeile ist, wird der Ausdruck f1 + 10
auch als systemdefiniert fehlender Wert für diese Zeile ausgewertet.
Systemdefiniert fehlende Werte in Ausdrücken mit logischen Operatoren
Wenn Sie mit systemdefiniert fehlenden Werten in Ausdrücken mit logischen Operatoren arbeiten, gelten die Regeln einer dreiwertigen Logik (true, false und missing), die in Wahrheitstabellen beschrieben werden können. Die Wahrheitstabellen für die üblichen logischen Operatoren not, and und or werden in den folgenden Tabellen gezeigt.
Operand | NOT-Operand |
---|---|
Ja | Nein |
Nein | Ja |
missing | missing |
Operand1 | Operand2 | Operand1 AND Operand2 |
---|---|---|
Ja | Ja | Ja |
Ja | Nein | Nein |
Ja | missing | missing |
Nein | Ja | Nein |
Nein | Nein | Nein |
Nein | missing | Nein |
missing | Ja | missing |
missing | Nein | Nein |
missing | missing | missing |
Operand1 | Operand2 | Operand1 OR Operand2 |
---|---|---|
Ja | Ja | Ja |
Ja | Nein | Ja |
Ja | missing | Ja |
Nein | Ja | Ja |
Nein | Nein | Nein |
Nein | missing | missing |
missing | Ja | Ja |
missing | Nein | missing |
missing | missing | missing |
Systemdefiniert fehlende Werte in Ausdrücken mit Vergleichsoperatoren
Wenn Sie einen systemdefiniert fehlenden Wert mit einem nicht systemdefiniert fehlenden Wert vergleichen, wird das Ergebnis als systemdefiniert fehlender Wert und nicht als wahres oder falsches Ergebnis ausgewertet. Systemdefiniert fehlende Werte können miteinander verglichen werden; zwei systemdefiniert fehlende Werte gelten als gleich.
Systemdefiniert fehlende Werte in if/then/else/endif-Ausdrücken
Wenn Sie Bedingungsausdrücke verwenden und der Bedingungsausdruck einen systemdefiniert fehlenden Wert ausgibt, wird der Wert aus der Klausel else
vom Bedingungsausdruck ausgegeben.
Systemdefiniert fehlende Werte im Auswahlknoten
Wird der Auswahlausdruck für einen bestimmten Datensatz als fehlender Wert ausgewertet, wird der Datensatz nicht vom Auswahlknoten zurückgegeben (diese Aktion gilt für die Modi "Einschließen" und "Verwerfen").
Systemdefiniert fehlende Werte im Zusammenführungsknoten
Beim Zusammenführen unter Verwendung eines Schlüssels werden Datensätze, die systemdefiniert fehlende Werte in Schlüsselfeldern enthalten, nicht zusammengeführt.
Systemdefiniert fehlende Werte bei der Aggregation
Beim Aggregieren von Daten in Spalten werden fehlende Werte nicht in die Berechnung einbezogen. Beispiel: In einer Spalte mit drei Werten { 1
, 2
und undef
} wird die Summe der Werte in der Spalte als 3
berechnet; der Mittelwert wird als 1.5
berechnet.