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

Num() は数値をフォーマットします。つまり、2 番目のパラメーターで指定された形式を使用して、入力の数値をテキストを表示するように変換します。2 番目のパラメーターを省略すると、データ ロード スクリプトで設定された 10 進数と 1000 進数の区切り文字が使用されます。カスタムの小数点および桁区切り記号は、オプションのパラメータです。

構文:

Num(number[, format[, dec\_sep [, thou\_sep]]])

戻り値データ型： デュアル

Num 関数は、文字列と数値の両方が指定されたデュアル値を返します。この関数は、入力式の数値を取得し、数値を表す文字列を生成します。

引数

| 引数 | 説明 |
| --- | --- |
| number | 評価対象のテキスト文字列。 |
| format | 結果として返される文字列の書式を設定する方法を指定する文字列。省略した場合、データ ロード スクリプトで設定されている 10 進数と 1000 進数の区切り文字が使用されます。<br><br>`Num` 関数は、さまざまな数値構造に対して多くの形式オプションをサポートしています。次に例を示します。<br><br>`#,##0`:​小数点なしで数値を表示します。<br><br>`#,##0.00`:​小数点以下 2 桁の数値を表示します。<br><br>`##0.00%`: 数値を小数点以下 2 桁のパーセンテージとして表示します。<br><br>`​#,##0;(#,##0)`: 負の数値を括弧内に表示されるようにフォーマットします。<br><br>`$#,##0.00`: 数値を $ 記号付きの通貨としてフォーマットします。<br><br>`​0.00E+0`: 数値を科学的記数法で表示します。 |
| dec\_sep | 小数点記号を指定する文字列。省略されている場合は、データ ロード スクリプトで設定された変数 DecimalSep 値が使用されます。<br><br>`Num` 関数は、次のような多くの小数点区切り形式をサポートしています。<br><br>カンマ​「`,`」: 千ドルは `$1,000,00` など。<br><br>ピリオド 「`.`」: ​`€ 1,000.00` など。<br><br>ハイフン「`-`」: 小数点の記号として従来のピリオドやカンマの代わりに使用すると、`¥1,000-00` のような値が表示されます。<br><br>​詳細については、「[DecimalSep](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DecimalSep.htm)」を参照してください。 |
| thou\_sep | 3 桁区切りの記号を指定する文字列。省略されている場合は、データ ロード スクリプトで設定された変数 ThousandSep 値が使用されます。<br><br>`Num` 関数は、3 桁区切りの記号の多くのオプションをサポートしています。<br><br>ピリオド​「`.`」: 3 桁ごとの区切りにピリオドを使用します (一部のヨーロッパ形式で一般的)。小数点の記号のコンマと組み合わせると `$1.000,00` として表示されます。<br><br>スペース​「 」: 一部のヨーロッパ諸国で一般的な、3 桁ごとの区切りにスペースを使用します。`€ 1 000.00` と表示されます。<br><br>アンダースコア​「`_`」:​ 3 桁ごとの区切りとしてアンダースコアを使用します。これは、技術的な形式や特定の地域の形式で使用されることがあります。`$1_000.00` のような値が表示されます。<br><br>​詳細については、「[ThousandSep](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ThousandSep.htm)」を参照してください。 |

数値の書式設定の詳細については、「[数値や日付書式の変換](https://help.qlik.com/ja-JP/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm)」を参照してください。

例: チャートの数式

| 例 | 結果 (返される文字列値) |
| --- | --- |
| `Num(35648.312)` | `35648.312` を返します (スクリプト内の環境変数に応じて異なる) |
| `Num(35648.312, '0.0', '.')` | `35648.3` を返します |
| `Num(35648.312, '0,00', ',')` | `3,56,48` を返します |
| `Num(35648.312, '#,##0.0', '.', ',')` | `35,648.3` を返します |
| `Num(35648.312, '# ##0', ',', ' ')` | `35 648` を返します |

## 例 - Num の基本

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Num.htm)

#### チャートの数式

概要

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

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

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

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

  * `InputValue`

ロード スクリプト

```
Example:
Load * inline [
InputValue
35648
3564800
356.48
];
```

結果

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

* ` InputValue
                                       `

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

* `=Num(InputDate)`、システム設定を使用してフォーマットされた数値として値を表示します。

* `=Num(InputValue, '0.0', '.')`、関数で指定された形式を使用してフォーマットされた数値として値を表示します。

* `=Num(InputValue, '0,00', ',')`、関数で指定された形式を使用してフォーマットされた数値として値を表示します。

* `=Num(InputValue, '#,##0.0', '.', ',')`、関数で指定された形式を使用してフォーマットされた数値として値を表示します。

* `=Num(InputValue, '# ##0', ',', ' ')`、関数で指定された形式を使用してフォーマットされた数値として値を表示します。

Results table

| InputValue | Num(InputDate) | Num(InputValue, '0.0', '.') | Num(InputValue, '0,00', ',') | Num(InputValue, '#,##0.0', '.', ',') | Num(InputValue, '# ##0', ',', ' ') |
| --- | --- | --- | --- | --- | --- |
| 356.48 | 356.48 | 356.5 | 3,56 | 356.5 | 356 |
| 35648 | 35648 | 35648.0 | 3,56,48 | 35,648.0 | 35 648 |
| 3564800 | 3564800 | 3564800.0 | 3,56,48,00 | 3,564,800.0 | 3 564 800 |

結果は、`Num` 関数が関数式で指定された形式に基づいて `InputValue` 項目の値を表示する方法を示しています。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Num.htm)

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

