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

Автор Тема: Использование / применение функции peek  (Прочитано 1176 раз)

Оффлайн asvas

  • Новичок
  • *
  • Сообщений: 3
  • Страна: ru
  • Рейтинг: +0/-0
    • Просмотр профиля
Господа, я дико извиняюсь за такой простой вопрос,
но я никак не могу понять функционал этой функции.
Т.е я разобрался в примере из документации.
Но в контексте данного кода не могу разобраться - Что именно она делает? :
tmp1:
LOAD min(Date(Date#(dt,'YYYYMMDD'))) as 'DateStart',  max(Date(Date#(dt,'YYYYMMDD'))) as 'DateEnd' Resident GOODS_MOVEMENT;

LET Date_Start = peek('DateStart',0,'tmp1');
LET Date_End = peek('DateEnd',0,'tmp1');
LET vStart = floor(Date_Start);       
LET vEnd = floor(Date_End);
LET vNumOfDays = vEnd - vStart + 1;
//DROP Table tmp1;

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1235
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Re: Использование / применение функции peek
« Ответ #1 : Январь 15, 2017, 07:39:48 am »
Привет.
Согласно описанию и своему предназначению peek('DateStart',0,'tmp1') возвращает значение переменной DateStart из первой строки/записи ( 0 обозначает первую запись) таблицы с именем tmp1.
Описание функции

Оффлайн asvas

  • Новичок
  • *
  • Сообщений: 3
  • Страна: ru
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Использование / применение функции peek
« Ответ #2 : Январь 15, 2017, 10:12:45 am »
Как вы наверное поняли, что контекст в коде - календарный.
Я уже видел примеры использования peek - относительно обоснованные.
Хоть и запутанные, но таблица tmp1 из кода состоит всего из двух значений.
почему нельзя было просто написать?
LOAD ДАТА
Resident GOODS_MOVEMENT //таблица откуда берем данные;

LET Date_Start = min(Date(Date#(dt,'YYYYMMDD'))) ;

Или у данных типы разные?

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

Re: Использование / применение функции peek
« Ответ #2 : Январь 15, 2017, 10:12:45 am »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1235
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Re: Использование / применение функции peek
« Ответ #3 : Январь 15, 2017, 01:56:08 pm »
Ну потому что так не сработает.
min() используется в скрипте в операторе загрузки.
Для  присвоения переменной минимального значения из числового ряда используется RangeMin().
Для чтения значений в скрипте из загруженных таблиц используется Peek().
Все на своих местах.

Оффлайн asvas

  • Новичок
  • *
  • Сообщений: 3
  • Страна: ru
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: Использование / применение функции peek
« Ответ #4 : Январь 15, 2017, 03:38:13 pm »
Понял.
Значит просто принять как данность.
спасибо

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

Re: Использование / применение функции peek
« Ответ #4 : Январь 15, 2017, 03:38:13 pm »