Power BI中实现购物篮分析详解

news2024/9/24 9:20:56

一、购物篮分析简介

相信,很多人都听过沃尔玛购物篮分析的故事---“啤酒和尿布湿“,即分析购买尿布湿的顾客最喜欢购买的商品是什么?(啤酒)。在零售终端经营中,通过购物篮分析,分析不同商品之间销售的关联性,对于零售终端的商品布局摆放,有着非常重要的意义。下面就介绍一下,在Power BI中如何完成购物篮分析。

二、数据源表

两张数据源表,一张《销售单据》,一张《商品表》,如下图

表《销售单据》

流水单号

商品

数量

价格

金额

A0001

中华

1

45

45

A0002

中华

2

45

90

A0002

脉动

1

5

5

A0003

中华

1

45

45

A0003

脉动

2

5

10

A0003

打火机

1

1

1

A0004

奥利奥

1

10

10

A0004

脉动

1

5

5

A0004

打火机

1

1

1

A0004

口香糖

1

5

5

表《商品表》

商品

中华

脉动

打火机

奥利奥

口香糖

三、数据分析过程

步骤一、获取数据

1、将两张表添加到Power BI中,并将《商品表》,重新命名为《商品表(A)》

步骤二、建立关系

1、通过复制《商品表(A)》,新建一张表,并命名为《商品表(B)》

   商品表(B)=’商品表(A)’

2、在“模型视图”中,《商品表(A)》通过字段“商品”与《销售单据》建立1对多的关系(实线);《商品表(B)》通过字段“商品”与《销售单据》建立1对多的关系,但是此关系状态设置为未激活(虚线)。

步骤三、创建可视化对象

1、在“报表视图”中创建可视化对象---矩阵,并将《商品表(A)》中的“商品”设置为行,重命名为“商品A”。

2、创建可视化对象---切片器,并将《商品表(B)》中的“商品”设置为字段,重命名为“商品B”。

步骤四、创建度量值

1、新建度量值---客户数量

  客户数量 = DISTINCTCOUNTNOBLANK('销售单据'[流水单号])

  将“客户数量”设置为矩阵的值,矩阵中则显示出购买不同商品A的客户数量。

2、新建度量值---购买商品B的客户数量

购买商品B的客户数量 =

 // 取消《商品表(A)》的筛选功能,激活《商品表(B)》和《销售单据》之间的1对多关系,进而统计出购买商品B的客户数量

 VAR table1=CALCULATETABLE(VALUES('销售单据'[流水单号]),USERELATIONSHIP('商品表(B)'[商品],'销售单据'[商品]),ALL('商品表(A)'))

 VAR result1=CALCULATE('度量值表'[客户数量],table1)

 // 如果显示为空,则客户数量显示为0

 VAR result2=IF(ISBLANK(result1),0,result1)

 // 如果矩阵中行值(商品A)与切片器-商品B中勾选的商品相同,则客户数量显示为空

 VAR result=IF(SELECTEDVALUE('商品表(A)'[商品])=SELECTEDVALUE('商品表(B)'[商品]),BLANK(),result2)

 RETURN result

3、将度量值“购买商品B的客户数量”设置为矩阵的值,并重命名为“同时购买商品B的客户数量。

如果单独看度量值“购买商品B的客户数量”,它统计显示就只是购买商品B的客户数量,但是将其放入矩阵后,受到矩阵行(商品A)值的筛选影响,显示的就是购买商品A

同时购买了商品B的客户数量。如,将切片器-商品B中勾选“中华“,矩阵中第一行显示的就是购买商品A-脉动的客户数量为3个,其中有2个同时购买了商品B-中华。(矩阵中”同时购买商品B的客户数量按降序排列)

4、新建度量值---客户占比

客户占比 = DIVIDE('度量值表'[购买商品B的客户数量],'度量值表'[客户数量])

即购买了商品A同时购买商品B的客户占比。

5、将度量值“客户占比”设置为矩阵的值

6、新建度量值---购买商品B的金额

购买商品B的金额 =

// 取消《商品表(A)》的筛选功能,激活《商品表(B)》和《销售单据》之间的1对多关系,进而统计出购买商品B的金额

CALCULATE(SUM('销售单据'[金额]),USERELATIONSHIP('商品表(B)'[商品],'销售单据'[商品]),ALL('商品表(A)'))

