Условия для форматов числа и времени

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

Форматы чисел

  • Для обозначения определенного числа разрядов используется символ "0" для каждого разряда.

  • Для обозначения возможного разряда используйте символ "#". Если формат содержит только символы # слева от десятичного разделителя и числа меньше 1, нули отбрасываются и числа начинаются с десятичного разделителя. Если формат содержит символы # справа от десятичного разделителя, будут отображены все значения.

  • Чтобы отметить позицию разделителя тысяч или десятичного разделителя, используйте соответствующий разделитель тысяч и десятичный разделитель.

Код формата используется для определения позиций разделителей. Невозможно установить разделитель в коде формата. Для этого используйте переменныеDecimalSep и ThousandSep в скрипте.

Можно использовать разделитель тысяч для группировки цифр по любому числу позиций. Например, строка формата "0000-0000-0000" (разделитель тысяч="-") может использоваться для отображения двенадцатиразрядного номера компонента, такого как "0012-4567-8912".

См.: DecimalSep и ThousandSep

Примеры:  

# ##0

описывает число как целое с разделителем тысяч.

###0

описывает число как целое без разделителя тысяч.

0000 описывает число как целое не менее чем с четырьмя разрядами. Например, число 123 будет отображаться как 0123.
0.000

описывает число с тремя десятичными знаками.

0.0##

описывает число с тремя десятичными знаками. Некоторые числа могут отображаться в виде нулей.

Специальные форматы чисел

Программа QlikView может интерпретировать и форматировать числа с любым основанием от 2 до 36, включая двоичные, восьмеричные и шестнадцатеричные числа. Также поддерживаются римские форматы.

Двоичный формат

Чтобы указать двоичный формат, код формата должен начинаться с (bin) или (BIN).

Восьмеричный формат

Чтобы указать восьмеричный формат, код формата должен начинаться с (oct) или (OCT).

Шестнадцатеричный формат

Чтобы указать шестнадцатеричный формат, код формата должен начинаться с (hex) или (HEX). При использовании прописных букв для форматирования будут использоваться буквы A-F (например, 14FA). При использовании строчных букв для форматирования будут использоваться буквы a-f (например, 14fa). Интерпретация будет работать для обоих вариантов независимо от регистра букв кода формата.

Десятичный формат

Использование элементов (dec) или (DEC) для обозначения десятичного формата допускается, но это излишне.

Настраиваемый формат основания

Для указания формата с любым основанием от 2 до 36 код формата должен начинаться с (rxx) или (Rxx), где xx — это двухзначное число, обозначающее используемое основание. Если используется прописная буква R, буквы в основаниях более 10 будут изменены на прописные при выполнении форматирования программой QlikView (например, 14FA). При использовании строчных букв для форматирования будут использоваться строчные буквы (например, 14fa). Интерпретация будет работать для обоих вариантов независимо от регистра букв кода формата. Необходимо иметь в виду, что элемент (r02) эквивалентен элементу (bin), элемент (R16) эквивалентен элементу (HEX) и т. д.

Римский формат

Чтобы указать римские числа, код формата должен начинаться с элемента (rom) или (ROM). При использовании прописных букв для форматирования будут использоваться прописные буквы (например, MMXVI). При использовании строчных букв для форматирования будут использоваться строчные буквы (например, mmxvi). Интерпретация будет работать для обоих вариантов независимо от регистра букв кода формата. Римские цифры обобщаются со знаком минус для отрицательных чисел, и 0 для нуля. При использовании римского форматирования десятичные дроби игнорируются.

Примеры:  

num(199, '(bin)') возвращает 11000111
num(199, '(oct)') возвращает 307
num(199, '(hex)') возвращает c7
num(199, '(HEX)' ) возвращает C7
num(199, '(r02)' ) возвращает 11000111
num(199, '(r16)') возвращает c7
num(199, '(R16)' ) возвращает C7
num(199, '(R36)') возвращает 5J
num(199, '(rom)') возвращает cxcix
num(199, '(ROM)' ) возвращает CXCIX

Даты

Для форматирования даты можно использовать следующие символы. Можно использовать произвольные разделители.

D

Для описания дня используйте символ "D" для каждого разряда.

M

Для описания числа месяца используйте символ "M".

  • Для одного или двух разрядов используйте символы "M" или "MM".
  • Символ "MMM" обозначает короткое название месяца в буквах, как определено операционной системой или переопределено системной переменной MonthNames в скрипте.
  • Символ "MMMM" обозначает длинное название месяца в буквах, как определено операционной системой или переопределено системной переменной LongMonthNames в скрипте.

См.: MonthNames и LongMonthNames

Y

Для описания года используйте символ "Y" для каждого разряда.

W

Для описания для недели используйте символ "W".

  • Символ "W" возвратит число дня (например, 0 для понедельника) как одноразрядное число.
  • Символ "WW" возвратит число с двумя разрядами (например, 02 для среды).
  • Символ "WWW" отобразит короткую версию названия дня недели (например, пон), как определено операционной системой или переопределено системной переменной DayNames в скрипте.
  • Символ "WWWW" отобразит длинную версию названия дня недели (например, понедельник), как определено операционной системой или переопределено системной переменной LongDayNames в скрипте.

См.: DayNames и LongDayNames

Примеры: (31 марта 2013 года в качестве даты для примера)

YY-MM-DD описывает дату как 13-03-31.
YYYY-MM-DD описывает дату как 3/31/13.
YYYY-MMM-DD описывает дату как 2013-март-31.
DD MMMM YYYY описывает дату как 31 марта 2013 г.
M/D/YY описывает дату как 3/31/13.
W YY-MM-DD описывает дату как 6 13-03-31.
WWW YY-MM-DD описывает дату как сб 13-03-31.
WWWW YY-MM-DD описывает дату как вскр 13-03-31.

Время

Для форматирования времени можно использовать следующие символы. Можно использовать произвольные разделители.

h

Для описания часов используйте символ "h" для каждого разряда.

m

Для описания минут используйте символ "m" для каждого разряда.

s

Для описания секунд используйте символ "s" для каждого разряда.

f Для описания долей секунды используйте символ "f" для каждого разряда.
tt

Для описания времени в формате AM/PM используйте символ "tt" после времени.

Примеры: (18:30 в качестве времени для примера):

hh:mm описывает время как 18:30
hh.mm.ss.ff описывает время как 18.30.00.00
hh:mm:tt описывает время как 06:30:pm

Метки времени

В метках времени используется такая же нотация, как для дат и времени выше.

Примеры: (31 марта 2013 года 18:30 в качестве метки времени для примера):

YY-MM-DD hh:mm описывает метку времени как 13-03-31 18:30.
M/D/Y hh.mm.ss.ffff описывает метку времени как 3/31/13 18.30.00.0000