NULL 値の処理
データベース クエリまたはテーブル間の結合の結果、特定の項目にデータが生成されない場合、通常、結果は NULL 値になります。
概要
Qlik Sense ロジックは、以下を実際の NULL 値として処理します。
-
ODBC接続から返されたNULL値
-
データ ロード スクリプトのテーブルの強制連結の結果として作成された NULL 値
-
データ ロード スクリプトで行われた結合の結果として作成された NULL 値
-
テーブルに表示される項目値の組み合わせを生成した結果として作成された NULL 値
NullAsValue の詳細については、「NullAsValue」を参照してください。
定義用のテキスト ファイルに NULL 値を含めることはできません。
ODBC からの NULL 値の関連付け/選択
ODBC データ ソースから NULL 値を関連付けたり、選択することができます。この目的のために、スクリプト変数が定義されています。次の構文を使用できます。
データ入力の最下位レベルにある ODBC データ ソースのすべての NULL 値の代わりにシンボル <sym> が使用されます。<sym> には任意の文字列を指定できます。
この機能をデフォルト解釈にリセットするには、次の構文を使用します。
SET NULLDISPLAY=;
ODBC 接続から返された NULL 値を空の文字列として Qlik Sense ロジックに解釈させるには、SELECT ステートメントの前に次の構文を追加します。
SET NULLDISPLAY=";
NullDisplay の詳細については、「NullDisplay 」を参照してください。
テキスト ファイルからの NULL 値の作成
テキスト ファイルまたは inline 節に存在する場合に、実 NULL 値として解釈されるシンボルを定義することができます。次のステートメントを使用します。
シンボル <sym> は、NULL として解釈されます。<sym> には任意の文字列を指定できます。
この機能をデフォルト解釈にリセットするには、次の構文を使用します。
SET NULLINTERPRET=;
NullInterpret の詳細については、「NullInterpret 」を参照してください。
数式における NULL 値の伝達
NULL 値は、いくつかの論理的および妥当な規則に基づいて、数式を介して伝達されます。
関数
一般的な規則としては、関数が定義されている範囲からパラメータが外れると、関数は NULL を返します。
数式 | 結果 |
---|---|
asin(2) | の戻り値: NULL |
log(-5) | の戻り値: NULL |
round(A,0) | の戻り値: NULL |
上記の結果として、評価で必要なパラメータのいずれかが NULL の場合、関数は原則として NULL を返します。
数式 | 結果 |
---|---|
sin(NULL) | の戻り値: NULL |
chr(NULL) | の戻り値: NULL |
if(NULL, A, B) | の戻り値: B |
if(True, NULL, A) | の戻り値: NULL |
if(True, A, NULL) | の戻り値: A |
2 番目の規則の例外として、型をテストするための論理関数があります。
数式 | 結果 |
---|---|
isnull(NULL) | の戻り値: True (-1) |
isnum(NULL) | の戻り値: False (0) |
算術および文字列演算子
これらの演算子のいずれかの側に NULL が発生した場合は、NULL が返されます。
数式 | 結果 |
---|---|
A + NULL | の戻り値: NULL |
A - NULL | の戻り値: NULL |
A / NULL | の戻り値: NULL |
A * NULL | の戻り値: NULL |
NULL / A | の戻り値: NULL |
0 / NULL | の戻り値: NULL |
0 * NULL | の戻り値: NULL |
A & NULL | returns A |
関係演算子
関係演算子のいずれかの側に NULL が発生した場合は、特別な規則が適用されます。
数式 | 結果 |
---|---|
NULL (任意の関係演算子) NULL | の戻り値: NULL |
A <> NULL | の戻り値: True (-1) |
A < NULL | の戻り値: False (0) |
A <= NULL | の戻り値: False (0) |
A = NULL | の戻り値: False (0) |
A >= NULL | の戻り値: False (0) |
A > NULL | の戻り値: False (0) |