【发布时间】:2018-04-26 06:37:19
【问题描述】:
我有我的 tableau 工作簿,我目前正在通过一个名为 ID 的字段进行计数 - COUNT([Id]) - 虽然这很好,但在没有活动的日子里,我的仪表板不显示任何内容,我希望它显示如果没有活动则为零 - 所以我是否将其更改为计数但也将 null 替换为 0(零)?
【问题讨论】:
标签: tableau-api calculated-field
我有我的 tableau 工作簿,我目前正在通过一个名为 ID 的字段进行计数 - COUNT([Id]) - 虽然这很好,但在没有活动的日子里,我的仪表板不显示任何内容,我希望它显示如果没有活动则为零 - 所以我是否将其更改为计数但也将 null 替换为 0(零)?
【问题讨论】:
标签: tableau-api calculated-field
首先确保您了解 Count([ID]) 的作用。它返回数据源中在列 [ID] 中具有非空值的记录数。
Count() 永远不会计算为 null。但是,如果过滤后数据中根本没有行,那么您将得到一个空结果集——即视图数据根本不会显示任何摘要数据——无论是 null 还是零。
在对 ISNULL() 或 ZN() 的调用中包装 COUNT() 在这种情况下无济于事。
解决方案是确保您每天至少有一个数据行,即使除日期之外的所有其他字段都为空。聚合函数会忽略空值,因此像这样填充数据不会干扰您的结果。最简单的方法是制作一个日历表,该表每天有一行,大多数列都为空。然后使用 Union 将日历与您的原始数据源结合起来。然后 Count(ID) 将在除日历条目之外没有其他记录的日子返回零。
您也可以使用数据混合获得类似的结果,但要复杂一些。
【讨论】: