Условия по времени (Qlikview & Qlik Sense)

Автор LoryMax, февраля 28, 2017, 10:38:09 pm

« предыдущая - следующая »

LoryMax

февраля 28, 2017, 10:38:09 pm Последнее редактирование: марта 01, 2017, 07:50:39 am от admin
Приветствую!

Хочу сделать обновление в зависимости от времени. Если обновляем в день создания текущего файла, или до 3х ночи следующего дня - то шаг обновления не делаем.

Не работает условие:

Let IH = 3;
Let DateLastData = date(FileTime(a)-MakeTime(IH));
If date(today(1)-MakeTime(IH)) > DateLastData then
...


У меня файл создан 28.02.2017 18:34, сейчас 01.03.2017 1:37, то есть по факту в условии будет 28.02.2017 > 28.02.2017, но почему то QS считает истиной.

admin

Привет.
Проводите сравнение в числовом формате.
Дата - это целая часть числа, а время - дробная.

millik

марта 06, 2017, 03:01:32 pm #2 Последнее редактирование: марта 06, 2017, 03:05:29 pm от millik
Цитата: LoryMax от февраля 28, 2017, 10:38:09 pm
Приветствую!

Хочу сделать обновление в зависимости от времени. Если обновляем в день создания текущего файла, или до 3х ночи следующего дня - то шаг обновления не делаем.

Не работает условие:

Let IH = 3;
Let DateLastData = date(FileTime(a)-MakeTime(IH));
If date(today(1)-MakeTime(IH)) > DateLastData then
...


У меня файл создан 28.02.2017 18:34, сейчас 01.03.2017 1:37, то есть по факту в условии будет 28.02.2017 > 28.02.2017, но почему то QS считает истиной.


Потому что по факту в условии будет не "28.02.2017 > 28.02.2017", а "28.02.2017 22:37 > 28.02.2017 15:34" что дает истину. 
Фунцкия Date() только преобразовывет формат данных для отображения, но не обрезает время.

Используйте Floor(Num(Date(...))), тем самым вы отрежите время.

Рейтинг@Mail.ru Яндекс.Метрика