【问题标题】:Tableau isNull then 0 calculated fieldTableau isNull then 0 计算字段
【发布时间】:2018-04-26 06:37:19
【问题描述】:

我有我的 tableau 工作簿,我目前正在通过一个名为 ID 的字段进行计数 - COUNT([Id]) - 虽然这很好,但在没有活动的日子里,我的仪表板不显示任何内容,我希望它显示如果没有活动则为零 - 所以我是否将其更改为计数但也将 null 替换为 0(零)?

【问题讨论】:

    标签: tableau-api calculated-field


    【解决方案1】:

    首先确保您了解 Count([ID]) 的作用。它返回数据源中在列 [ID] 中具有非空值的记录数。

    Count() 永远不会计算为 null。但是,如果过滤后数据中根本没有行,那么您将得到一个空结果集——即视图数据根本不会显示任何摘要数据——无论是 null 还是零。

    在对 ISNULL() 或 ZN() 的调用中包装 COUNT() 在这种情况下无济于事。

    解决方案是确保您每天至少有一个数据行,即使除日期之外的所有其他字段都为空。聚合函数会忽略空值,因此像这样填充数据不会干扰您的结果。最简单的方法是制作一个日历表,该表每天有一行,大多数列都为空。然后使用 Union 将日历与您的原始数据源结合起来。然后 Count(ID) 将在除日历条目之外没有其他记录的日子返回零。

    您也可以使用数据混合获得类似的结果,但要复杂一些。

    【讨论】:

    • 最简单的方法是制作一个日历表,每天有一行,大多数列都为空。然后使用 Union 将日历与您的原始数据源结合起来。然后 Count(ID) 将在除日历条目之外没有其他记录的日子返回零。 --- 有没有办法让 tableau 创建这个“表”而不需要我在数据库中创建?
    • 并非如此。您可以根据数据源使用自定义 sql 在查询时即时创建,或将其合并到静态列表。
    猜你喜欢
    • 1970-01-01
    • 2020-07-09
    • 2021-10-15
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多