Go back to the English version of the documentation

Práce se záznamy s chybějícími hodnotami systému

Last updated: 12. 1. 2023
Práce se záznamy s chybějícími hodnotami systému (SPSS Modeler)

Co systém postrádá hodnoty?

Systémem chybějící hodnoty reprezentují datové hodnoty, které nejsou známé nebo nejsou použitelné. V databázích jsou tyto hodnoty často označovány jako hodnoty NULL . Systémové chybějící hodnoty se liší od prázdných hodnot. Prázdné hodnoty jsou obvykle definovány v uzlu Typ jako konkrétní hodnoty nebo rozsahy hodnot, které lze považovat za uživatelsky definované-chybějící. Prázdné hodnoty jsou v kontextu modelování zpracovány jiným způsobem.

Konstruování systémových chybějících hodnot

Systémem chybějící hodnoty mohou být obsaženy v datech, která se čtou ze zdroje dat (například databázové tabulky mohou obsahovat hodnoty NULL ). Systémem chybějící hodnoty lze konstruovat pomocí hodnoty undef ve výrazech. Například, následující výraz CLEM vrátí Age, pokud je menší nebo rovno 30, nebo chybějící hodnotu, pokud je větší než 30:

if Age > 30 then undef else Age endif

Chybějící hodnoty lze také vytvořit, když je provedeno vnější spojení, je-li číslo děleno nulou, kdy se počítá druhá odmocnina záporného čísla a v jiných situacích.

Zobrazení systémových chybějících hodnot

Systémem chybějící hodnoty jsou zobrazeny v tabulkách a dalším výstupu jako $null$.

Testování pro chybějící hodnoty systému

Použijte speciální funkci @NULL k vrácení true , pokud hodnota argumentu je systémovou chybějící hodnotou. Příklad:

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

Systém postrádá hodnoty předané funkcím

Systémem chybějící hodnoty, které jsou předávány do funkcí, obvykle šíří chybějící hodnoty na výstup. Je-li například hodnota pole f1 systémem chybějící hodnota v určitém řádku, výraz log(f1) se také vyhodnotí na systém chybějící hodnotu pro tento řádek. Výjimkou je funkce @NULL .

Systém postrádá hodnoty ve výrazech, které zahrnují aritmetické operátory

Použití aritmetických operátorů na hodnoty, které obsahují systémovou chybějící hodnotu, má za následek chybějící hodnotu systému. Je-li například hodnota pole f1 systémem chybějící hodnota v určitém řádku, výraz f1 + 10 se také vyhodnotí na systém chybějící hodnotu pro tento řádek.

Systém postrádá hodnoty ve výrazech, které zahrnují logické operátory

Když pracujete se systémem s chybějícími hodnotami ve výrazech, které zahrnují logické operátory, použijí se pravidla tříhodnotové logiky (true, falsea chybějící) a mohou být popsány v tabulkách pravdy. Tabulky pravdivosti pro společné logické operátory not, anda or jsou zobrazeny v následujících tabulkách.

Tabulka 1. Tabulka pravdivosti pro NOT
Operand NOT Operand
ano ne
ne ano
chybí chybí
Tabulka 2. Tabulka pravdivosti pro AND
Operand1 Operand2 Operand1 AND Operand2
ano ano ano
ano ne ne
ano chybí chybí
ne ano ne
ne ne ne
ne chybí ne
chybí ano chybí
chybí ne ne
chybí chybí chybí
Tabulka 3. Tabulka pravdivosti pro OR
Operand1 Operand2 Operand1 OR Operand2
ano ano ano
ano ne ano
ano chybí ano
ne ano ano
ne ne ne
ne chybí chybí
chybí ano ano
chybí ne chybí
chybí chybí chybí

Systém postrádá hodnoty ve výrazech, které zahrnují operátory porovnání

Když porovnáte systémovou chybějící hodnotu a nesystémovou hodnotu, výsledek se vyhodnotí spíše na systémovou chybějící hodnotu, než na pravdivou nebo nepravdivou hodnotu. Systémem chybějící hodnoty lze porovnat navzájem; dva systémové chybějící hodnoty se považují za shodné.

Systémem chybějící hodnoty ve výrazech if/then/else/endif

Použijete-li podmíněné výrazy a podmíněný výraz vrací systémovou hodnotu, hodnota z klauzule else se vrátí z podmíněného výrazu.

Systém postrádá hodnoty v uzlu výběru

Když se pro konkrétní záznam výraz výběru vyhodnotí na chybějící hodnotu, záznam nebude výstupem z uzlu výběru (tato akce se použije na režimy zahrnutí a vyřazení).

Systém postrádá hodnoty v uzlu sloučení

Když sloučíte pomocí klíče, žádné záznamy, které mají systémové chybějící hodnoty v klíčeném poli, se nesloučí.

Systém postrádá hodnoty v agregaci

Při agregaci dat ve sloupcích nejsou do výpočtu zahrnuty chybějící hodnoty. Například ve sloupci se třemi hodnotami { 1, 2a undef } se součet hodnot ve sloupci vypočítá jako 3; střední hodnota se vypočítá jako 1.5.