Указанный десятичный разделитель заменяет символ десятичного знака для денежных сумм, заданный в региональных настройках.
Примечание к подсказке
По умолчанию Qlik Sense по-разному отображает числа и текст в диаграммах таблицы. Числа выравниваются по правому краю, а текст по левому. Это позволяет легко выявлять проблемы преобразования текста в числа. Все таблицы на этой странице, в которых отображаются результаты Qlik Sense, будут использовать это форматирование.
Синтаксис:
MoneyDecimalSep
Приложения Qlik Sense будут интерпретировать текстовые поля, соответствующие этому формату, как денежные значения. Текстовое поле должно содержать символ валюты, определенный в системной переменной MoneyFormat. MoneyDecimalSep особенно полезно при работе с источниками данных, полученными из систем с разными региональными настройками.
Следующий пример демонстрирует возможное использование системной переменной MoneyDecimalSep:
Set MoneyDecimalSep='.';
Эта функция часто используется вместе со следующими функциями:
Связанные функции
Функция
Взаимодействие
MoneyFormat
В случаях интерпретации текстового поля символ MoneyFormat будет использоваться как часть такой интерпретации. В качестве формата чисел будет использоваться MoneyFormat для Qlik Sense в объектах диаграммы.
MoneyThousandSep
В случаях интерпретации текстового поля также необходимо использовать функцию MoneyThousandSep.
Региональные настройки
Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе SET DateFormat скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.
Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому обращается пользователь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Sense. Qlik Sense будет отображаться на языке, который используется в браузере.
Пример 1. Использование точки (.) в MoneyDecimalSep
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, загруженный в таблицу под именем 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
=isNum(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
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, загруженный в таблицу под именем 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
=isNum(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
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!