`Num` 関数は、ロード スクリプトで 3 桁区切りと小数点の記号がすでに設定されている場合であっても、そのロード スクリプトで使用して数字の書式を設定できます。以下のロード スクリプトには、特定の千の桁区切りと小数点の記号が含まれていますが、`Num` を使用して異なる方法でデータの書式を設定します。

ロード スクリプト

データ ロード エディター で、新しいセクションを作成し、サンプル スクリプトを追加して実行します。その後、結果テーブルに含まれている項目をアプリケーションのシートに追加して結果を表示します。

```
SET ThousandSep=',';
SET DecimalSep='.';
Transactions:
Load
*,
Num(transaction_amount) as [No formatting],
Num(transaction_amount,'0') as [0],
Num(transaction_amount,'#,##0') as [#,##0],
Num(transaction_amount,'# ###,00') as [# ###,00],
Num(transaction_amount,'# ###,00',',',' ') as [# ###,00 , ',' , ' '],
Num(transaction_amount,'#,###.00','.',',') as [#,###.00 , '.' , ','],
Num(transaction_amount,'$#,###.00') as [$#,###.00],
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 20180830, 12423.56, 23, 0,2038593, L, Red
3751, 20180907, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180916, 15.75, 1, 0.22, 5646471, S, blue
3753, 20180922, 1251, 7, 0, 3036491, l, Black
3754, 20180922, 21484.21, 1356, 75, 049681, xs, Red
3756, 20180922, -59.18, 2, 0.333333333333333, 2038593, M, Blue
3757, 20180923, 3177.4, 21, .14, 203521, XL, Black
];
```

結果

ロード スクリプトでの NumNum 関数のさまざまな使用法の結果を示した Qlik SenseQlik Sense テーブル。テーブルの 4 列目には、例示目的で誤った書式設定が含まれています。

| No formatting | 0 | #,##0 | # ###,00 | # ###,00 , ',' , ' ' | #,###.00 , '.' , ',' | $#,###.00 |
| --- | --- | --- | --- | --- | --- | --- |
| -59.18 | -59 | -59 | -59###,00 | -59,18 | -59.18 | $-59,18 |
| 15.75 | 16 | 16 | 16###,00 | 15,75 | 15.75 | $15,75 |
| 1251 | 1251 | 1,251 | 1251###,00 | 1 251,00 | 1,251.00 | $1,251.00 |
| 3177.4 | 3177 | 3,177 | 3177###,00 | 3 177,40 | 3,177.40 | $3,177.40 |
| 5356.31 | 5356 | 5,356 | 5356###,00 | 5 356,31 | 5,356.31 | $5,356.31 |
| 12423.56 | 12424 | 12,424 | 12424###,00 | 12 423,56 | 12,423.56 | $12,423.56 |
| 21484.21 | 21484 | 21,484 | 21484###,00 | 21 484,21 | 21,484.21 | $21,484.21 |

## 例 - Num のシナリオ

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Num.htm)

#### チャートの数式

概要

データセットには、より単純な数値形式を使用して表示する販売データが含まれています。

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

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

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

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

  * `Customer`
  * `Sales`

ロード スクリプト

```
Example:
Load * inline [
Customer, Sales
Customer A, 2550000
Customer B, 12500
Customer C, 15000
Customer D, 250
];
```

結果

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

* ` Customer
                                       `

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

* `=If(Sales > 1000000, Num(Sales/1000000, '#,##0.00M'), If(Sales > 1000, Num(Sales/1000, '#,##0.00K'), Num(Sales, '#,##0.00')))`、値の数値表現を設定します。

Results table

| Customer | If(Sales &gt; 1000000, Num(Sales/1000000, '#,##0.00M'), If(Sales &gt; 1000, Num(Sales/1000, '#,##0.00K'), Num(Sales, '#,##0.00'))) |
| --- | --- |
| Customer A | 2.55M |
| Customer B | 12.50K |
| Customer C | 15.00K |
| Customer D | 250.00 |

列 2 のメジャーの数式では、`Num` 関数を使用して、データを簡略化された数値形式で表示します。

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/FormattingFunctions/Num.htm)

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

`Num` 関数は、ロード スクリプトで使用して、数字をパーセントとして書式設定できます。

ロード スクリプト

データ ロード エディターで、新しいセクションを作成し、サンプル スクリプトを追加して実行します。その後、結果列に含まれている項目をアプリケーションのシートに追加して結果を表示します。

```
SET ThousandSep=',';
SET DecimalSep='.';
Transactions:
Load
*,
Num(discount,'#,##0%') as [Discount #,##0%]
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 20180830, 12423.56, 23, 0,2038593, L, Red
3751, 20180907, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180916, 15.75, 1, 0.22, 5646471, S, blue
3753, 20180922, 1251, 7, 0, 3036491, l, Black
3754, 20180922, 21484.21, 1356, 75, 049681, xs, Red
3756, 20180922, -59.18, 2, 0.333333333333333, 2038593, M, Blue
3757, 20180923, 3177.4, 21, .14, 203521, XL, Black
];
```

パーセントの書式設定のためにロード スクリプトで使用されている `Num`Num 関数の結果を示した Qlik SenseQlik Sense テーブル。

| Discount | Discount #,##0% |
| --- | --- |
| 0 | 0% |
| 0.1 | 10% |
| 0.22 | 22% |
| 0 | 0% |
| 75 | 7,500% |
| 0.333333333333333 | 33% |
| .14 | 14% |