0 / 0
Go back to the English version of the documentation
Obsługa rekordów z systemowymi brakami danych
Last updated: 04 lip 2023
Obsługa rekordów za pomocą systemowych braków danych (SPSS Modeler)

Czym są systemowe braki danych?

Systemowe braki danych reprezentują wartości danych, które nie są znane lub nie mają zastosowania. W bazach danych takie wartości nazywane są często wartościami NULL. Systemowe braki danych nie są tożsame z wartościami pustymi. Puste wartości są zwykle definiowane w węźle Typy jako konkretne wartości lub zakresy wartości, które mogą być traktowane jako braki zdefiniowane przez użytkownika. Wartości puste w kontekście modelowania traktowane są inaczej.

Konstruowanie systemowych braków danych

Systemowe braki danych mogą być obecne w danych odczytanych ze źródła danych (na przykład tabele bazy danych mogą zawierać wartości NULL ). Systemowe braki danych można konstruować, używając w wyrażeniach wartości undef. Na przykład następujące wyrażenie CLEM zwraca Age, jeśli jest mniejsze lub równe 30, lub brakującą wartość, jeśli jest większa niż 30:

if Age > 30 then undef else Age endif

Braki danych mogą być także wynikiem łączenia zewnętrznego, dzielenia przez zero, próby obliczenia pierwiastka kwadratowego z liczby ujemnej oraz innych sytuacji.

Sposób prezentacji systemowych braków danych

Systemowe braki danych są uwidaczniane w tabelach i innych formach wyników jako wartości $null$.

Sprawdzanie, czy występują systemowe braki danych

Aby zwrócić true , należy użyć funkcji specjalnej @NULL , jeśli wartością argumentu jest systemowy brak wartości. Na przykład:

if @NULL(MyFieldName) then 'It is null' else 'It is not null' endif

Systemowe braki danych przekazywane do funkcji

Przekazanie systemowego braku danych do funkcji zwykle powoduje, że wynikiem również jest brak danych. Na przykład, jeśli wartość zmiennej f1 w konkretnym wierszu jest systemowym brakiem danych, to wyrażenie log(f1) dla tego wiersza także da w wyniku systemowy brak danych. Wyjątkiem jest funkcja @NULL.

Systemowe braki danych w wyrażeniach zawierających operatory arytmetyczne

Zastosowanie operatora arytmetycznego do systemowego braku danych daje w wyniku systemowy brak danych. Na przykład, jeśli wartość zmiennej f1 jest systemowym brakiem danych w określonym wierszu, to wyrażenie f1 + 10 jest również wartościowane do systemowego braku danych dla tego wiersza.

Systemowe braki danych w wyrażeniach zawierających operatory logiczne

W przypadku pracy z brakującą wartością systemową w wyrażeniach, które wiążą się z operatorami logicznymi, zastosowanie mają reguły trójwartościowej logiki (true, falsei missing) i można je opisać w tabelach prawda. Poniżej przedstawiono tabele prawdy dla typowych operatorów logicznych not, and oraz or.

Tabela 1. Tabela prawdy dla operatora NOT
Operand Operand NOT
Prawda Fałsz
Fałsz Prawda
brak brak
Tabela 2. Tabela prawdy dla operatora AND
Operand1 Operand2 Operand1 AND Operand2
Prawda Prawda Prawda
Prawda Fałsz Fałsz
Prawda brak brak
Fałsz Prawda Fałsz
Fałsz Fałsz Fałsz
Fałsz brak Fałsz
brak Prawda brak
brak Fałsz Fałsz
brak brak brak
Tabela 3. Tabela prawdy dla operatora OR
Operand1 Operand2 Operand1 OR Operand2
Prawda Prawda Prawda
Prawda Fałsz Prawda
Prawda brak Prawda
Fałsz Prawda Prawda
Fałsz Fałsz Fałsz
Fałsz brak brak
brak Prawda Prawda
brak Fałsz brak
brak brak brak

Systemowe braki danych w wyrażeniach zawierających operatory porównywania

Porównanie systemowego braku danych z wartością niebędącą systemowym brakiem danych daje w wyniku systemowy brak danych, a nie wartość prawda albo fałsz. Systemowe braki danych można porównywać ze sobą; dwa systemowe braki danych uznawane są za równe.

Systemowe braki danych w wyrażeniach if/then/else/endif

Gdy wyrażenie warunkowe zwraca systemowy brak danych, to wynikiem całego wyrażenia warunkowego jest wartość właściwa dla klauzuli else.

Systemowe braki danych w węźle selekcji

Gdy dla konkretnego rekordu wyrażenie selekcji daje w wyniku brak danych, rekord nie jest generowany z węzła selekcji (zasada ta obowiązuje zarówno w trybie uwzględniania, jak i odrzucania).

Systemowe braki danych w węźle łączenia

W przypadku łączenia przy użyciu klucza wszelkie rekordy z systemowymi brakami danych w polu klucza nie są łączone.

Systemowe braki danych w agregacjach

Podczas agregacji danych w kolumnach braki danych nie są uwzględniane w obliczeniach. Na przykład w kolumnie o trzech wartościach: { 1, 2i undef } suma wartości w kolumnie jest obliczana jako 3; średnia wartość jest obliczana jako 1.5.

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more