设置分析表达式具有多个排除项的非重复计数

时间:2018-12-07 21:01:14

标签: qlikview set-analysis

我正在尝试显示独特的人数。人们可能曾经参加过多个计划,其中一些我不希望被计入(他们只是在等待名单上)。我已经在互联网上搜索并尝试了if语句以及集合分析。我不断得到一个不准确的答案,而且我的集合分析也没有改变它。

我当前的表达是: = count({<[ProgramName]-= {'p2','p3','p4','p5'...}>}不同的[HumanName])

这里是一个数据示例,假设我们正在计算p1中不同的人数。不重复人数为4:

sample data

在我的真实数据中,我有50个程序,我想排除约20个程序,并计算另外30个程序中的不同患者。 我试过将不重复项移到表达式的前面(count(distinct(,这不会影响我的答案。当我删除使表达式包括所列程序的“-”时,我的答案保持不变。 我尝试使用count({1- [ProgramName] = {....},它也会返回相同的值。

请帮助!尽管我熟悉其他类型的编码,但我还是刚开始进行分析。谢谢:)

1 个答案:

答案 0 :(得分:0)

表达式count({<[Program]-={'p2', 'p3', 'p4', 'p5'}>} distinct Name)应该起作用。通常,当它不起作用时,意味着您的架构中有错误(或QV错误-可能发生)。

但是您可以尝试使用此表达式(更慢):

count(distinct if(match([Program],'p2', 'p3', 'p4', 'p5')=0,[Name]))