Перейти к основному содержимому

Интерпретация даты и времени

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

Серийный номер даты – это (действительное) число дней, прошедших с 30 декабря 1899 г., то есть формат Qlik Sense идентичен системе дат 1900, которая используется в Microsoft Excel и других программах, в диапазоне от 1 марта 1900 г. до 28 февраля 2100 г. Например, 33857 соответствует 10 сентября 1992 г. За пределами этого диапазона программа Qlik Sense использует ту же систему дат, расширенную до григорианского календаря.

Примечание к информацииЕсли в поле имеются даты, предшествующие 1 января 1980 г., поле не будет содержать системные теги $date или $timestamp. Qlik Sense распознает это поле в качестве поля даты, однако если существует необходимость в тегах, их можно добавить в скрипт загрузки данных вручную при помощи оператора Tag. Для получения дополнительной информации см. Tag.

Серийный номер для значения времени представляет собой число от 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

Программа Qlik Sense следует установленным правилам при попытке интерпретации дат, времени и данных других типов. Однако окончательный результат будет зависеть от нескольких факторов, как описано выше.

Пример 2:  

В этих примерах предполагаются следующие настройки по умолчанию:

  • Десятичный разделитель числа:
  • Краткий формат даты: YY-MM-DD
  • Формат времени: hh:mm

В следующей таблице показаны различные представления, когда данные считываются в программу Qlik Sense без специальной функции интерпретации в скрипте:

Вид таблицы в случае, когда данные считываются без специальной функции интерпретации в скрипте
Исходные данные Интерпретация программы Qlik Sense по умолчанию Формат даты 'YYYY-MM-DD' Формат даты 'MM/DD/YYYY' Формат времени 'hh:mm' Формат числа '# ##0.00'
0.375 0.375 1899-12-30 12/30/1899 09:00 0.38
33857338571992-09-1009/10/199200:0033 857.00
97-08-0697-08-061997-08-0608/06/199700:0035 648.00
9708069708064557-12-2112/21/455700:00970 806.00
8/6/978/6/978/6/978/6/978/6/978/6/97

В следующей таблице показаны различные представления, когда данные считываются в программу Qlik Sense с помощью функции интерпретации в скрипте date#( A, 'M/D/YY'):

Вид таблицы в случае, когда данные считываются с помощью функции интерпретации в скрипте date#( A, 'M/D/YY')
Исходные данные Интерпретация программы Qlik Sense по умолчанию Формат даты 'YYYY-MM-DD' Формат даты 'MM/DD/YYYY' Формат времени 'hh:mm' Формат числа '# ##0.00'
0.375 0.375 0.375 0.375 0.375 0.375
338573385733857338573385733857
97-08-0697-08-0697-08-0697-08-0697-08-0697-08-06
970806970806970806970806970806970806
8/6/978/6/971997-08-0608/06/199700:0035 648.00

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!