7、新建度量值---同时购买商品B的金额

同时购买商品B的金额 =

 // 统计筛选出购买商品A的流水单号

 VAR tableA=CALCULATETABLE(VALUES('销售单据'[流水单号]))

 //  取消《商品表(A)》的筛选功能,激活《商品表(B)》和《销售单据》之间的1对多关系,进而统计出购买商品B的流水单号

 VAR tableB=CALCULATETABLE(VALUES('销售单据'[流水单号]),USERELATIONSHIP('商品表(B)'[商品],'销售单据'[商品]),ALL('商品表(A)'))

 // 购买商品A的流水单号与购买商品B的流水单号的交集,即为同时购买了商品A和商品B的流水单号,或者说是够买了商品A同时购买了商品B的流水单号

 VAR AandB=NATURALINNERJOIN(tableA,tableB)

 // 根据同时购买了商品A和商品B的流水单号,统计出同时购买商品B的金额

 VAR result=CALCULATE('度量值表'[购买商品B的金额],AandB)

 RETURN result

8、将度量值“同时购买商品B的金额” 设置为矩阵的值

在切片器-商品B中勾选“中华”,矩阵中显示商品A-脉动的客户数量为3个,其中有2个购买了商品B-中华,客户占比66.67%,同时购买商品B的金额为135。

步骤五、可视化图表优化

1、当切片器-商品B中勾选了某个商品比如“中华”,在矩阵商品A下方就不再显示该商品“中华”

选中可视化对象矩阵,打开“筛选器”对话框,在“同时购买商品B的客户数量”下方,将“显示值为以下内容的项”设置为“不为空”,点击右下角“应用筛选器”。最终效果显示如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/854699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode-每日一题【剑指 Offer 16. 数值的整数次方】

题目 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入:x 2.00000, n 10输出:1024.00000 示例 2: 输入&#…

数据挖掘全流程解析

数据挖掘全流程解析 数据指标选择 在这一阶段,使用直方图和柱状图的方式对数据进行分析,观察什么数据属性对于因变量会产生更加明显的结果。 如何绘制直方图和条形统计图 数据清洗 观察数据是否存在数据缺失或者离群点的情况。 数据异常的两种情况…

每日后端面试5题 第三天

1. 线程有哪几种状态以及各种状态之间的转换?(必会) 看图: 图片来自 线程状态转换图及其5种状态切换_小曹的blog的博客-CSDN博客 图片来自 总算把线程六种状态的转换说清楚了! - 知乎 线程一共有4种状态,分别是: 1.…

js手写贪吃蛇游戏

前端手写贪吃蛇游戏 贪吃蛇游戏 场景 使用了js 和 html /css 就可以完成 一个贪吃蛇小游戏 技术分析 主要用到的几个技术点: clientWidth :元素的宽度,包含内边距clientHeight :元素的高度,包含内边距setInterval&am…

【论文笔记】Cross Modal Transformer: Towards Fast and Robust 3D Object Detection

原文链接:https://arxiv.org/abs/2301.01283 1. 引言 受到DETR启发,本文提出鲁棒的端到端多模态3D目标检测方法CMT(跨模态Transformer)。首先使用坐标编码模块(CEM),通过将3D点集隐式地编码为多…

面试笔记:Android 架构岗,一次4小时4面的体验

作者:橘子树 此次面试一共4面4小时,中间只有几分钟间隔。对持续的面试状态考验还是蛮大的。 关于面试的心态,保持悲观的乐观主义心态比较好。面前做面试准备时保持悲观,尽可能的做足准备。面后积极做复盘,乐观的接受最…

[分享]STM32G070 串口 乱码 解决方法

硬件 NUCLEO-G070RB 工具 cubemx 解决方法 7bit 改为 8bit printf 配置方法 添加头文件 #include <stdio.h> 添加重定向代码 #ifdef __GNUC__#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)#endi…

安装程序报错问题解决 -2147287037 <<30005>> 2203

本文如下报错适用&#xff1a; 一、The installer has encountered an unexpected error installing this package. Thismay indicate a problem with this package. The error code is 2203 二、错误 2203.数据库&#xff1a; C:\WINDOWS\Installer\inprogressinstallinfo.i…

别找了,这7个AI绘画图软件够你用了!

