Немного перефразирую (см.картинку 2)
Задача(она сложнее. но решения этой должно помочь мне):
Есть Периоды(месяца, грубо говоря.. 201405 итд).
есть наименование продуктов.
есть Сумма продаж.
оч просто. - всего три поля.
из них два измерения (период и наименование... причём период надо опустить) и одна сумма продаж. .
Нужно чтобы в кликвью без модификации скрипта загрузки таблица выводила по продуктам последнюю значимаю сумму продаж за месяц. Можете сравнить это с остатками на конец месяца(просто вместо "max" будет "SUM". . у какого-то продукта этот "остаток" был в январе. у кого-то в марте. .итд. .
я думал что легко сделать, просто задав в измерение одно поле "наименование", а в выражение впихнуть
sum({<Период={'$(=max(Период))'}>}Сумма)но не тут-то было. $(=max(Период)) интерпретируется как вообще максимальный период в документе. . соответственно у многих продуктов будет по нулям остаток на этот самый последний месяц. а мне нужно на ИХ последний месяц.. пробовал в выражение впихнуть просто
=max(Период).. месяца отображаются нормально(если почему-то пустые значения тоже считает значимыми, то
max(if(Сумма>0,Период)) , но как только пытаюсь в формулу суммирования вставить - ничего не получается..
я бы в загрузке чего-нибудь из SQL поменял, но работа нужна именно в клике.. потому что эти три поля динамические - зависят от различных выборок типа "Валюта", "Тип", "Клиенты" итд..
прошу помощи в решении этой, на мой взгляд. актуальной задачи..
П.С.: буду благодарен если научите меня запихивать
sum({<Период={'$(=max(Период))'}>}Сумма)
чтоб нормально считало (если такое возможно)
Текст старого сообщения в спойлере ( не нужно)
Извините, вам запрещён просмотр содержимого спойлеров.
Сам спросил - сам ответил.
Нашёл решение.
Аггрегирование нужно.
FirstSortedValue(Aggr(Sum(Сумма), Период, Продукт), -Aggr(Период, Период, Продукт))
т.е. оставляем одно измерение - Продукт.. и одно выражение (вот которое сейчас написал)
я вскользь пробегал по этой формуле, но, как оказалось, в тестовом файле (я накидал небольшой файл, чтобы удобно было искать способ решения проблемы) неправильно загрузились пустые значения.. то есть, из экселя когда подгрузил данные в тестовый файл - пустые значения для формул стали "значимыми". поэтому ФОРМУЛА не работала! точнее - она считала что у всех продуктов последние значимые суммы были в самом последнем месяце документа, а не месяца, в котором последние суммы по продукту.
в общем - чтобы работало и на криво загруженных данных, нужно внести небольшое изменение:
FirstSortedValue(Aggr(Sum(Сумма), Период, Продукт), -Aggr(if(Сумма>0,Период), Период, Продукт))
тада!