Лишнее количество в итоге. (QlikView)

Автор piton, 17 ноября 2016, 04:29:05

« назад - далее »

piton

Добрый день!
У меня ситуация следующая. Есть отчет, если проще то группа, в ней энное количество товара. Далее за выбранный период отображаются в сводной таблице сколько продалось товара, и остаток только на товар где продаж больше нуля. Реализовано функцией IF() продажи больше чем ноль то остаток показываем, если меньше или равно нулю, то остаток показываем ноль. А в настройках стоит, что позиции с нулевым выражением скрываем. Проблема в том, что итоги показывают остаток больше, так как итог сначала суммирует общее количество продаж и только потом проверяется функция IF().
Можно как-то заставить итог по остаткам отображать правильную сумму?

admin

Привет.
Вместо If пользуйтесь анализом множеств ( на эту тему сегодня новая статья вышла)
Попробуйте
sum({<[#Сумма]={'>0'}>} [#Сумма остатка])

piton

В моем случае ситуация сложнее. Пример я привел упрошенный.
В отчете продажи считаются так:
Sum({<[Дата] = {">=$(=[ДатаС])<=$(=[ДатаПо])"}>}[Кол-во движения товара реализация])
-
Sum({<[Дата] = {">=$(=[ДатаС])<=$(=[ДатаПо])"}>}[Кол-во движения товара реализация_интернет])

По мимо этого есть еще столбцы с данными.
И в итоге остаток высчитывается так:
if (  [Приход / Кол-во]=0 and [Торг. реал-ция / Кол-во]=0 and [Неторг. выбытие / Кол-во]=0 and [Вн.перем. между БЕ / Кол-во]=0 //Перечисление полей в функции if(), это название столбцов.
  , 0 ,
Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара прихода])
- Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара реализация])
- Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара выбытие])
- Sum({<[Дата] = {"<$(=[ДатаС])"}>} [Кол-во движения товара перемещение])
+ Sum({<[Дата] = {"<$(=[ДатаС])"}>}[Кол-во движения товара исходящий остаток])

Как в данном случае применить анализ множеств я не совсем представляю.

admin

В скрипт не думали перевести расчеты?

Prive

Цитата: piton от 17 ноября  2016, 04:29:05  
Добрый день!
У меня ситуация следующая. Есть отчет, если проще то группа, в ней энное количество товара. Далее за выбранный период отображаются в сводной таблице сколько продалось товара, и остаток только на товар где продаж больше нуля. Реализовано функцией IF() продажи больше чем ноль то остаток показываем, если меньше или равно нулю, то остаток показываем ноль. А в настройках стоит, что позиции с нулевым выражением скрываем. Проблема в том, что итоги показывают остаток больше, так как итог сначала суммирует общее количество продаж и только потом проверяется функция IF().
Можно как-то заставить итог по остаткам отображать правильную сумму?
Можете поробвовать прописать свои итоги, используя функцию  Dimensionality() :
IF( Dimensionality()>=1,
     формула показателя,
     формула итого)

Яндекс.Метрика