Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Май 21, 2018, 12:38:32 am

Автор Тема: Set Analysys _ Отборы  (Прочитано 99 раз)

Оффлайн Наташа

  • Новичок
  • *
  • Сообщений: 11
  • Страна: by
  • Рейтинг: +1/-0
    • Просмотр профиля
Set Analysys _ Отборы
« : Май 12, 2018, 10:45:09 am »
Добрый день!

Подскажите, пожалуйста, как правильно сделать.

Мне необходимо подсчитать количество чеков за предыдущий год отобранного месяца и магазина, игнорируя даты.
Т.е. если в отборах выбрано Магазин, Год, Месяц, Число, чтобы считало за пред.год но за весь выбранный месяц.

Через Set Analysys у меня получилось вот таким образом:

if(GetFieldSelections(ВидОперации)='Продажа' or GetFieldSelections(ВидОперации)='Возврат', Count ({1<Год = {$(=Only(Год)-1)}, Месяц = {$(=Only(Месяц))}>} DISTINCT  %Код_чека), (Count ({1<Год = {$(=Only(Год)-1)}, Месяц = {$(=Only(Месяц))}, ВидОперации={'Продажа'}>} DISTINCT  %Код_чека)- Count ({1<Год = {$(=Only(Год)-1)}, Месяц = {$(=Only(Месяц))}, ВидОперации={'Возврат'}>} DISTINCT  %Код_чека)))

НО в данном случае, когда установлен отбор по магазину, то все равно выводит расчеты по всем магазинам.

Я добавила в Set Analysys Наименование_магазина:

if(GetFieldSelections(ВидОперации)='Продажа' or GetFieldSelections(ВидОперации)='Возврат', Count ({1<Год = {$(=Only(Год)-1)}, Месяц = {$(=Only(Месяц))}, Наименование_магазина = {$(=Only(Наименование_магазина))}>} DISTINCT  %Код_чека), (Count ({1<Год = {$(=Only(Год)-1)}, Месяц = {$(=Only(Месяц))}, Наименование_магазина = {$(=Only(Наименование_магазина))}, ВидОперации={'Продажа'}>} DISTINCT  %Код_чека)- Count ({1<Год = {$(=Only(Год)-1)}, Месяц = {$(=Only(Месяц))}, Наименование_магазина = {$(=Only(Наименование_магазина))}, ВидОперации={'Возврат'}>} DISTINCT  %Код_чека)))

В итоге вообще стало выводить 0.

Подскажите, пожалуйста, где ошибка или как правильно решить данную задачу


Оффлайн millik

  • Наставник
  • **
  • Сообщений: 69
  • Страна: by
  • Рейтинг: +30/-0
    • Просмотр профиля
Re: Set Analysys _ Отборы
« Ответ #1 : Май 14, 2018, 10:44:00 am »
В первом случае всё понятно, потому что перед множеством указан "определитель" 1, который явно указывает что выборка идет по всему множеству, игнорируя текущие выборки.

Во втором случае не совсем понятно почему не так. Но могу посоветовать вам использовать такое выражение "Наименование_магазина = P({$}[Наименование_магазина])" обычно я такое использую.

Оффлайн Наташа

  • Новичок
  • *
  • Сообщений: 11
  • Страна: by
  • Рейтинг: +1/-0
    • Просмотр профиля
Re: Set Analysys _ Отборы
« Ответ #2 : Май 15, 2018, 10:10:14 am »
Спасибо. Все получилось! :) :) :)

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

Re: Set Analysys _ Отборы
« Ответ #2 : Май 15, 2018, 10:10:14 am »