2

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

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

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

类型 订单号
盒子 10000000
盒子 10000000
盒子 10000001
杂项 10000002
盒子 10000003

应该等于 2。

4

3 回答 3

1

让我们假设以下数据-

在此处输入图像描述

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

此计算将返回每种类型的唯一计数,如下所示..

在此处输入图像描述

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

现在比较两个字段的结果

在此处输入图像描述

于 2021-02-22T04:53:43.367 回答
1

这是一种方法,相对容易。

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

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

于 2021-02-22T05:46:39.810 回答
0

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

对于您给出的示例,这将返回值 5。

于 2021-02-21T12:21:36.463 回答