本文将讲解如何从零开始使用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. 关于Java网络编程

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  2. 前端项目自动化构建工具——Webpack入门教程

    参考资料:https://www.webpackjs.com/(中文文档)   https://www.webpackjs.com/(官方文档) 首先有必要说明一下,本文侧重讲解webpack基本配置 ...

  3. idea报错 Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource

    核对一下控制器是不是写了相同的路径...org.springframework.beans.factory.BeanCreationException: Error creating bean wit ...

  4. Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项

    场景 Winform中对ZedGraph的RadioGroup进行数据源绑定,即通过代码添加选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/ ...

  5. Golang 入门系列(十五)如何理解go的并发?

    前面已经讲过很多Golang系列知识,感兴趣的可以看看以前的文章,https://www.cnblogs.com/zhangweizhong/category/1275863.html, 接下来要说的 ...

  6. Mysql高手系列 - 第10篇:常用的几十个函数详解,收藏慢慢看

    这是Mysql系列第10篇. 环境:mysql5.7.25,cmd命令中进行演示. MySQL 数值型函数 函数名称 作 用 abs 求绝对值 sqrt 求二次方根 mod 求余数 ceil 和 ce ...

  7. 002:CSS基础

    注意:蓝色 重要:红色 目录: 1. 学会使用CSS选择器: 9大选择器.交集选择器.并集选择器.后代选择器.子代选择器.伪类选择器. 2.font.color.横向竖向居中.文本修饰.首行缩进. f ...

  8. 豆瓣电影TOP250和书籍TOP250爬虫

    豆瓣电影 TOP250 和书籍 TOP250 爬虫 最近开始玩 Python , 学习爬虫相关知识的时候,心血来潮,爬取了豆瓣电影TOP250 和书籍TOP250, 这里记录一下自己玩的过程. 电影 ...

  9. 【linux】【Zookeeper】Centos7安装Zookeeper-3.5.5

    一 .下载zookeeper wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5 ...

  10. el-table合并行并自定义某一列或几列

    在el-table的官方组件中并没有看到具体的合并行或者列及自定义表格内容,于是就自己写了一个效果如下所示. 这种对左侧内容要求比较高,要求行合并,并要自定义一些内容.下面说一下具体方法及代码写法. ...