本文将讲解如何从零开始使用PowerBI Desktop制作一份动态销售报告。帮助大家快速入门PowerBI Desktop的操作。我们先来看一下一份动态销售报告的构成。
1、左上角放置了小黎子数据分析的二维码图片,紧接着是切片器,由城市,店长,店铺数据默认情况下是所有的数据,点击下拉框可以进行筛选数据
2、右上角是放置的卡片图,主要用于显示报告分析中重要的指标。
3、中间部分的图表显示的业绩排名,业绩贡献,业绩增长情况
4、左下角的散点图,使用了十字线将所有员工分为四个象限,右上角就是指标最佳的员工,左下角就是指标比较差的人员。圆圈大小代表着业绩金额大小。
5、右下角用表展现店铺的销售数据情况。

  接下来,我们来具体实现这个动态销售报告。

一、了解数据源结构
  本文中的数据源如下图:

  我们需要分析销售数据,所以我在销售明细中模拟了2018年和2019年的数据。将它们放置在销售明细文件夹中。销售数据结构如下图:

  店铺信息直接模拟了十一个店铺如下图:

  销售目标数据模拟数据如下图:

  该模拟数据只是为了方便给大家讲解PowerBI操作。在实际业务中,我们的数据很有可能是来源于公司的业务系统或者来自不同部门的数据。获取数据后我们需要对数据进行数据处理,合并数据,转换数据,处理成我们需要制作报告的样式方便分析数据。

二、导入数据源数据
  在销售数据明细文件夹中有两个EXCEL文件,所以我们需要先对这个文件夹的数据进行合并处理。然后处理合并单元格以及表头。在PowerBI中可以直接处理文件夹。接下来我们开始导入数据源步骤
1、新建一个空白的PowerBI项目文件

2、点击获取数据,选择更多,选择文件夹

3、点击连接,选择数据源存储位置,点击确定。然后点击转换数据进入PowerQuery编辑器(注意:该路径不是一尘不变的,有时候我们移动了文件夹,就需要重新引用。我们可以通过主界面编辑查询的数据源设置来变更路径即可)

4、查看导入

三、合并销售数据
在没有PowerBI之前我们在Excel中合并数据时主要时编写宏来处理数据,效率比较低。现在我们在PowerBI中只需要编写一个公式实现
1、点击删除不需要的列,只保留Name和Content.选择这两列然后再删除列中。点击删除其他列(注意:如果要删除的列多,就选择要保留的列,然后点击删除其他列。如果时删除的列少,保留的列多,选择要删除的列,点击删除列)

2、添加自定义列

打开自定义列表,输入列名数据表,输入自定义公式Excel.Workbook([Content])

3、展开数据表数据,只勾选data,使用原始列名作为前缀(注意:因为本示例中的数据源每个工作簿只有一个工作表所以只选择了data,如果大家使用的时多个工作表就需要选择name和data从而方便快速定位表)

4、将第一行作为标题

5、向下填充空白内容,选择转换选项卡,点击店铺,下拉填充菜单,点击向下

6、先复制销售单编号列,拆分销售订单编号,提取日期列。日期在销售报表中起到很大作用,可以在后续中分析趋势。可以在转换选项卡中找到拆分列

7、重命名列,将销售单编号1删除,销售单编号2按分隔符-最右侧分开。将第一列设置为销售日期

8、选中日期列,添加年,季度,月日期列

9、导入店铺信息和销售目标数据,可以看到PowerQuery中有三个查询信息

10、合并销售明细和销售目标数据,使用合并查询

11、筛选数据只保留2019年的数据

12、查询合并销售数据,左连接销售目标

展开销售目标列,并重命名销售目标

13、因为销售目标表只是中间计算过程,所以关闭启用加载销售目标表。右键取消勾选启用加载,表名称变为斜体字就是操作成功

14、关闭并应用数据处理,加载数据到PowerBI数据集中

等待应用查询

四、建立表关系、新建度量值
1、建立三个表的关联关系,店铺资料和合并销售数据,销售明细进行关联

2、新建分组列,通过面积进行分组

3、新建度量值
度量值公式:
1)、业绩完成率 = DIVIDE ( SUM ( '合并销售数据'[销售金额] ), SUM ( '合并销售数据'[销售目标] ) )
2)、本年销售笔数 = CALCULATE(DISTINCTCOUNT('销售明细'[销售单编号]),'销售明细'[年]=2019)
3)、本年销量= CALCULATE(SUM('销售明细'[销量]),'销售明细'[年]=2019)
4)、本年销售金额 = CALCULATE(sum('销售明细'[业绩金额]),'销售明细'[年]=2019)
5)、去年销售金额 = CALCULATE(sum('销售明细'[业绩金额]),'销售明细'[年]=2018)
6)、增长率 = DIVIDE([本年销售金额]-[去年销售金额] ,[去年销售金额])
7)、客单价 = DIVIDE('销售明细'[本年销售金额],'销售明细'[本年销售笔数])
8)、客单量 = DIVIDE('销售明细'[本年销量],'销售明细'[本年销售笔数])
五、制作可视化报告
1、添加图片,选择图像菜单,选择小黎子数据分析二维码

