商品表有哪些字段_【Tableau小钉子】1212:如何实现商品关联分析?(购物篮分析)...

【Tableau小钉子】1212:如何实现商品关联分析?(购物篮分析)

今天在做Tableau技能培训时,有个学员提到了一个问题:

学员的企业是个连锁超市,想知道在Tableau中如何实现关联分析,场景是想知道超市中指定的商品与其它商品的关联度,具体的说就是想知道,购买A商品的同时,客户还会买什么商品?同时,还想知道与A商品关联度最高的B商品,反过来看看B商品关联度最高的又是什么商品?

网上关于购物篮分析的内容很多,所以将实现的过程来进行解析一下。

超市销售的特点是,顾客一般都会有小票,小票上是同时购买的商品的清单,一般情况下顾客购物只会产生一张小票,所以我们的切入点就是小票的数量,来判断关联度。

首先,需要给到分析人员,一个可以选择商品的列表,但不能使用筛选器;

其次,需要根据被选中的商品,来判断出购买该商品的小票有哪些;

然后,通过这些小票,来筛选出关联的商品;

最后,通过关联的商品清单和小票数,来定义关联度。

在Tableau中采用2020.3中文版超市数据,按这个思路来尝试解决一下。

首先,我们加载”示例 – 超市”数据集中的”订单”表,在工作表1中,将产品名称拖到行,再将商品名称拖到文本,形成一个产品清单 

23811c72dcd74255a2e20c4f765bbf72.png

然后在行中的产品名称胶囊上右键,去掉”显示标题”的勾选,将它隐藏起来。 

4ef43d3106c410d7799f2d2f35dd938a.png

新建一张工作表,创建一个参数”指定产品A”,改成字符串,选择列表,然后在工作簿打开时来源于数据源中的”产品名称“字段。

33b703db7c5b0143845105b3b82ca556.png

(这个参数的目的,是为了让被选中的商品名称,参与计算,并且后续计划采用仪表板中的修改参数操作,来进行更新。)

那么,有了选中的产品A的信息,我们就可以开始进行判断了计算了,新建一个计算字段,在数据中如果发现有包括指定产品A的行,就计1笔,否则计为null值,公式如下:

2686f7174b1d0d85014f72adcea2a7c7.png

IF [产品名称]=[指定产品A] THEN 1 END

然后,我们要将所有购买了指定商品A的订单,分辨出来,就可以根据”包含指定商品数”是否大于等于1来判断,我们用订单id来创建一个集“购买指定产品A的订单?”,用公式来约束集的结果,如下:

622ab8fc5222aa2f89fdcafa860bf837.png

60953b0d576d8ef98871719b0841af78.png

SUM([包含指定产品数])>=1

然后,我们需要把购买指定商品A的关联商品都列出来,可以通过计算字段,把产品名称不等于指定产品A的,都显示出来,把指定产品A显示为null值,字段命名为“指定产品A关联产品”,公式如下:

a764a62f3faecd02c2b91a7d2063c1ad.png

IF [产品名称]<>[指定产品A] THEN [产品名称] END

再然后,我们来统计一个订单的数据,写一个单独的计算字段,对订单id计数不同,命名为“订单数量”,公式如下:

ed23bcd2a8e8906b35414ce62df2bba4.png

COUNTD([订单 Id])

到这里,就可以开始进行图表的处理了,把“购买指定产品A的订单?”集,拖到筛选器,排除掉没有购买指定产品A的订单,把”指定产品A关联产品”拖到行,把”订单数量“拖到列,然后按降序排序,并且把”订单数量”拖到标签:

eeb7787991d19a44ed7025dcdd20e987.png

这时,发现列表中最大的是null,也就是指定产品A,需要排除它,所以把”指定产品A关联产品“拖到筛选器,然后”排除”null,就可以了: 

c74203d77735957e5823e588da737e67.png

这样,我们就得到了指定产品A的关联产品的排名,订单数量最多的,就是关联度最高的产品,然后我们需要让产品的选择清单与关联商品清单交互,这需要在仪表板中实现,所以新建一个仪表板: 

f4932a7584fd0568538cb85f21fdfa0e.png

将工作表1放在仪表板左边,将工作表2放在仪表板右边,如下: 

2e23719aab66d07b5daeda6459c31a91.png

在顶部菜单中,选择“仪表板”->”操作“->”添加操作”->”更改参数”,如下: 

a7ac0a31a2f25883f73cf9ac7a002186.png

将操作命名为”指定产品A修改”,然后设置为由工作表1修改(因为我们要在工作表1中选择指定产品),目标参数为“指定产品A”,字段为”产品名称”,操作方式为“选择”,并且在清除选定内容时“保留当前值”,确定,再确定。如下: 

9f719996698cbcd28e93308cb184a697.png

这样,就实现了,当我们在工作表1中选择某个产品时,工作表2就会给出相应产品的关联产品的排名。 

154d5f3f6f687e98ebc9e1c89d2cc594.png

这样,我们就完成了第一步,然后,如前面的问题的后半部分,“同时,还想知道与A商品关联度最高的B商品,反过来看看B商品关联度最高的又是什么商品?“,其实思考一下,实现方法与指定产品A是完全一样的,只不过用关联商品清单,再做了一次关联,如下: 

新建参数“指定产品B” 

580b9742b88889d2a1fa99dcf22b6073.png

新建计算字段”包含指定产品B数“

03b4a13660a4ca9300a6a51797e69f24.png

IF [产品名称]=[指定产品B] THEN 1 END

在订单id上新建集” 购买指定产品B的订单?“

17f85c14c7d6af40ff202c108d6af585.png

SUM([包含指定产品B数])>=1

然后新建计算字段”指定产品B关联产品”

6ede6d5a92fa1d76dc913c85c901fc1b.png

IF [产品名称]<>[指定产品B] THEN [产品名称] END

然后,新建工作表3,拖出一样的条形图 

7e9a74406ac9b7d7bff12a5449a98b40.png

然后将工作表3放入仪表板 

cb538b6a2c34fe9371ec09fe299b04ff.png

最后,同样的选择“仪表板”->”操作“->”添加操作”->”更改参数”设置参数操作,只不过,这次是用工作表2中的”指定产品A关联产品”字段去修改”指定产品B”参数了。 

0e4001f62f4adc5243eb31ddb600e29e.png

完成之后,就可以实现多级的关联产品的查看了。 

de1571497c6e32ef8c184b15cc4625ab.png

好了,说完了,一颗小钉子,希望可以锤到你~

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值