Tableau管道,每次计算只计算一次计数ID

时间:2018-01-10 18:25:16

标签: tableau

我正在尝试为Tableau中的数据集创建漏斗/管道。 (必须使用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个潜在客户,3个申请人,2个被接受,1个在上面的数据中开始。 我无法创建计算以执行此操作。

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

2 个答案:

答案 0 :(得分:1)

您可以使计算字段计算不同的id,忽略给定列为空的值(我假设该行是否满足条件的标准 - 从您的问题中不是很清楚)。

这四个计算字段计算每个示例符合每个条件的行数。

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]))

答案 1 :(得分:0)

我最终意识到这个解决方案。似乎工作得很好。 “Dummy”将在第一个副本上计数一次,然后在每次之后被忽略。然后在countD之后我只是减去假人。

我为管道中的每个步骤(应用程序,决策,注册等)创建了类似的计算

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