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

Форум разработчиков QlikView и Qlik Sense. Получи любые ответы на вопросы по QlikView и Qlik Sense в течении нескольких часов!

Вы не вошли.

#1 Re: Для начинающих » Как агрегировать данные по номенклатуре и отбросить отриц-е показатели » 2019-05-28 13:07:20

Добрый! Не поможет. Нужно чтобы он сначала вычислял излишек по номенклатуре, отрицательные откидывал, а положительные суммировал по измерению "Статус товара". В предложенном варианте он снова возьмет всё с одинаковым статусом и сложит.

Добавлено спустя 16 мин 38 с:
Напишу свою формулу проще.

If((Sum([Остаток])+sum([Остаток в пути]))-(sum( [ИТОГО ПЛАНЫ] + sum([ИТОГО ПЛАНЫ АКЦИИ]))>0,(Sum([Остаток])+sum([Остаток в пути]))-(sum( [ИТОГО ПЛАНЫ]+sum([ИТОГО ПЛАНЫ АКЦИИ]), 'Отсутствуют').

Формула правильно работает, когда расчет идет по измерению "Номенклатура", Номенклатуры с отрицательным излишком откидываются, но как только я хочу получить излишек всего товара со статусом "Активный", начинаются проблемы. Клик берет всё с одинаковым статусом и складывает номенклатуры с отрицательным и положительным излишком. Нужно как-то создать измерение в измерении. Чтобы он сперва вычислял излишек по одному измерению (по номенклатуре в моем случае) и если он положительный, то плюсовал к общему излишку по другому измерению (по статусу в моем случае).

#2 Для начинающих » Как агрегировать данные по номенклатуре и отбросить отриц-е показатели » 2019-05-27 15:57:57

Vasser
Ответов: 3

Здравствуйте!
Столкнулся с проблемой.
Не хватает фантазии для расчета итоговых показателей (вычислить суммарные излишки в разрезе по статусу товара).
Если излишек у номенклатуры отрицательный, мы его в общую сумму не добавляем, плюсуем только товары с положительным излишком. Формула работает по измерению «Номенклатура», но не работает по измерению "Статус товара". Т.к. в разрезе по статусу плюсует излишки всех товаров с одинаковым статусом, в том числе и номенклатуры с отрицательным излишком.
Подскажите пожалуйста как отбросить отрицательные излишки по измерению "Номенклатура" при расчете суммарных излишков по измерению "Статус товара"?

Формула расчёта излишка:
If(Излишек>0, Излишек, ‘Отсутствует’)

Где "Излишек" = ((Sum([Остаток])+ //ИТОГО ОСТАТКИ. Сумма всех остатков + товары в пути между складами. В разрезе по номенклатуре =sum([Остаток]+ [К получению]), где [Качество]='новый'
sum({<[Дата прибытия (Estimated date).autoCalendar.MonthsAgo]={0}>}[Остаток в пути (on the way)])+  //В ПУТИ ИМПОРТ. В разрезе по номенклатуре =sum[Остаток в пути (on the way)], где Дата прибытия (Estimated date)= текущий месяц
sum({<[Дата прибытия (Estimated date).autoCalendar.TwoMonth]={0}>}[Остаток в пути (on the way)])+    //В ПУТИ ИМПОРТ. В разрезе по номенклатуре =sum[Остаток в пути (on the way)], где Дата прибытия (Estimated date)= + следующий месяц
sum({<[Дата прибытия (Estimated date).autoCalendar.ThreeMonth]={0}>}[Остаток в пути (on the way)])+ //В ПУТИ ИМПОРТ. В разрезе по номенклатуре =sum[Остаток в пути (on the way)], где Дата прибытия (Estimated date)= + через месяц
sum([Готово к перевозке (ready for shipment)])+ // В ПРОИЗВОДСТВЕ ГОТОВО. В разрезе по номенклатуре =Sum[Готово к перевозке (ready for shipment)]
sum([Остаток в производстве (in production)]))- //В ПРОИЗВОДСТВЕ ОПЛАЧЕНО. В разрезе по номенклатуре =sum[Остаток в производстве (in production)]
(sum({<[OTP_Sales.%дата.autoCalendar.MonthsAgo]={0},[OTP_Sales.Тип данных]={'ПФА_ПП'}>}[OTP_Sales.План])+  //ИТОГО ПЛАНЫ (5 мес) текущий месяц
sum({<[OTP_Sales.%дата.autoCalendar.TwoMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПП'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ (5 мес) следующий месяц
sum({<[OTP_Sales.%дата.autoCalendar.ThreeMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПП'}>}[OTP_Sales.План])+ //ИТОГО ПЛАНЫ (5 мес) ...
sum({<[OTP_Sales.%дата.autoCalendar.FourMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПП'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ (5 мес) ...
sum({<[OTP_Sales.%дата.autoCalendar.FiveMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПП'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ (5 мес) План продаж на 4-й месяц вперед от текущей даты
sum({<[OTP_Sales.%дата.autoCalendar.MonthsAgo]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). Текущий месяц
sum({<[OTP_Sales.%дата.autoCalendar.TwoMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). Следующий месяц
sum({<[OTP_Sales.%дата.autoCalendar.ThreeMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.FourMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.FiveMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.SixMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+                //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.SevenMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.EightMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.NineMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.TenMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+     //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.ElevenMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])+    //ИТОГО ПЛАНЫ АКЦИИ (12 мес). ...
sum({<[OTP_Sales.%дата.autoCalendar.TwelveMonth]={0},[OTP_Sales.Тип данных]={'ПФА_ПА'}>}[OTP_Sales.План])))

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.008 сек, 9 запросов выполнено - Использовано памяти: 1.49 Мбайт (Пик: 1.61 Мбайт) ]