2017-07-25 548 views
2

我有分类用户已制成使用这种计算3类调用一个函数:是否可以计算Tableau中计算字段结果的出现次数?

IF 0 <= DATEDIFF('dayofyear', [SubmittedDateTime], [CALLDATE]) 
    AND DATEDIFF('dayofyear', [SubmittedDateTime], [CALLDATE]) <= 7 
    THEN "Week After" 
    ELSEIF -7 <= DATEDIFF('dayofyear', [SubmittedDateTime], [CALLDATE]) 
    AND DATEDIFF('dayofyear', [SubmittedDateTime], [CALLDATE]) < 0 
    THEN "Week Before" 
    ELSE "Not within a week" 
    END 

我在想,如果有可能指望每个用户功能的特定结果的发生次数以便根据发生的次数对每个用户进行分类。我试图用这个计算可以这样做:

IF { FIXED [SUBID]: COUNT([DateDiff Calc] = 'Week After')} = 1 
    THEN "1 Conference User" 
    ELSEIF { FIXED [SUBID]: COUNT([DateDiff Calc] = 'Week After') } > 1 
    THEN "Multiple Conference User" 
    ELSE "0 Conference User" 
    END 

但我使用COUNT函数不能正常工作似乎。看起来,COUNT函数也计算第一个函数的“Week Before”和“Not a within a week”中的出现次数。

回答

0

我认为这个问题是您的LOD表达的测量部分:

COUNT([DateDiff Calc] = 'Week After') 

这只是给你算两次的:当你的条件得到满足,当其不符合。 [DateDiff Calc] ='Week After'将返回true或false,两者在count函数中都会被计为+1。

你可以尝试这样的:

IF { FIXED [SUBID]: SUM(IF[DateDiff Calc] = 'Week After' THEN 1 ELSE 0 END)} = 1 
THEN "1 Conference User" 
...