# NULL 値の処理

データベース クエリまたはテーブル間の結合の結果、特定の項目にデータが生成されない場合、通常、結果は NULL 値になります。



## 概要

Qlik Sense ロジックは、以下を実際の NULL 値として処理します。

* ODBC 接続から返されたNULL値。

* データ ロード スクリプトのテーブルの強制連結の結果として作成された NULL 値。

* データ ロード スクリプトで行われた結合の結果として作成された NULL 値

* テーブルに表示される項目値の組み合わせを生成した結果として作成された NULL 値

情報メモNullAsValue ステートメントが使用されている場合を除き、これらの NULL 値を関連付けや選択に使用することはできません。

NullAsValue の詳細については、「[NullAsValue](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/NullAsValue.htm)」を参照してください。

定義用のテキスト ファイルに NULL 値を含めることはできません。

## ODBC からの NULL 値の関連付け/選択

ODBC データ ソースから NULL 値を関連付けたり、選択することができます。この目的のために、スクリプト変数が定義されています。次の構文を使用できます。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/null-value-handling.htm)SET NULLDISPLAY=&lt;sym&gt;;

データ入力の最下位レベルにある ODBC データ ソースのすべての NULL 値の代わりにシンボル &lt;sym&gt; が使用されます。&lt;sym&gt; には任意の文字列を指定できます。

この機能をデフォルト解釈にリセットするには、次の構文を使用します。

SET NULLDISPLAY=;

情報メモNULLDISPLAY の使用は、ODBC データ ースのデータにのみ影響します。

ODBC 接続から返された NULL 値を空の文字列として Qlik Sense ロジックに解釈させるには、SELECT ステートメントの前に次の構文を追加します。

SET NULLDISPLAY=";

情報メモ'' は、間に何も挟まない 2 つの単一引用符です。

NullDisplay の詳細については、「[NullDisplay](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullDisplay.htm)」を参照してください。

## テキスト ファイルからの NULL 値の作成

テキスト ファイルまたは inline 節に存在する場合に、実 NULL 値として解釈されるシンボルを定義することができます。次のステートメントを使用します。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/null-value-handling.htm)SET NULLINTERPRET=&lt;sym&gt;;

シンボル &lt;sym&gt; は、NULL として解釈されます。&lt;sym&gt; には任意の文字列を指定できます。

この機能をデフォルト解釈にリセットするには、次の構文を使用します。

SET NULLINTERPRET=;

情報メモ NULLINTERPRET の使用は、テキスト ファイルおよび inline 節のデータにのみ影響します。

NullInterpret の詳細については、「[NullInterpret](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullInterpret.htm)」を参照してください。

## 数式における 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 | A を返します |

### 関係演算子

関係演算子のいずれかの側に NULL が発生した場合は、特別な規則が適用されます。

例

| 式 | 結果 |
| --- | --- |
| NULL (任意の関係演算子) NULL | NULL を返します |
| A &lt;&gt; NULL | True (-1) を返します |
| A &lt; NULL | False (0) を返します |
| A &lt;= NULL | False (0) を返します |
| A = NULL | False (0) を返します |
| A &gt;= NULL | False (0) を返します |
| A &gt; NULL | False (0) を返します |