Форум разработчиков QlikView и Qlik Sense. Получи любые ответы на вопросы по QlikView и Qlik Sense в течении нескольких часов!
Вы не вошли.
Здравствуйте!Необходимо найти найти ТОП-3 интервалов-лидеров (в одной строке!),но находит только один интервал-лидер (в всей таблице.
Подскажите пожалуйста в чем может быть ошибка.
Используемые формулы:
1)max(aggr(sum([Количество интервалов]),Интервал, Товар))
2)FirstSortedValue(Интервал,-aggr(sum([Количество интервалов]),Интервал, Товар))
3)= concat( aggr(if(rank(sum([Количество интервалов])) <= 3, Интервал), Интервал,Товар),
'/',
aggr(rank( sum([Количество интервалов]) ), Интервал, Товар )
)
Неактивен
Добрый вечер!
Если вы хотите найти ТОП-3 значения по определенному критерию, то необходимо при написании формулы в анализе множеств применить поиск с ипользованием функции Rank, которая присутствует в вашем третьем примере, но применена явно не корректно.
Пример (выводим ТОП-3 товара по сумме продаж):
Concat(DISTINCT {$<[Товар] = {"= Rank(Sum([Сумма продаж])) <= 3"}>} [Товар], ', ')
Напоследок дам вам совет - старайтесь избегать использование функции Aggr()!;) Выражения, в которых используются функции агрегации, могут рассчитываться очень долго, особенно в случае использования в них полей из разных таблиц модели данных.
С уважением,
Олег Орлов
Редактировался Oleg Orlov (2015-06-20 00:06:56)
Неактивен
Спасибо большое за помощь!
Неактивен
[ Сгенерировано за 0.013 сек, 9 запросов выполнено - Использовано памяти: 1.48 Мбайт (Пик: 1.64 Мбайт) ]