Tableau 管道,每次计算仅计算一次计算 ID

Tableau pipeline, count ID for calculation only once per calculation

我正在尝试为 Tableau 中的数据集制作 funnel/pipeline。 (必须使用 tableau,因为公司有内部用户的仪表板门户)

我的数据是这样设置的:

id|app date|group|date start
1 |monday  |3    |   null
2 |monday  |null |   null
3 |tuesday |3    |   wednesday
3 |tuesday |3    |   wednesday
4 |null    |null |   null

由于数据集中的其他特征,此特定问题的行将重复出现,如上面 id 3 所示。同样由于仪表板中的其他问题,我需要保留导致行重复的其他信息。

为了使我的管道准确,我需要对每个实例计数一次。

例如上面数据中4个prospect,3个applicants,2个accepted,1个started。 为了做到这一点,我在创建计算时遇到了困难。

我尝试了几种方法,但到目前为止都没有成功。我对使用画面计算还很陌生,无法弄清楚如何使用其内置函数来实现我的目标。有没有办法在计算中使用 SQL 语句?如果可能的话,我将能够解决我的问题。

我最终实现了这个解决方案。似乎工作得很好。 "Dummy" 将在第一次重复时被计算一次,然后每次都被忽略。然后在 countD 之后我只减去虚拟对象。

我为流程中的每个步骤(申请、决定、注册等)创建了一个类似的计算

countd(iif([App Group (group)] <> "Not Admitted",STR([Id]),"Dummy")) -1

您可以使计算字段计算不同的 ID,忽略给定列为 null 的值(我假设这是该行是否满足条件的标准——您的问题并不完全清楚)。

这四个计算字段根据您的示例计算满足每个条件的行数。

num_prospects: COUNTD(IIF(ISNULL([Id]),NULL,[Id]))
num_applicants: COUNTD(IIF(ISNULL([App Date]),NULL,[Id]))
num_accepted: COUNTD(IIF(ISNULL([Group]),NULL,[Id]))
num_started: COUNTD(IIF(ISNULL([Date Start]),NULL,[Id]))