一、购物篮分析原理
这部分内容,已在另一篇文章《基于Quick BI的购物篮分析》中有详细讲述,这里不再赘述。
二、基于Power BI的购物篮分析
1、数据源表
一张《销售单据A》、一张《销售单据B》,两张表中的数据其实是一样的,一个字段为“商品A”,一个是“商品B”。如下图:
2、数据整理-合并表
在Power Query编辑器中,将《销售单据A》和《销售单据B》通过字段“订单编号”进行“合并表”,联接种类为“左外连接”。
3、新建度量值
- 同时购买A和B的订单数 = DISTINCTCOUNTNOBLANK('销售单据'[订单编号])
- 购买A的订单数 = CALCULATE(DISTINCTCOUNTNOBLANK('销售单据'[订单编号]),ALLEXCEPT('销售单据','销售单据'[商品A]))
- 购买B的订单数 = CALCULATE(DISTINCTCOUNTNOBLANK('销售单据'[订单编号]),ALLEXCEPT('销售单据','销售单据'[商品B]))
- 购买A或B的订单数 = '度量值表'[购买A的订单数]+'度量值表'[购买B的订单数]-'度量值表'[同时购买A和B的订单数]
- 购买A或B的订单数1 = CALCULATE(DISTINCTCOUNTNOBLANK('销售单据'[订单编号]),FILTER(ALL('销售单据'),OR('销售单据'[商品A]=SELECTEDVALUE('销售单据'[商品A]),'销售单据'[商品B]=SELECTEDVALUE('销售单据'[商品B]))))
- 支持度 = '度量值表'[同时购买A和B的订单数]/'度量值表'[购买A或B的订单数]
- 置信度 = '度量值表'[同时购买A和B的订单数]/'度量值表'[购买A的订单数]
- 提升度 = '度量值表'[支持度]/(('度量值表'[购买A的订单数]/'度量值表'[购买A或B的订单数])*('度量值表'[购买B的订单数]/'度量值表'[购买A或B的订单数]))
其中度量值“购买A或B的订单数”和“购买A或B的订单数1”采用了两种不同的方法来计算购买A或B的订单数。
4、生成视觉对象-矩阵
在Power BI中添加视觉对象---矩阵,将字段“商品A”和“商品B”拖拽至“行”,将“同时购买A和B的订单数”、“购买A的订单数”、“购买B的订单数”、“购买A或B的订单数”、“支持度”、“置信度”、“提升度”拖拽至“值”。
5、生成视觉对象---切片器+矩阵
新建一页面,添加视觉对象---矩阵,将字段“商品B”拖拽至“行”,将“同时购买A和B的订单数”、“购买A的订单数”、“购买B的订单数”、“购买A或B的订单数”、“支持度”、“置信度”、“提升度”拖拽至“值”。
添加视觉对象---切片器,将字段“商品A”拖拽至“字段”。
通过勾选切片器中的商品,可以查看与其产品关联销售的其他商品,以及它们之间的关联性指标。