# MoneyFormat

システム変数は、数値のプレフィックスとして通貨記号が付くテキストから数値への自動変換のために Qlik が使用する書式パターンを定義します。また、Number Formatting プロパティが「金額」に設定されたメジャーがチャート オブジェクトに表示される方法も定義されます。

`MoneyFormat` システム変数で書式パターンの一部として定義された記号が、地域設定によって設定された通貨記号の代わりに使用されます。

ヒント メモ

既定により、Qlik Sense ではテーブル チャート内で数字とテキストが異なって表示されます。数字は右揃え、テキストは左揃えです。これにより、テキストから数字への変換の問題を容易に見つけることができます。Qlik Sense の結果を表示するこのページのいずれのテーブルもこの書式を使用します。

構文:

MoneyFormat

` Set MoneyFormat='$ #,##0.00; ($ #,##0.00)';  `

この書式は、数値項目の `Number Formatting` プロパティが `Money` に設定されたときに、チャート オブジェクトに表示されます。さらに、数値テキスト項目が Qlik Sense によって解釈される際、テキスト項目の通貨記号が `MoneyFormat` 変数で定義された記号と一致する場合、Qlik Sense がこの項目を金額値として解釈します。

この関数は、次の関数とよく併用されています。

関連する関数

| ファンクション | 相互作用 |
| --- | --- |
| [MoneyDecimalSep](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.htm) | 数字書式については、オブジェクトの項目書式に `MoneyDecimalSep` が使用されます。 |
| [MoneyThousandSep](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyThousandSep.htm) | 数字書式については、オブジェクトの項目書式に `MoneyThousandSep` が使用されます。 |

## リージョンの設定

特に指定のない限り、このトピックの例では MM/DD/YYYY の日付書式を使用しています。 日付書式は、データ ロード スクリプトの `SET DateFormat` ステートメントで指定されています。既定の日付書式は、リージョンの設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。詳しくは「[アプリケーションとスクリプトの地域設定の変更](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm)」を参照してください。

アプリケーションの既定のリージョン設定は、ユーザー プロファイルに基づいています。これらのリージョンの書式設定は、Qlik Cloud ユーザー インターフェースに表示される言語とは関係ありません。Qlik Cloud は使用しているブラウザと同じ言語で表示されます。

アプリケーションの作成者は、作成するアプリケーションの既定のリージョンを設定できます。詳細については、「[Qlik Cloud Analytics でアプリとスクリプトを作成するための優先地域設定の設定](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting)」を参照してください。

## 例 1 - MoneyFormat

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

#### ロード スクリプトと結果

概要

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

ロード スクリプトには、`Transactions` という名前のテーブルに読み込まれるデータセットが含まれています。既定の `MoneyFormat` 変数定義が使用されます。

ロード スクリプト

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$###0.00;-$###0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,$10000000441
01/02/2022,2,$21237492432
01/03/2022,3,$249475336
01/04/2022,4,$24313369837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];
```

結果

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

* `date`

* `amount`

このメジャーを追加します。

`=Sum(amount)`

[数値書式] で、[通貨] を選択して、`Sum(amount)` を金額値として構成します。

結果テーブル

| date | Amount | =Sum(amount) |
| --- | --- | --- |
| 合計 |  | $165099674156.00 |
| 01/01/2022 | $10000000441 | $10000000441.00 |
| 01/02/2022 | $21237492432 | $21237492432.00 |
| 01/03/2022 | $249475336 | $249475336.00 |
| 01/04/2022 | $24313369837 | $24313369837.00 |
| 01/05/2022 | $7873578754 | $7873578754.00 |
| 01/06/2022 | $24313884663 | $24313884663.00 |
| 01/07/2022 | $545883436 | $545883436.00 |
| 01/08/2022 | $35545828255 | $35545828255.00 |
| 01/09/2022 | $37565817436 | $37565817436.00 |
| 01/10/2022 | $3454343566 | $3454343566.00 |

既定の `MoneyFormat` 定義が使用されます。これは次のようになります: `$###0.00;-$###0.00`。結果テーブルでは、[`amount`] 項目の書式には通貨記号と小数点が表示され、小数点以下桁数が含まれます。

## 例 2 - 千単位区切り記号と入力書式混在可能な MoneyFormat

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

#### ロード スクリプトと結果

概要

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

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

* 混在入力書式データセット。これは千単位区切り記号と小数点の記号が混在した状態で `Transactions` というテーブルにロードされます。

* `MoneyFormat` 定義は、千単位区切り記号としてカンマを使うよう変更されています。

* データ行の 1 つが、誤ってカンマの千単位区切り記号で区切られています。この金額がテキストのままであり、数値に解釈されていなことに注意してください。

ロード スクリプト

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat = '$#,##0.00;-$#,##0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,'$10,000,000,441.45'
01/02/2022,2,'$212,3749,24,32.23'
01/03/2022,3,$249475336.45
01/04/2022,4,$24,313,369,837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];		
```

結果

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

* `date`

* `amount`

このメジャーを追加します:

`=Sum(amount)`

[数値書式] で、[通貨] を選択して、`Sum(amount)` を金額値として構成します。

結果テーブル

| date | Amount | =Sum(amount) |
| --- | --- | --- |
| 合計 |  | $119,548,811,911.90 |
| 01/01/2022 | $10,000,000,441.45 | $10,000,000,441.45 |
| 01/02/2022 | $212,3749,24,32.23 | $0.00 |
| 01/03/2022 | $249475336.45 | $249,475,336.45 |
| 01/04/2022 | $24 | $24.00 |
| 01/05/2022 | $7873578754 | $7,873,578,754.00 |
| 01/06/2022 | $24313884663 | $24,313,884,663.00 |
| 01/07/2022 | $545883436 | $545,883,436.00 |
| 01/08/2022 | $35545828255 | $35,545,828,255.00 |
| 01/09/2022 | $37565817436 | $37,565,817,436.00 |
| 01/10/2022 | $3454343566 | $3,454,343,566.00 |

スクリプトの開始時に、`MoneyFormat` システム変数は千単位区切り記号としてカンマを使用するよう変更されます。Qlik Sense テーブルで、書式はこの区切り記号を使っていることがわかります。さらに、誤った区切り記号が使われた行が誤って解釈され、テキストのままになっています。金額の合計に含まれていないのはそのためです。