1. 概述
1.1 背景
我们将每个订单都视为一个购物篮,想确定一个商品与另一个商品的关联程度,我们可以计算其连带率。
若用 购物篮分析 计算关联关系:需要用表左右合并 n:n 导致数据膨胀,不适用于数据量大的情况。
所以若用户数据量比较大,建议使用本文的方式去计算购物篮的关联关系。
1.2 预期效果
如果我们想要了解「西红柿」与其他商品之间的连带率,即找出与西红柿最相关的商品,我们可以在下面的仪表板中,
选择「西红柿」,然后可以看到其他每种商品中,与西红柿有关的销量占总销量多少。
在线预览:购物篮之计算连带率
2. 操作步骤
示例数据: 集团商品销售总表.xlsx 商品信息维度表.xlsx
2.1 准备数据
新建分析主题,上传下载的示例数据「集团商品销售总表」,如下图所示:
2.2 判断订单里是否有西红柿
进入组件界面。新建计算字段「订单里是否有西红柿」,如下图所示:
公式分解 | 描述 | 函数帮助文档 |
---|---|---|
IF(商品名称="西红柿",商品名称,null) | 如果商品名称不是西红柿,则赋值为空值;若是西红柿,则赋值商品名称(即西红柿) | IF |
COUNTD_AGG(IF(商品名称="西红柿",商品名称,null) ) | 去重计数商品。由于不是西红柿的其他商品被赋值为空了,所以计数得到的结果,为 1。 | COUNTD_AGG 去重计数 |
DEF( COUNTD_AGG(IF(商品名称="西红柿",商品名称,null)), [单据编码] ) | 判断每个单据里是否有西红柿,若有西红柿,该单据则被标记为1; 若没有西红柿,则被标记为0; | DEF(指定维度) |
2.3 制作柱形图
1)用柱形图展示每个产品售卖的数量。选择图表为「堆积柱形图」,并将字段拖入到分析区域,并切换横纵轴。如下图所示:
2)复制「订单里是否有西红柿」,并将复制后的字段转化为维度,得到「订单里是否有西红柿1」维度字段。
3)将「订单里是否有西红柿1」拖入到颜色属性栏中。如此柱子按订单里是否有西红柿分成两个颜色。
选择「相同值为一组」,并选择按「订单里是否有西红柿1」降序。如下图所示:
4)因为选择的是「堆积柱形图」,柱子的总长度代表每种商品的总售卖数量,图例为1的柱子则代表有西红柿的订单里,该种商品的销售数量。我们可以通过柱子大致的占比,看出西红柿对每种商品的连带效果。
2.4 计算西红柿对其他商品的连带率
仅仅靠柱形图的长度判别西红柿对其他商品销售的连带率,总不够准确。我们可以将数值计算出来。
售卖数量的连带率=含有西红柿订单中该商品的销售数量(连带数量)/该商品总的销售数量
1)计算每种商品订单里含有西红柿的那部分订单中,这些商品的销售数量有多少。
新建计算字段「连带数量」,并输入公式如下图所示:
公式分解 | 描述 | 帮助文档 |
---|---|---|
DEF(SUM_AGG(数量),[商品名称],[订单里有西红柿=1]) | 将数据按商品名称进行分组,并过滤出有西红柿的那部分订单。计算出有西红柿的那部分订单中,售卖了多少 | DEF(指定维度) |
注:过滤条件中的「订单里是否有西红柿」是指标字段,非复制后转维度的「订单里是否有西红柿1」。
2)计算每种商品的总销售数量
新建计算字段「总数量」,输入公式如下图所示:
3)计算西红柿的连带率(连带数量/总数量)。新增计算字段,并输入公式,如下图所示:
4)切换图表类型为「自定义图表」,将「连带率」拖入到图表中。
将「连带率」的展现形式改为线,并将连带率的颜色属性栏中的「订单里是否有西红柿」拖走。
然后点击「连带率」的下拉,将连带率的值轴设置为上值轴,并将它的数值格式更改为百分比。
如此我们便可以看出,西红柿和其他商品的连带效果。
但现在我们只能看西红柿和其他商品的连带效果,如果我们还想要看冬笋、小白菜等对其他商品的连带效果,该怎么办呢?
这时候我们可以考虑使用参数,来灵活替换西红柿为其他商品。
2.5 使用参数切换商品
2.5.1 添加参数
1)为了能将西红柿很灵活的被替换为冬笋、小白菜等,方便我们查看冬笋、小白菜等对其他商品的连带效果,我们使用参数替换西红柿。
新建一个文本参数,如下图所示:
2)使用该参数替换「订单里是否有西红柿」里的西红柿,如下图所示:
3)删除「订单里是否有西红柿1」,重新复制替换过参数的「订单里是否有西红柿」,并将其转化为维度。替换到图形属性中「数量」的颜色属性栏中,选择「相同值为一组」,并选择按「订单里是否有西红柿1」降序。将组件拖入到仪表板中。
2.5.2 使用过滤组件给参数赋值
1)将示例数据「商品信息维度表」添加到当前主题。如下图所示:
2)进入仪表板,添加一个文本列表过滤组件,绑定我们创建的参数。
由于我们需要一个「商品名称」文本列表,方便我们点选给参数赋值。但我们又不能直接用当前表的字段(会对当前组件进行过滤),所以我们加入了其他表,给过滤组件绑定其他表的「商品名称」字段。如下图所示:
3)点击「确定」后,我们就可以点选文本列表,查看冬笋对其他产品的连带率。如下图所示:
4)可以将与参数相同的商品,从柱形图中筛除掉。进入组件,对商品名称进行过滤,并调整过滤层级为「聚合计算过滤」,如下图所示:
了解更多过滤层级内容请参见:过滤层级
2.6 效果查看
请参见 1.2 节。