# NULLスクリプトおよびチャート関数

Null 関数は、null 値を返します。

構文:

Null( )

戻り値データ型： NULL

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `If(Product = 'A', Null(),Sum(Sales))` | この数式は、`Product A` に対して `NULL` を返し、それ以外の場合は製品の売上合計を返します。 |

## 例 - Null の基本

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/Null.htm)

#### チャートの数式

概要

シンプルなデータセットを使用して、`Null` 関数のさまざまな使用方法を説明します。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `ID`

  * `Value`

ロード スクリプト

```
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* `ID`

* `Value`

次の計算軸を作成します。

* `=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )`、`Value` 項目に、値なし、ダッシュ (-) 文字、または `NULL` 値のいずれかが含まれている場合は `NULL` を返し、それ以外の場合は値を返します。

* `=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F')`、`Value` 項目に NULL 値が含まれているかどうかに応じて、値 `T` (true) または `F` (false) を返します。

Results table

| ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 378 | 378 | F |

`Value` 列には、データセットに入力されたデータが表示されます。最初のメジャー (列 3) は、`Null` 関数を使用して、`IF` ステートメントの条件 `len(trim(Value))= 0 or Value='NULL' or Value='-'` を満たす値に対して `NULL` を返します。たとえば、最初の 3 行は要件を満たし、`NULL` を返しました。最後の行は、入力された値の `378` を返します。

2 番目のメジャー (列 4) は、列 3 の値を取得し、`NULL` の場合は `T`、`NULL` でない場合は `F` を返します。結果は、最初の 3 行が NULL 値であることを示しています。

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/Null.htm)

#### ロード スクリプト

この例では、4 行のインライン テーブルがロードされます。最初の 3 行の `Value` 列には何も含まれていないか、ダッシュ - または NULL というテキストが含まれています。これらの値を実際の NULL 値表現に変換します。

真ん中の先行する LOAD は、`Null` 関数を使用して変換を実行します。

1 つ目の先行する LOAD は、値が NULL かどうかをチェックする項目を追加しています。この例では、この項目は、見る人にわかりやすくするためにのみ追加されています。

```
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;

LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;

LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 386];
```

結果の表を以下に示します。`ValueNullConv` 列では、`NULL` 値が `-` で表されています。

Results table

| ID | Value | ValueNullConv | IsItNull |
| --- | --- | --- | --- |
| 0 |  | - | T |
| 1 | NULL | - | T |
| 2 | - | - | T |
| 3 | 386 | 386 | F |

## 例 - Null を使用して値を除外する

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NULLFunctions/Null.htm)

#### チャートの数式

概要

売上データを分析して、総売上高と `Product A` に関連しない売上を決定します。

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `Product`

  * `Sales`

ロード スクリプト

```
Example:
LOAD * Inline [
Product, Sales
A, 100
B, 150
C, 200
D, 250
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:

* `Product`

次のメジャーを作成します:

* `=Sum(Sales)`、総売上を計算します。

* `=If(Product = 'A', Null(),Sum(Sales))`、`Product` が `A` ではない合計売上を計算します。

Results table

| Product | Sum(Sales) | If(Product = 'A', Null(),Sum(Sales)) |
| --- | --- | --- |
| A | 100 | - |
| B | 150 | 150 |
| C | 200 | 200 |
| D | 250 | 250 |

この例では、`Null` 関数を使用して合計売上を計算し、特定の製品の売上を除外して値を `NULL` に設定する簡単な方法を示します。たとえば、2 番目のメジャーでは、`Product A` のすべての値が `NULL` を返して除外されました。