过去12个月的QlikView表达式和DISTINCT,且未因选择而改变

时间:2019-06-07 10:00:52

标签: qlikview qliksense set-analysis qlik-expression

我有几个表情:

=COUNT(SUPP)

给我9316,因为它是总数。

=COUNT(DISTINCT SUPP)

给我3429,这是正确的,因为它是总数。

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

给我396是正确的,因为它是JAN到JAN过去12个月的总数。

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

给我332是正确的,因为它是过去12个月到1月的JAN的总数,但是只有当我选择了日期时。

我需要什么:

我需要以下表达式:

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

要适应做两件事。

  1. 给出不同选择的结果(332)

  2. 不受选择的影响。

或使用此表达式:

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

要适应做两件事。

  1. 给出332的结果,而无需选择JAN 15到JAN 16。

  2. 不受选择的影响。

1 个答案:

答案 0 :(得分:1)

在表达式中使用{1}前缀将忽略列表框(或其他)中的所有选择以及正在计数的字段上的DISTINCT

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