Выражение QlikView за последние 12 месяцев и DISTINCT и не изменено выборками

У меня есть несколько выражений:

=COUNT(SUPP)

Дает мне 9316, что правильно, так как это общее число.

=COUNT(DISTINCT SUPP)

Дает мне 3429, что правильно, так как это общее число.

=ROUND(Sum( if((Date(MonthName(MMMYY),'MMM-YY')) >= (AddMonths(Today(),-13)),1,0)))

Дает мне 396, что правильно, так как это общее число за последние 12 месяцев с ЯНВАРЯ по ЯНВАРЬ.

=count({$<[Company] ={"$(=concat([Company],'","'))"}>}DISTINCT [SUPP])

Дает мне 332, что правильно, так как это общее число за последние 12 месяцев с января по январь, но только когда я сделал выбор даты.

Что мне нужно:

Мне нужно следующее выражение:

=ROUND(Sum( if((Date(MonthName(MMMYY),'MMM-YY')) >= (AddMonths(Today(),-13)),1,0)))

Приспособиться к двум вещам.

  1. Дайте результат для различных выборов, который (332)

  2. Не зависеть от выбора.

Или используя это выражение:

=count({$<[Company] ={"$(=concat([Company],'","'))"}>}DISTINCT [SUPP])

Приспособиться к двум вещам.

  1. Дайте результат 332 без необходимости выбирать с 15 по 16 января.

  2. Не зависеть от выбора.


person Matt    schedule 07.06.2019    source источник


Ответы (1)


Использование префикса {1} в выражении игнорирует все выборки из списков (или других) и DISTINCT в поле, которое подсчитывается.

=Count({1<MMMYY ={'>=$(=Date(AddMonths(Today(), -13),'MMM-YY'))<=$(=Date(Today(), 'MMM-YY'))'}>} DISTINCT [SUPP])
person Matt    schedule 07.06.2019