# MoneyDecimalSep

Указанный десятичный разделитель заменяет символ десятичного знака для денежных сумм, заданный в региональных настройках.

Примечание к подсказке

По умолчанию Qlik Sense по-разному отображает числа и текст в диаграммах таблицы. Числа выравниваются по правому краю, а текст по левому. Это позволяет легко выявлять проблемы преобразования текста в числа. Все таблицы на этой странице, в которых отображаются результаты Qlik Sense, будут использовать это форматирование.

Синтаксис:

MoneyDecimalSep

Приложения Qlik Sense будут интерпретировать текстовые поля, соответствующие этому формату, как денежные значения. Текстовое поле должно содержать символ валюты, определенный в системной переменной `MoneyFormat`. `MoneyDecimalSep` особенно полезно при работе с источниками данных, полученными из систем с разными региональными настройками.

Следующий пример демонстрирует возможное использование системной переменной `MoneyDecimalSep`:

`Set MoneyDecimalSep='.';`

Эта функция часто используется вместе со следующими функциями:

Связанные функции

| Функция | Взаимодействие |
| --- | --- |
| `MoneyFormat` | В случаях интерпретации текстового поля символ `MoneyFormat` будет использоваться как часть такой интерпретации. В качестве формата чисел будет использоваться `MoneyFormat` для Qlik Sense в объектах диаграммы. |
| `MoneyThousandSep` | В случаях интерпретации текстового поля также необходимо использовать функцию `MoneyThousandSep`. |

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

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами. Для получения дополнительной информации см. раздел [Изменение региональных настроек для приложений и скриптов](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

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

Если вы — разработчик приложений, то можете задать регион по умолчанию для создаваемых приложений. Для получения дополнительной информации см. раздел [Установка предпочтительных региональных настроек для создания приложений и скриптов в Аналитика Qlik Cloud](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Пример 1. Использование точки (.) в MoneyDecimalSep

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.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,'$14.41'
01/02/2022,2,'$2,814.32'
01/03/2022,3,'$249.36'
01/04/2022,4,'$24.37'
01/05/2022,5,'$7.54'
01/06/2022,6,'$243.63'
01/07/2022,7,'$545.36'
01/08/2022,8,'$3.55'
01/09/2022,9,'$3.436'
01/10/2022,10,'£345.66'
];					
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:`amount`.

Добавьте следующие меры:

* `isNum(amount)`

* `sum(amount)`

Ниже приводятся результаты, демонстрирующие правильную интерпретацию только всех значений с символом доллара ($).

Результирующая таблица

| amount | =являетсячислом(сумма) | sum(amount) |
| --- | --- | --- |
| Итоги | 0 | $3905.98 |
| £345.66 | 0 | $0.00 |
| $3.436 | -1 | $3.44 |
| $3.55 | -1 | $3,55 |
| $7.54 | -1 | $7,54 |
| $14.41 | -1 | $14,41 |
| $24.37 | -1 | $24,37 |
| 243.63 | -1 | $243.63 |
| $249.36 | -1 | $249.36 |
| $545.36 | -1 | $545.36 |
| $2,814.32 | -1 | $2814.32 |

Приведенные выше результаты показывают, что поле `amount` правильно интерпретируется для всех значений с символом доллара ($), в то время как при использовании символа фунта (£) `amount` не преобразуется в денежное значение.

## Пример 2. Использование запятой (,) в MoneyDecimalSep

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.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,'$14,41'
01/02/2022,2,'$2.814,32'
01/03/2022,3,'$249,36'
01/04/2022,4,'$24,37'
01/05/2022,5,'$7,54'
01/06/2022,6,'$243,63'
01/07/2022,7,'$545,36'
01/08/2022,8,'$3,55'
01/09/2022,9,'$3,436'
01/10/2022,10,'$345.66'
];
```

Результаты

Текст абзаца для результатов.

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:`amount`.

Добавьте следующие меры:

* `isNum(amount)`

* `sum(amount)`

Ниже приводятся результаты, демонстрирующие правильную интерпретацию всех значений, кроме суммы, в которой использовалась точка в качестве десятичного разделителя. В этом случае должна была использоваться запятая.

Результирующая таблица

| amount | =являетсячислом(сумма) | sum(amount) |
| --- | --- | --- |
| Итоги | 0 | 3905,98 $ |
| 345,66 $ | 0 | $0.00 |
| 3 436 $ | -1 | 3,44 $ |
| 3,55 $ | -1 | $3.55 |
| $7,54 | -1 | $7.54 |
| $14,41 | -1 | $14.41 |
| 24,37 $ | -1 | 24,37 $ |
| 243,63 $ | -1 | 243,63 $ |
| 249,36 $ | -1 | 249,36 $ |
| 545,36 $ | -1 | 545,36 $ |
| 2 814,32 $ | -1 | 2 814,32 $ |