Tableau 中组维度项的计数
Count of group dimensions item in Tableau
我是 tableau 的新手,遇到了以下问题。以下是我正在使用的数据示例。
Customer No | Item
___________________
1 A
1 B
2 A
3 A
4 A
4 B
5 B
6 A
我正在尝试统计有多少客户购买了商品 A 和 B。到目前为止,我尝试通过组合 A 和 B 来单独分组,但我得到的总结果是 8。我还尝试了做计算,我得到了相同的结果 8。有人可以为我指明如何获得此结果的正确方向吗?谢谢!
这是我想要得到的结果:
Item| Count
A 5
B 3
A and B 2
我重新创建了您的确切数据集并将其粘贴到 Tableau 以便您可以看到几个示例。
您可以通过以下方式查看购买单个商品的客户数量,以及同时购买这两种商品的客户数量。
您的计算结果为:
IF { FIXED [Customer No]: COUNTD([Item]) } = 1 THEN
[Item]
ELSE
'Both A and B'
END
并且您需要将视图设置为如下所示:
您可以通过以下方式查看这两件商品的购买时间。
布尔或
您要使用的计算是:
ATTR([ITEM]) = 'A' 或 ATTR([ITEM]) = 'B'
并且您需要将视图设置为如下所示:
A、B 或两者
如果您希望结果更具体一些,您可以尝试:
IF ATTR([Item]) = 'A' 那么
'A'
ELSEIF ATTR([Item]) = 'B' 然后
'B'
别的
'BOTH'
结束
用新的计算替换以前的计算如下所示:
超过 1 项
如果购买的具体商品无关紧要,您可以使用此逻辑。
COUNTD([项目]) > 1
用这个替换之前的计算看起来像:
超过 1 个项目使用 window 函数(可能有点矫枉过正)
您需要使用的计算是:
WINDOW_COUNT(COUNTD([项目]))
因为这是一个 Window 函数,我们需要指定它是如何在我们的维度上计算的。为此,请单击药丸右侧的向下箭头,然后 select 编辑 Table 计算...
然后您需要设置这些设置:
我会将我们在第一个示例([A 和 B])中创建的计算添加到筛选器架子并且 select 正确。那应该给你一些看起来像的东西:
超过 1 个项目使用详细级别表达式
这个例子的计算是:
{ 排除 [项目]:COUNTD([项目]) }
您将看到如下所示:
如您所见,Tableau 非常灵活。希望这些示例对您有所帮助!
您可能想使用 Tableau 的设置功能来解决此类问题。
例如,右击数据面板(即左侧边栏)中的[客户编号]字段,然后选择“创建集”命令。单击设置面板顶部的“全部使用”,然后单击 条件 选项卡。使用条件 MAX([Item] = “A”)
定义集合。将集合命名为“购买 A 的客户”。
类似地,创建一组购买了商品 B 的客户。然后您可以 select 在数据窗格中创建两个集合,并创建一个组合集作为交集,即同时购买了商品 B 的客户项目 A 和项目 B。
您可以将集合视为属于该集合的字段成员的数学集合(即一组客户 ID)或为数据源中的每个数据记录定义的布尔函数,指示是否该数据记录与该集合相关联(即一个布尔函数,它对交易进行操作以说明关联的客户 ID 是否在该集合中。对于此处使用的条件公式要记住的关键是条件是一个聚合公式,对客户ID的数据记录块进行操作,以确定客户ID是否在集合中。
一旦您定义了您感兴趣的集合,您就可以以多种方式使用它们 - 在计算字段中,作为过滤器,作为可视化中货架上的维度,在集合操作中,与其他集合结合......
要定义一个计算集合中客户的度量,创建一个计算字段,例如“[Num A Customers]”作为COUNTD(if [Customers who bought A] then [Customer ID] end)
对您感兴趣的任何其他集合执行相同的操作。然后您可以使用这些度量(可能使用度量名称和度量值)来制作您的可视化。
我是 tableau 的新手,遇到了以下问题。以下是我正在使用的数据示例。
Customer No | Item
___________________
1 A
1 B
2 A
3 A
4 A
4 B
5 B
6 A
我正在尝试统计有多少客户购买了商品 A 和 B。到目前为止,我尝试通过组合 A 和 B 来单独分组,但我得到的总结果是 8。我还尝试了做计算,我得到了相同的结果 8。有人可以为我指明如何获得此结果的正确方向吗?谢谢!
这是我想要得到的结果:
Item| Count
A 5
B 3
A and B 2
我重新创建了您的确切数据集并将其粘贴到 Tableau 以便您可以看到几个示例。
您可以通过以下方式查看购买单个商品的客户数量,以及同时购买这两种商品的客户数量。
您的计算结果为:
IF { FIXED [Customer No]: COUNTD([Item]) } = 1 THEN
[Item]
ELSE
'Both A and B'
END
并且您需要将视图设置为如下所示:
您可以通过以下方式查看这两件商品的购买时间。
布尔或 您要使用的计算是:
ATTR([ITEM]) = 'A' 或 ATTR([ITEM]) = 'B'
并且您需要将视图设置为如下所示:
A、B 或两者 如果您希望结果更具体一些,您可以尝试:
IF ATTR([Item]) = 'A' 那么 'A' ELSEIF ATTR([Item]) = 'B' 然后 'B' 别的 'BOTH' 结束
用新的计算替换以前的计算如下所示:
超过 1 项 如果购买的具体商品无关紧要,您可以使用此逻辑。
COUNTD([项目]) > 1
用这个替换之前的计算看起来像:
超过 1 个项目使用 window 函数(可能有点矫枉过正) 您需要使用的计算是:
WINDOW_COUNT(COUNTD([项目]))
因为这是一个 Window 函数,我们需要指定它是如何在我们的维度上计算的。为此,请单击药丸右侧的向下箭头,然后 select 编辑 Table 计算...
然后您需要设置这些设置:
我会将我们在第一个示例([A 和 B])中创建的计算添加到筛选器架子并且 select 正确。那应该给你一些看起来像的东西:
超过 1 个项目使用详细级别表达式 这个例子的计算是:
{ 排除 [项目]:COUNTD([项目]) }
您将看到如下所示:
如您所见,Tableau 非常灵活。希望这些示例对您有所帮助!
您可能想使用 Tableau 的设置功能来解决此类问题。
例如,右击数据面板(即左侧边栏)中的[客户编号]字段,然后选择“创建集”命令。单击设置面板顶部的“全部使用”,然后单击 条件 选项卡。使用条件 MAX([Item] = “A”)
定义集合。将集合命名为“购买 A 的客户”。
类似地,创建一组购买了商品 B 的客户。然后您可以 select 在数据窗格中创建两个集合,并创建一个组合集作为交集,即同时购买了商品 B 的客户项目 A 和项目 B。
您可以将集合视为属于该集合的字段成员的数学集合(即一组客户 ID)或为数据源中的每个数据记录定义的布尔函数,指示是否该数据记录与该集合相关联(即一个布尔函数,它对交易进行操作以说明关联的客户 ID 是否在该集合中。对于此处使用的条件公式要记住的关键是条件是一个聚合公式,对客户ID的数据记录块进行操作,以确定客户ID是否在集合中。
一旦您定义了您感兴趣的集合,您就可以以多种方式使用它们 - 在计算字段中,作为过滤器,作为可视化中货架上的维度,在集合操作中,与其他集合结合......
要定义一个计算集合中客户的度量,创建一个计算字段,例如“[Num A Customers]”作为COUNTD(if [Customers who bought A] then [Customer ID] end)
对您感兴趣的任何其他集合执行相同的操作。然后您可以使用这些度量(可能使用度量名称和度量值)来制作您的可视化。