2、制作切片器,在可视化面板中选择切片器,勾选店铺资料中的店铺。同样再添加店长和城市切片器,分别调整列表为下拉。切片器的作用主要用于动态切换数据范围,使得相应图表一起发生更改。

3、制作卡片图,选择可视化面板中的卡片图,分别勾选本年销售额,本年销量,业绩完成率,增长率,客单价,客单数指标

4、制作条形图和柱状图,来查看城市销售状况并进行排名。选择折线和族状柱形图,选择店铺资料中的城市,列值选择本年销售金额,行值选择业绩完成率。开启数据标签功能

同样的操作方式,选择条形图来制作销售额增长排名

5、制作饼图,饼图是很好显示销售额占比的图像,也可以很好展现贡献度

6、制作散点图,散点图主要可以容纳丰富的数据,使得数据呈现规律变化。每个圆圈代表一个销售员,X轴代表客单量,Y轴代表客单价。圆圈的大小代表着销售额的高低。

7、制作数据表,PowerBI除了图表之外对于表格也是非常灵活的。方便查看数据,拖拽生成表格也比较容易。

到这里我们已经完成了动态销售报告的制作。我们可以根据公司的风格来调整主题。大家有没有觉得很方便了?
本文的示例地址:动态销售报告
本文中使用的模拟数据源,大家可以回复 销售 获取销售数据源文件

PowerBI系列之入门案例动态销售报告的更多相关文章

  1. DAX/PowerBI系列 - 参数表(Parameter Table)

    DAX/PowerBI系列 - 参数表(Parameter Table) 难度: ★☆☆☆☆(1星) 适用范围: ★★★★☆(4星) 概况: 这个模式比较简单灵活,而且很实用.所用的DAX语句也比较简 ...

  2. SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)

    SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 Spr ...

  3. Google C++测试框架系列:入门

    Google C++测试框架系列:入门 原始链接:V1_6_Primer 注 GTest或者Google Test: Google的C++测试框架. Test Fixtures: 这个词实在找不到对应 ...

  4. 浅谈JavaWEB入门必备知识之Servlet入门案例详解

    工欲善其事.必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详 ...

  5. DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)

    DAX/PowerBI系列 - 父子层级(Parent-Child Hierarchy)参考文章见最后 难度: ◆◆◇◇◇(2星) 应用场景: 其实很多时候对数据汇总都会有层级关系的问题,不过说的不是 ...

  6. Pandas系列之入门篇

    Pandas系列之入门篇 简介 pandas 是 python用来数据清洗.分析的包,可以使用类sql的语法方便的进行数据关联.查询,属于内存计算范畴, 效率远远高于硬盘计算的数据库存储.另外pand ...

  7. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

  8. spring-cloud-Zuul学习(一)【基础篇】--入门案例【重新定义spring cloud实践】

                                                                                                    -- 2 ...

  9. 【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。

    C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子. 标签: c#objectnewlineexceptionbytestring 2010-05-17 01:10 117109人阅读 ...

随机推荐

  1. linux中安装vsftpd出现的问题

    提示:安装vsftpd必须要在root用户下才能安装成功,进入root:su -(中间有空格) 问题: 1.再用命令getsebool -a | grep ftpd命令查看查看状态时出现的问题:SEL ...

  2. windows平台:查看端口占用情况,请杀死端口对应进程PID

    //查看 netstat -ano | findstr //杀死 taskkill /f /PID

  3. a149: 乘乘樂

    题目: 你拿到一个整数,却忍不住想把每个位数都乘在一起.例如看到356就会想要知道3 * 5 * 6的值为何.快写个程序帮帮为了乘数字而快发疯的自己吧! 思路:把这个数每一位%10,并且再将它每次/1 ...

  4. Linux下Eclipse以及Java环境安装教程[小白化](2019-9)

    Linux下安装Eclipse以及Java 一.前言 许久未用Eclipse, Ubuntu上也没装Eclipse, 今天安装发现, 好多东西都忘了. 不过经过一番查找(百度, csdn) 终于还是安 ...

  5. Java第三次作业第一题

    1.[请复制本程序,作为java程序代码,进行编译,补充填写缺失代码部分,并实现题目要求功能,从而获得空白填写所需的内容.] 编写无限计时程序,从0:1开始计时,一直循环计时,计时到60秒,变为1:0 ...

  6. (七十)c#Winform自定义控件-饼状图

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  7. [Leetcode][动态规划] 买卖股票的最佳时机IV

    一.题目描述 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 k 笔交易. 注意: 你不能同时参与多笔交易(你必须在再次购 ...

  8. svn新建文件不能提交的解决方法

    svn新建文件不能提交的解决方法 在当前新建文件的目录下,右键空白处: 选择Properties 找到所有有ignore字眼的属性,查看这个属性的继承目录(inherited from),入我的是cl ...

  9. 浅谈 Vector

    目录 浅谈Vector 1.容器基本操作 2.vector 初始化 3.vector的赋值与swap 4.vector的增删改除 1.增加元素 2.访问元素 3.删除元素 4.元素的大小 浅谈Vect ...

  10. Docker下实战zabbix三部曲之二:监控其他机器

    在上一章<Docker下实战zabbix三部曲之一:极速体验>中,我们快速安装了zabbix server,并登录管理页面查看了zabbix server所在机器的监控信息,但是在实际场景 ...