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

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

« назад - далее »

LoryMax

Приветствую!

Хочу сделать обновление в зависимости от времени. Если обновляем в день создания текущего файла, или до 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

#2
Цитата: LoryMax от 28 февраля  2017, 10:38:09  
Приветствую!

Хочу сделать обновление в зависимости от времени. Если обновляем в день создания текущего файла, или до 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(...))), тем самым вы отрежите время.

Яндекс.Метрика