Содержание урока по Qlik Sense
Использование формата Time и Timestamp в задачах бизнес-аналитики встречается не так часто, как задачи с датами. Однако, если такая задача появляется, то появляется очень много вопросов как сделать то или иное преобразование.
В предыдущей главе учебника я описывал как хранится формат timestamp (из чего он состоит). В этом разделе я опишу дополнительно с помощью каких функций можно работать со значениями Time и Timestamp.
Итак, как мы выяснили раньше Timestamp – это дробное число, в котором целая часть – это дата, а дробная часть – это время (т.е. time). Все число – это дата время или timestamp.
Рассмотрим результат работы функции Now() и функций, которые изменяют либо формат отображения данных, либо само число:
| Now() | 16.06.2019 15:03:57 |
| Num(Now()) | 43632,627743056 |
| Time(Now()) | 15:03:57 |
| Num(Time(Now())) | 43632,627743056 |
| Time#(Now(),’DD.MM.YYYY h:mm:ss[.fff]’) | 16.06.2019 15:03:57 |
| Num(Time#(Now(),’DD.MM.YYYY h:mm:ss[.fff]’)) | 0,627743056 |
| Frac(Now()) | 0,627743056 |
| Time(Frac(Now())) | 15:03:57 |
Изменение в дробной части влияет на время, изменение в целой части влияет на дату. Если Вам необходимо придумать модель Qlik Sense, в которой будет хитрым образом обрабатываться время – этих знаний будет достаточно для того, чтобы “изобрести” нужный Вам алгоритм.
1. Now() – возвращает текущую Дату и текущее время (отображается в соответствии с системной переменной SET TimestampFormat=’DD.MM.YYYY h:mm:ss[.fff]’; см. вкладку Main в скрипте).
2. Time() и Time#() – аналог Date() и Date#(), только для времени). Time влияет только на отображение данных в модели, т.е. влияет только на формат отображения числа. Time# – сообщает Qlik в каком формате данные поступают на вход функции, результатом будет дробная часть (если формат определен корректно).
3. Frac() и Num() – Frac() оставляет от числа с дробной частью только дробную часть, т.е. остается часть со временем. Num() меняет формат отображения дата время на числовой формат (см. пример вверху).
4. ReloadTime()
5. MakeTime()
6. ConvertToLocalTime()
7. FileTime() – с помощью этой функции в скрипте можно получить дату и время обновления файла. Пример получения даты и времени обновления файла qvd:
Let vFileDateTimeModified = FileTime('C:\QlikSenseProject\SourceData\QVD\РегистрПродаж.qvd'); 8. Timestamp() и Timestamp#()
9. Interval()
MakeTime(0,1) = 0:01:00 //1 минута Frac(MakeTime(0,1)) = 0,000694444 //1 минута в числовом выражении Frac(MakeTime(0,1))*60 = 0,041666667 //1 час в числовом выражении Frac(MakeTime(0,1))*60*24 = 1 //1 день = 1 в числовом выражении
Now() Num(Now()) TimeStamp(Num(time(frac(floor(Now(),1/1440)),'hh:mm'))+floor(Now())) Num(time(frac(floor(Now(),1/1440)),'hh:mm'))+floor(Now())
Результат работы формул:
Введение Иногда при создании расширения Qlik Sense вам необходимо получить доступ к системным данным. Это…
// Команда, которая будет запускаться в Powershell на сервере LET vPowershellCommand = 'Get-ChildItem -Path ''lib://Data/QVDs''…
Как построить диаграмму Control Chart со скользящим средним в Qlik Sense? В этой статье будет…
Как сделать чередование цвета в строках прямой таблицы Qlik Sense? Если порядок строк неважен, то…
Обзор В этой серии руководств мы собираемся создать расширение Qlik Sense с использованием Nebula.js и…
Создание расширенного расширения визуализации с использованием Qlik Nebula.js и D3.js В моем последнем посте я рассказал…
This website uses cookies.