Tableau api 表中组维度项的计数

Tableau api 表中组维度项的计数,tableau-api,Tableau Api,我对tableau还比较陌生,我有以下问题。下面是我正在使用的数据示例 Customer No | Item ___________________ 1 A 1 B 2 A 3 A 4 A 4 B 5 B 6 A 我正试图计算有多少顾客购买了a和B项。到目前为止,我试图通过组合a和B进行单独分组,但我得到

我对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
您需要将视图设置为如下所示:

以下是您在购买这两种商品时可以看到的方式

  • 布尔或 您要使用的计算是:

    属性([ITEM])='A'或属性([ITEM])='B'

  • 您需要将视图设置为如下所示:

  • A、 B或两者兼而有之 如果您希望结果更具体一些,您可以尝试:

    如果ATTR([Item])='A',则 “A” ELSEIF ATTR([项目])=“B”然后 “B” 其他的 “都是” 结束

  • 将以前的计算替换为新的,如下所示:

  • 超过1项 如果购买的特定物品无关紧要,您可以使用此逻辑

    COUNTD([项目])大于1

  • 将以前的计算替换为此计算将如下所示:

  • 使用窗口功能的项目数超过1个(可能过多) 您需要使用的计算是:

    窗口计数(计数([项目])

  • 因为这是一个窗口函数,我们需要指定如何跨维度计算它。要执行此操作,请单击药丸右侧的向下箭头,然后选择编辑表格计算

    然后,您需要设置以下设置:

    我将把我们在第一个示例中创建的计算([A和B])添加到过滤器架中,并选择True。这会给你一些看起来像:

  • 使用详细等级表达式的多个项目 本例的计算如下:

    {排除[项目]:COUNTD([项目])}

  • 您将看到的视图应如下所示:


    正如你所看到的,Tableau非常灵活。希望这些例子有帮助

    您可能希望使用Tableau的set功能来处理类似的问题

    例如,右键单击数据窗格(即左侧边栏)中的字段[Customer No],然后选择“创建集”命令。单击设置面板顶部的“全部使用”,然后单击条件选项卡。使用条件
    MAX([Item]=“A”)
    定义集合。将集合命名为“购买了产品的客户”

    类似地,创建一组购买了项目B的客户。然后,您可以在“数据”窗格中选择这两组,并创建一个组合集作为交集,即同时购买了项目a和项目B的客户

    可以将集合视为属于该集合的字段成员的数学集合(即一组客户ID),也可以视为为为数据源中的每个数据记录定义的布尔函数,指示该数据记录是否与该集合关联(即,对交易进行操作的布尔函数,用于说明关联的客户ID是否在集合中。此处使用的条件公式需要记住的一个关键点是,条件是一个聚合公式,对客户ID的数据记录块进行操作,以确定客户ID是否在集合中

    一旦定义了感兴趣的集合,就可以以多种方式使用它们-在计算字段中,作为过滤器,在可视化中作为工具架上的尺寸,在集合操作中,与其他集合组合

    要定义对集合中的客户进行计数的度量,请创建一个计算字段,如“[Num a customers]”作为
    COUNTD(如果[customers who hay hay],那么[Customer ID]end)
    对您感兴趣的任何其他集合执行相同的操作。然后您可以使用这些度量(可能与度量名称和度量值一起使用)做你的viz


    您需要使用countd聚合函数,然后打开总计。将总计切换为使用countd聚合。谢谢您的建议Sam。我对我的原始帖子进行了一些编辑。我正在尝试在我的图表项目A、项目B以及项目A和B上获得3列。您建议我如何创建组?你好Rob,谢谢您的建议回复和屏幕截图真的很有帮助。我试图在我的图表上看到3列项目:项目A、项目B和(项目A和B)行上有明显的客户编号。这种方法也有效吗?事实上,是的。我已经更新了答案,向您展示了一种获得答案的方法。我相信还有很多其他方法。如果Tableau中的计算变得太复杂,我会从外部创建计算,然后简单地使用Tableau进行可视化以引人入胜/信息丰富的方式对结果进行分析。@SQLnoob如果该解决方案对您有效,您介意将答案标记为正确吗?否则,请让我知道我还能为您提供哪些帮助。谢谢!你好,罗布,谢谢您这么多的计算工作!你好,亚历克斯,谢谢您的回答。我会尝试一下,并让您知道结果。谢谢s!很好,我正在寻找一种方法来完成这项工作,但我对它们没有太多经验。谢谢分享!