【问题标题】:Tableau: how to make a count if in a for loop?Tableau:如果在 for 循环中,如何进行计数?
【发布时间】:2021-03-27 12:27:36
【问题描述】:

我刚开始使用 Tableau,想在 for 循环中进行计数。

我有以下变量:

  • 城市
  • 用户
  • Round:取值 A 或 B
  • 金额

我想要一个 countif 函数,显示在给定城市的 A 轮和 B 轮中有多少用户收到了任何正数。

在我的仪表板中,每一行代表一个城市,我希望有一列显示每个城市在两轮中收到金额的用户总数。

谢谢!

【问题讨论】:

    标签: tableau-api countif


    【解决方案1】:

    您可以选择一个可行的简单解决方案。

    1. 使用以下公式创建一个名为“Positive Rounds per User”的计算字段:

    // 计算一个城市中每个用户拥有正数的唯一回合数

    { FIXED [User], [City]: COUNTD(IIF([Amount]>0, [Round], NULL))}

    1. 您可以使用以上内容创建另一个名为“唯一用户”的计算字段:

    // 在“Positive Rounds per User”字段中有 2 个的唯一用户数

    COUNTD(IIF([Positive Rounds per User]=2, [User], NULL))

    您可以将 1 和 2 的计算合二为一,但阅读起来会很复杂,因此最好将它们分开

    【讨论】:

    • 非常感谢您的回答!在数据中,用户可以在 A 轮中对它们进行 2 次观察。根据我的理解(以及应用您的解决方案),您的代码也包括这些。有没有办法确保我们只在 A 轮和 B 轮中捕获那些具有正数的用户?再次感谢,我很感激
    • 是的,你是对的。如果用户在同一个城市两次 A 轮融资,那么它只计算一次。我们只计算正数(因此,第一个计算字段中的 [Amount]>0)。仅当金额大于 0 时才计数。我假设在这种情况下正数意味着大于 0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多