Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Июнь 25, 2018, 12:50:31 pm

Автор Тема: Сравнение текста в скрипте  (Прочитано 570 раз)

Оффлайн LoryMax

  • Наставник
  • **
  • Сообщений: 85
  • Страна: ru
  • Рейтинг: +10/-0
    • Просмотр профиля
Сравнение текста в скрипте
« : Март 02, 2017, 08:30:27 pm »
Приветствую!
Есть таблица: объект, артикул, дата, элементы товародвижения, остатки. Хочу удалить при первоначальном и при инкрементальном проходе нули остатков перед первым товародвижением.

При инкрементальном чуть больше код, а именно:
T8:
                    load *
                        ,if(ARTICLE<>peek('ARTICLE') and Flag=1,1,
                              if(ARTICLE<>peek('ARTICLE') and TotalDailyRest<>0, 1,
                                  if(ARTICLE<>peek('ARTICLE') and Flag<>1, 0,
                                      if(ARTICLE=peek('ARTICLE') and TotalDailyRest<>0, 1,
                                          if(ARTICLE=peek('ARTICLE') and Peek(Flag) = 1,1,0))))) as Flag
                      Resident T7
                      order by OBJECT, ARTICLE, CREATEDAT
                    ;

Т.е. при Flag = 0 в дальшейшем удалятся строки.

Проблема, что нельзя использовать ARTICLE<>peek('ARTICLE') , т.к. не числа. Что можно взамен использовать? Артикулы как текст, вида 068770.

Оффлайн millik

  • Наставник
  • **
  • Сообщений: 77
  • Страна: by
  • Рейтинг: +33/-0
    • Просмотр профиля
Re: Сравнение текста в скрипте
« Ответ #1 : Март 06, 2017, 03:11:33 pm »
Смотрите в сторону функции мatch() и её производных: mixmatch() и wildmatch().

Будет что-то типа
мatch(ARTICLE,peek('ARTICLE'))=1  - если есть совпадения
мatch(ARTICLE,peek('ARTICLE'))=0  - если нет совпадений

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1139
  • Страна: ru
  • Рейтинг: +125/-0
    • Просмотр профиля
Re: Сравнение текста в скрипте
« Ответ #2 : Март 06, 2017, 08:14:40 pm »
Проблема, что нельзя использовать ARTICLE<>peek('ARTICLE') , т.к. не числа. Что можно взамен использовать? Артикулы как текст, вида 068770.
Стоп, почему нельзя использовать peek() с текстом?
Все прекрасно работает.

Следует учитывать сортировку и переходы по ключевым значениям верхнего уровня. В вашем примере это OBJECT.

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

Re: Сравнение текста в скрипте
« Ответ #2 : Март 06, 2017, 08:14:40 pm »