COUNTIFS,其中一个条件是 Tableau 中的 "number must be unique"

COUNTIFS where one criteria is "number must be unique" in Tableau

有没有办法计算 Tableau 中列中的唯一数字?

COUNT(IF [Type] = "Boxes" AND [Ordernumber] is unique THEN 1 END)

在我的数据中,有几行具有相同的订单号。 我想要 [Type] = "Boxes" 且具有唯一订单号的所有行。 示例:

Type Ordernumber
Boxes 10000000
Boxes 10000000
Boxes 10000001
Misc 10000002
Boxes 10000003

应该等于2。

您可以使用 COUNTD() 函数来实现此目的。假设您的数字位于名为“数字”的列中,您应该创建一个计算为 COUNTD([Number]).

这将为您给出的示例 return 值 5。

让我们假设以下数据-

  • 现在使用此计算添加以下计算字段说 dcount
{FIXED [Type]: COUNTD([Ordernumber])}

此计算将 return 每种类型的唯一计数,就像这样..

  • 现在也许(我不确定)您想排除所有重复值(因为在您的问题中您已经为 boxes 编写了所需的输出是 2),创建此计算字段说 unique_count
IF 
{FIXED [Type], [Ordernumber] : COUNT([Ordernumber])} > 1
THEN 0 ELSE 1 END

现在比较两个字段的结果

这是一种方法,相对简单。

  1. 将类型放在过滤器架上,select 仅框,并且(重要)将其添加到上下文(右键单击过滤器架上的字段以访问菜单)。作为“上下文”的一部分的过滤器在操作顺序的早期应用。
  2. 将 OrderNumber 放在筛选器货架上。在过滤器对话框中,转到条件选项卡并选择 COUNT([OrderNumber]) = 1.
  3. 现在您的数据已按需要过滤。通过过滤器的数据对于每个只有一条记录的订单号将有一条记录——在您首先忽略任何不引用框的数据行之后。

请注意,您可能需要关于 Type="boxes" 过滤器的不同语义。也许您想先消除多行订单,然后只查看带框的记录。如果是这样,请尝试更改上下文中的过滤器,以查看以不同顺序应用过滤器的影响。