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

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: GrabVadim от 08 ноября 2016, 09:48:14

Название: Общая проданная дистрибуция (Qlikview, Qlik Sense)
Отправлено: GrabVadim от 08 ноября 2016, 09:48:14
Есть ассортимент из 5 товаров (SKU) и база клиентов 3 магазина. Каждый из магазинов в определенный временной  период закупает определенный ассортимент SKU определенного количества.
Требуется рассчитать Общую проданную дистрибуцию за отчетный период (день/месяц/квартал/год/любой указанный период).

Пример,
Магазин 1 закупил 5 SKU  Первая накладная -  3 SKU, вторая накладная - 3 SKU (два новых и одно из прошлой накладной.
Магазин 2 закупил 4 SKU  Первая накладная -  2 SKU, вторая накладная - 2 SKU. Все купленные SKU уникальные.
Магазин 3 закупил 1 SKU  Первая накладная -  1 SKU, вторая накладная - 1 SKU.  SKU одинаковые.

Общая проданная дистрибуция за период равна Проданная дистрибуция Магазин 1 + Проданная дистрибуция Магазин 2 + проданная дистрибуция Магазин 3 =5+4+1= 10 SKU.

Задача сводится к подсчету уникальных SKU по всем накладным клиентов  в отчетный период  и суммированию уникальных купленных SKU по всем клиентам.
Название: Re: Общая проданная дистрибуция
Отправлено: admin от 09 ноября 2016, 07:45:56
Привет.
И в чем именно вопрос?
count(distinct SKU)
Название: Re: Общая проданная дистрибуция
Отправлено: GrabVadim от 10 ноября 2016, 03:03:19
Цитата: admin от 09 ноября  2016, 07:45:56  
Привет.
И в чем именно вопрос?
count(distinct SKU)

Спасибо за ответ, но видимо вы не внимательно ознакомились с задачей.
Результат count(distict SKU) будет 5, а не 10.
Т.е. count(distict SKU) даст понимание широты проданного ассортимента, а не общую проданную дистрибуцию.
Данный вариант подходит для подсчета в рамках одного клиента, но ни как не на группе. Групповой результат должен быть получен суммированием индивидуальных значений
Название: Re: Общая проданная дистрибуция
Отправлено: admin от 11 ноября 2016, 07:09:17
Привет.
sum(
aggr(count(distinct SKU), Магазин )
)

Чтобы было проще обсуждать проблему и находить решение желательно выкладывать образец данных.
В любом табличном формате - csv, xls* или фрагмент скрипта загрузки load inline ...
В этом случае и участников обсуждения будет больше, обсуждение детальней и ответ точнее.
Название: Re: Общая проданная дистрибуция
Отправлено: Prive от 11 ноября 2016, 12:50:53
Цитата: GrabVadim от 10 ноября  2016, 03:03:19  
Спасибо за ответ, но видимо вы не внимательно ознакомились с задачей.
Результат count(distict SKU) будет 5, а не 10.
Т.е. count(distict SKU) даст понимание широты проданного ассортимента, а не общую проданную дистрибуцию.
Данный вариант подходит для подсчета в рамках одного клиента, но ни как не на группе. Групповой результат должен быть получен суммированием индивидуальных значений
Где Вы хотите выводить результат такого подсчёта? (широты ассортимента)
Можно выводить в итоговой строчке, выбрав подсчёт итого как сумма значений в строчках :

(https://qliksense-forum.ru/qvf/proxy.php?request=http%3A%2F%2Fs03.radikal.ru%2Fi176%2F1611%2F57%2Fbbff8ebab69c.png&hash=79ca6dea0d6fc8f5353435e382f7b8c87ab1a0bb) (http://radikal.ru)

Если хотите выводить, например, в текстбоксе, то нужно использовать Aggr():
CUSTOMER - это ваше поле "Магазин".

Sum(AGGR(Count(Distinct SKU),CUSTOMER))

В вложении документ qvw с тестовыми данными.
Название: Re: Общая проданная дистрибуция
Отправлено: GrabVadim от 12 ноября 2016, 03:43:55
Цитата: admin от 11 ноября  2016, 07:09:17  
Привет.
sum(
aggr(count(distinct SKU), Магазин )
)

Чтобы было проще обсуждать проблему и находить решение желательно выкладывать образец данных.
В любом табличном формате - csv, xls* или фрагмент скрипта загрузки load inline ...
В этом случае и участников обсуждения будет больше, обсуждение детальней и ответ точнее.

Спасибо! Мысль уловил!
Название: Re: Общая проданная дистрибуция
Отправлено: GrabVadim от 12 ноября 2016, 03:53:07
Цитата: Prive от 11 ноября  2016, 12:50:53  
Цитата: GrabVadim от 10 ноября  2016, 03:03:19  
Спасибо за ответ, но видимо вы не внимательно ознакомились с задачей.
Результат count(distict SKU) будет 5, а не 10.
Т.е. count(distict SKU) даст понимание широты проданного ассортимента, а не общую проданную дистрибуцию.
Данный вариант подходит для подсчета в рамках одного клиента, но ни как не на группе. Групповой результат должен быть получен суммированием индивидуальных значений
Где Вы хотите выводить результат такого подсчёта? (широты ассортимента)
Можно выводить в итоговой строчке, выбрав подсчёт итого как сумма значений в строчках :

(https://qliksense-forum.ru/qvf/proxy.php?request=http%3A%2F%2Fs03.radikal.ru%2Fi176%2F1611%2F57%2Fbbff8ebab69c.png&hash=79ca6dea0d6fc8f5353435e382f7b8c87ab1a0bb) (http://radikal.ru)

Если хотите выводить, например, в текстбоксе, то нужно использовать Aggr():
CUSTOMER - это ваше поле "Магазин".

Sum(AGGR(Count(Distinct SKU),CUSTOMER))

В вложении документ qvw с тестовыми данными.

Спасибо!  То что нужно Sum(AGGR(Count(Distinct SKU),CUSTOMER))
Название: Re: Общая проданная дистрибуция (Qlikview, Qlik Sense)
Отправлено: GrabVadim от 12 ноября 2016, 04:06:16
В продолжение темы...
Для отражения ежемесячных результатов по году выражение работает неправильно. Правильно показывает лишь в рамках единичного месяца
Как сделать так чтобы значение месяца, например октября считалось как  сумма по трем месяцам Sum(AGGR(Count(Distinct SKU),CUSTOMER))
, например октябрь - это результат октябрь-сентябрь-август (3 месяца)