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