AI 绘图工具最妙的是也让人人都能成为朋友圈里的“画家”&#xff0c;如果你也想要拥有一个趁手的 AI 绘画工具&#xff0c;那么就跟随本文一起来看看吧&#xff01;本文精选了7全球顶尖的AI绘图工具给大家&#xff0c;包括&#xff1a;即时灵感、Jasper Art、Images.ai、Night…

休闲卤味强势崛起:卤味零食成为新一代热门美食

随着人们生活水平的提高和消费观念的转变&#xff0c;休闲卤味逐渐成为了人们日常生活中的热门美食。据最新数据显示&#xff0c;2022年&#xff0c;我国卤味市场销售额达到了约2000亿元&#xff0c;预计到2025年将突破3000亿元大关。其中&#xff0c;休闲卤味以每年10%的速度持…

趋势洞察:中国企业高质量出海白皮书!

目前&#xff0c;我国仍处于战略发展机遇期的大背景&#xff0c; 面对全球经济放缓、不确定性增强的常态&#xff0c;国内高端市场的竞争也日趋激烈&#xff0c;对于寻求高质量发展的中国企业&#xff0c; 出海将成为重要的增长点。 今天运营坛为大家整理了一份《中国企业高质量…

弹簧阻尼系统前馈PID位置控制(PLC完整闭环仿真SCL+ST代码)

弹簧阻尼系统的前馈PID控制请参看下面文章链接: 前馈控制之如何计算前馈量(质量弹簧阻尼系统)_前馈控制量_RXXW_Dor的博客-CSDN博客带前馈控制的博途PID程序请参看下面的文章链接:首先我们看下什么是弹簧阻尼系统。1、质量弹簧阻尼模型。_前馈控制量https://rxxw-control.bl…

使用Spring五大注解来更加简单的存储Bean对象

在使用Spring框架的时候我们如果使用这种方式来存储bean对象的话未免有点太麻烦了 <bean id"xxx" class"xxx"> </bean> 为了简化存储Bean对象的操作&#xff0c;我们可以使用五大类注解来进行存储Bean对象 我们首先要在配置文件配置扫描路径…

IoTDB在springboot2中的(二) 查询

上一章我们处理的基本的构建接入&#xff0c;以及插入的处理&#xff0c;那么接下来我们进行查询的操作处理。 我们继续在IoTDBSessionConfig工具类中加入查询的方法处理 /*** description: 根据SQL查询最新一条数据* author:zgy* param sql sql查询语句&#xff0c;count查询…

JVM 类加载和垃圾回收

JVM 1. 类加载1.1 类加载过程1.2 双亲委派模型 2. 垃圾回收机制2.1 死亡对象的判断算法2.2 垃圾回收算法 1. 类加载 1.1 类加载过程 对应一个类来说, 它的生命周期是这样的: 其中前 5 步是固定的顺序并且也是类加载的过程&#xff0c;其中中间的 3 步我们都属于连接&#xf…

【Java-16】动态代理的使用方法及原理实现

代理模式&#xff1a;静态代理 目标 了解静态代理模式实现 路径 静态代理概述静态代理案例 静态代理概述 静态代理&#xff1a; 是由程序员创建或工具生成代理类的源码&#xff0c;再编译成为字节码 &#xff08;字节码文件在没有运行java之前就存在了&#xff09; 在编译…

Linux——常用命令(2)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​ 前期回顾 【新星计划Linux】——常用命令&#xff08;1&#xff09; 目录 一.其它常用命…

vue或uniapp使用pdf.js预览

一、先下载稳定版的pdf.js&#xff0c;可以去官网下载 官网下载地址 或 pdf.js包下载(已配置好&#xff0c;无需修改) 二、下载好的pdf.js文件放在public下静态文件里&#xff0c; uniapp是放在 static下静态文件里 三、使用方式 1. vue项目 注意路径 :src"static/pd…

在矩池云使用ChatGLM-6B ChatGLM2-6B

ChatGLM-6B 和 ChatGLM2-6B都是基于 General Language Model (GLM) 架构的对话语言模型&#xff0c;是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同发布的语言模型。模型有 62 亿参数&#xff0c;一经发布便受到了开源社区的欢迎&#xff0c;在中文语义理解和对话生成上有…

语音信号的A律压缩和u律压缩matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 A律压缩算法 4.2 μ律压缩算法 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 clc; clear; close all; warning off; addpath(genpath(…