Интерпретация даты и времени
Программа QlikView сохраняет каждое значение даты, времени и метки времени, обнаруженное в данных, как серийный номер даты. Серийный номер даты используется для дат, значений времени и меток времени, а также в арифметических вычислениях на основе записей даты и времени. Таким образом, можно складывать и вычитать значения даты и времени, сравнивать временные интервалы и т. д.
Серийный номер даты – это (действительное) число дней, прошедших с 30 декабря 1899 г., т. е. формат QlikView идентичен системе дат 1900, которая используется в Microsoft Excel и других программах, в диапазоне от 1 марта 1900 г. до 28 февраля 2100 г. Например, 33857 соответствует 10 сентября 1992 г. За пределами этого диапазона программа QlikView использует ту же систему дат, расширенную до григорианского календаря.
Серийный номер для значения времени представляет собой число от 0 до 1. Серийный номер 0.00000 соответствует 00:00:00, а 0.99999 соответствует 23:59:59. Смешанные числа указывают дату и время: серийный номер 2.5 означает 1 января 1900 г., полдень.
Однако данные отображаются в соответствии с форматом строки. По умолчанию используются настройки из раздела Панель управления. Можно настроить формат данных в скрипте с использованием переменных интерпретации чисел или с помощью функции форматирования. Наконец, можно переформатировать данные на листе свойств объекта листа.
Переменные интерпретации числа
Пример 1:
Строка даты | Серийный номер даты |
---|---|
1997-08-06 | 35648 |
09:00 | 0.375 |
1997-08-06 09:00 | 35648.375 |
и наоборот.
Серийный номер даты | Указанный формат числа | Строка даты |
---|---|---|
35648 | 'D/M/YY' | 6/8/97 |
0.375 | 'hh.mm' | 09.00 |
Программа QlikView следует установленным правилам при попытке интерпретации дат, времени и данных других типов. Однако окончательный результат будет зависеть от нескольких факторов, как описано выше.
Пример 2:
В этих примерах предполагаются следующие настройки по умолчанию:
- Десятичный разделитель числа: .
- Краткий формат даты: YY-MM-DD
- Формат времени: hh:mm
В следующей таблице показаны различные представления, когда данные считываются в программу QlikView без специальной функции интерпретации в скрипте:
Исходные данные | Интерпретация программы QlikView по умолчанию | Формат даты 'YYYY-MM-DD' | Формат даты 'MM/DD/YYYY' | Формат времени 'hh:mm' | Формат числа '# ##0.00' |
---|---|---|---|---|---|
0.375 | 0.375 | 1899-12-30 | 12/30/1899 | 09:00 | 0.38 |
33857 | 33857 | 1992-09-10 | 09/10/1992 | 00:00 | 33 857.00 |
97-08-06 | 97-08-06 | 1997-08-06 | 08/06/1997 | 00:00 | 35 648.00 |
970806 | 970806 | 4557-12-21 | 12/21/4557 | 00:00 | 970 806.00 |
8/6/97 | 8/6/97 | 8/6/97 | 8/6/97 | 8/6/97 | 8/6/97 |
В следующей таблице показаны различные представления, когда данные считываются в программу QlikView с помощью функции интерпретации в скрипте date#( A, 'M/D/YY'):
Исходные данные | Интерпретация программы QlikView по умолчанию | Формат даты 'YYYY-MM-DD' | Формат даты 'MM/DD/YYYY' | Формат времени 'hh:mm' | Формат числа '# ##0.00' |
---|---|---|---|---|---|
0.375 | 0.375 | 0.375 | 0.375 | 0.375 | 0.375 |
33857 | 33857 | 33857 | 33857 | 33857 | 33857 |
97-08-06 | 97-08-06 | 97-08-06 | 97-08-06 | 97-08-06 | 97-08-06 |
970806 | 970806 | 970806 | 970806 | 970806 | 970806 |
8/6/97 | 8/6/97 | 1997-08-06 | 08/06/1997 | 00:00 | 35 648.00 |