# MoneyFormat

Эта системная переменная определяет образец формата, используемый Qlik для автоматического преобразования текста в число, где перед числом стоит символ денежной единицы. Она также определяет, как меры, для которых свойству «Формат числа» задано значение «Денежный», будут отображаться в объектах диаграммы.

Символ, определенный как часть образца формата в системной переменной `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/ru-RU/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.htm) | В качестве формата чисел будет использоваться `MoneyDecimalSep` для форматирования полей объектов. |
| [MoneyThousandSep](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyThousandSep.htm) | В качестве формата чисел будет использоваться `MoneyThousandSep` для форматирования полей объектов. |

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому вы обращаетесь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в Qlik Sense интерфейсе пользователя. Qlik Sense будет отображаться на том же языке, что и используемый вами браузер.

## Пример 1. MoneyFormat

[](https://help.qlik.com/en-US/sense/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) |
| --- | --- | --- |
| Totals |  | $165099674156.00 |
| 01/01/2022 | $10000000441 | $10 000 000 441,00 |
| 01/02/2022 | $21237492432 | $21 237 492 432,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/sense/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,'$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) |
| --- | --- | --- |
| Totals |  | $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 видно, что форматирование включает этот разделитель. Более того, строку с ошибочным разделителем не удалось правильно интерпретировать, и она осталась в виде текста. Именно поэтому эта строка не включена в итоговую сумму.