使用LOD计算Tableau中的最大布尔值



我有一些数据如下所示,其中相同的Id在多行中重复,但Victory值不同。

Id 胜利
1 错误
1 错误
1
2 错误
2 错误
2
3 错误
3 错误
3 错误

首先,确保您了解COUNT([Some-Column](的行为。它不会返回某列中具有TRUE或某列中为1的记录数。它返回[Some-Column]有值的记录数,任何值都可以。换句话说,它返回具有NON-NULL值的记录数。

这就是为什么你得到了比预期更高的结果。你期望COUNT以某种方式只计算Victory具有特定值的记录,在你的情况下为TRUE。就COUNT((而言,TRUE和FALSE是等价的。COUNT((只关心是否有一个值,而不是null。

有了这个重要的注释,我建议晚上不要在这种情况下使用COUNT((。表达式SUM(INT([Victory]))将告诉您有多少行的值为True,表示字段Victory。该表达式之所以有效,是因为类型转换函数INT((将TRUE转换为1,将FALSE转换为0。

如果必须,可以将该表达式包装在LOD计算中,也可以将计算字段度量值定义为INT([Victory])。将该字段放在某个工具架上,聚合函数默认为SUM((,并将ID放在另一个工具架中,您就会得到答案。

只有在你真正需要的时候才使用LOD。你有更大的灵活性,通常性能更好,而不使用LOD计算。

最新更新