Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Ноябрь 18, 2018, 03:05:41 pm

Автор Тема: Условия по времени (Qlikview & Qlik Sense)  (Прочитано 794 раз)

Оффлайн LoryMax

  • Наставник
  • **
  • Сообщений: 85
  • Страна: ru
  • Рейтинг: +11/-0
    • Просмотр профиля
Условия по времени (Qlikview & Qlik Sense)
« : Февраль 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 считает истиной.

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1216
  • Страна: ru
  • Рейтинг: +129/-0
    • Просмотр профиля
Re: Условия по времени
« Ответ #1 : Март 01, 2017, 07:22:30 am »
Привет.
Проводите сравнение в числовом формате.
Дата - это целая часть числа, а время - дробная.

Оффлайн millik

  • Наставник
  • **
  • Сообщений: 81
  • Страна: by
  • Рейтинг: +35/-0
    • Просмотр профиля
Re: Условия по времени (Qlikview & Qlik Sense)
« Ответ #2 : Март 06, 2017, 03:01:32 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(...))), тем самым вы отрежите время.

Неофициальный форум пользователей QlikView & Qlik Sense

Re: Условия по времени (Qlikview & Qlik Sense)
« Ответ #2 : Март 06, 2017, 03:01:32 pm »