微软推出的数据分析和可视化工具,用于在组织中提供见解,是商业分析工具,让视觉对象分析触手可及,可以创建交互式数据可视化效果和报表,连接数百个数据源、简化、准备数据等,并提供相应的分析,可以做数据连接、混合、建模、数据可视化等。简单的说Power BI可以从各种数据源中提取数据,并对数据进行整理、分析,然后生成精美的图表,并可以在电脑端和移动端与他人共享的软件,用软件实现数据分析。包含桌面版和在线的Power BI服务。每个人都可创建个性化仪表板,获取针对其业务的全方位独特见解。在企业内实现扩展,内置管理和安全性。
从官网上下载:https://powerbi.microsoft.com/zh-cn/,产品中下载 Power BI Desktop(桌面版,免费),Power BI 移动版(手机使用)、Power BI Pro在线的服务,需要付费使用,这两个是Power BI的分发、共享功能的实现。在官网产品中 选择下载Power BI Desktop进入下载界面,可以选择语言为中文版以及操作系统位数进行下载,或者直接打开系统自带的微软应用商店里进行搜索下载,Power BI 目前没有Mac版。
安装完成后,打开跟微软的其他软件界面基本相似。整个界面分为几个区域,画布区:白色的区域,报表、可视化的内容在这个界面显示出来;功能区:提供相应的功能,如获取数据,插入,数据转换、建模等,输入数据以及对数据进行转换;图表类型区:选择绘制图表的样式,也可以加载第三方的视觉对象;图表设计区:图表的风格,主题,坐标轴间距、字体大小,刻度,颜色等;数据字段:添加数据后才会显示,数据字段对应到表的列名称。
在获取数据中可以插入各种类型的数据,点击更多,会列出支持的各种数据格式。
进入中商情报网,选择产业数据–数据库—上市企业数据—A股。复制网址https://s.askci.com/stock/a/,用Power BI 进行数据的获取,点击主页–获取数据–Web,输入网址,相当于软件提供了爬虫的程序,从提供的URL地址中进行数据的获取,连接完成会有个导航器,里面是在网页上显示的所有表格,勾选表格后,下方会有加载和转换数据的选项,加载是将数据先加载到软件里,转换数据是直接进入到数据处理的阶段。选择加载后,数据会在软件右边的“字段”里,展开会有每一列的列名称。也可以点击表,在左侧出现的数据里查看数据,当关闭软件,加载的数据也会消失,若要保留数据,就需要把数据保存到本地。数据下面的模型是指表对表、字段跟字段之间的关联,一对一,一对多,多对多等等。
可以选择一个可视化的图形,如饼图,在图例中选择城市,在值中选择产品类型的计数,就可以根据数据画出饼图。
在画图的时候 要先在空白的地方点击一下,否则会在原图上进行更改,可以拖动图形,进行缩小和放大等等。在图表配置里可以对图表位置、图例、颜色、字体大小、数据颜色、形状等等进行更改。也可以下载视觉对象文件,进行导入。
Power Query编辑器是微软的数据链接和数据准备技术,可以使用户在业务上无缝的访问存储在数据源中的数据,易于使用,不用去写代码的体验;Power Query编辑器用来做数据的处理、清洗、整理等,都可以在编辑器里完成。Power pivot是一种数据建模技术,用于建立数据模型,建立关联,创建计算等,可以用来处理大型的数据集,Power pivotTable为透视表。
数据处理的第一步是要先进行数据获取,读取原始数据,以Excel文件为例,选中需要导入的Excel文件,会提示选择Excel中的子表格,根据需要选择导入的表格数据,有加载和转换数据两个选项,加载是直接加载到powerBI软件对应的内存里,软件不关闭,数据就可以一直使用;转换数据是加载的同时,进入转换数据、数据处理的界面。
加载完成后在字段区域就会出现表名称和对应的数据的列名称,可以点击左侧的数据,进入表工具界面,以表格的形式显示数据。
如果要做对数据金额的汇总,每家店在指定日期的支出金额,要做分组聚合的操作,可以进去主页—转换数据–转换数据,会打开一个Power Query编辑器,需求为把日期进行拆分,只需要获取每月的数据。选中日期列,点击转换选项卡下文本列选项组中,拆分列按钮,选择按照分隔符,用默认的"/"进行拆分,拆分位置选择最右侧的分隔符,把日期变为年月为1个数据,日期为1个数据,此时会多出来一列数据,列名为日期2,显示的天的数据,对分析数据没有用可以点右键删掉。对着日期1的列名称点右键,更改类型为文本,此时日期1显示的就为年月的日期。
做数据汇总,求佳木斯市2016年1月份水电费的支出为多少钱,在pandas中是通过groupby来实现分组聚合操作。在Power Query中对日期点右键,选择分组依据,选择高级–添加分组,分别为 日期1,店铺,项目(相同的年月,相同的店铺,相同的项目),新列名改为金额,操作改为求和,柱改为支出金额,点击确定会得到一个新列,列名为金额,金额的第一个数值258即为佳木斯市2016年1月份水电项支出的金额,这就完成了数据汇总。
回到主页选项卡,点击关闭选项组中 关闭并应用— 关闭并应用按钮,这时Power Query表会关闭,加载出来的表列名称也会发生变化(支出金额变为金额),做了聚合操作,数据量也会减少。
点击报表回到画图界面,添加文本框(主页–插入–文本框)作为标题,内容为店铺2016年-2017年费用支出情况,调整字体和文本框大小,选择可视化里面的矩阵,通过矩阵详细的罗列每一项的支出,可视化选项中行为项目,值为金额,选择视觉对象格式中的值、列标题、行标题,分别对每一部分的字体大小进行设置,得到的矩阵就为店铺所有分店的管理、人力、设备等费用支出的金额,显示汇总数据。
选择环形图,把项目作为图例,把支出的金额作为值,显示每一项支出金额的占比。
要求得2016年1月份每一项的支出情况,可以选择可视化里的切片器,把日期放到字段里,此时在切片器里,选择相应的年月,矩阵和环形图的数据都会发生变化,类似于选项卡。再增加一个切片器,在设置视觉对象格式里,选择切片器选项,把垂直改为水平。
此时日期为文本格式,月份的排列是按照文本格式排列的,可以进入到主页–查询–转换数据–转换数据,点右键把日期的格式改为日期,这时所有的日期都会加上1日,代表每个月的第1天(类似于Pands的时间序列里的重采样,频率转换时默认用每个月的第一或者最后一天来代表整个月的数据),点击关闭并应用,日期就会按照月份顺序排列,单击日期可以选择不同月份下的数据。
添加堆积面积图,X轴为日期,Y轴为金额,图例为项目,在切片器里如果选择某一个月就会变成散点图的效果,取消选择日期显示为堆积面积图的效果,选择X轴为日期1.1 ,就可以看到以月份为坐标轴形成的堆积面积图。
再选择一个切片器,字段为店铺,可以选择不同城市各项的支出金额。
可以在视图选项卡下选择不同的主题,可以开通会员把报表分享给别人,在网页服务端就可以看到报表。
熟悉Power Query进行数据的处理以及常用的功能和操作,还要对涉及的M函数有一定的了解。
如何将多个工作簿的数据合并到一张表上,如汇总1-3月份各个城市分公司的销售数据。
打开Power BI ,选择 主页—获取数据—更多—文件夹,选择数据所在的文件夹,就可以加载出来文件夹下所有的Excel文件,点击转换数据打开Power Query 编辑器,就可以看到表的基本信息。
可以看到表的后缀名、路径、时间等基本的信息。
下面就要把表内容提取出来,点击添加列选项,常规选项组中的自定义列,新列名为 自定义,自定义列公式为 “ = Excel.Workbook([Content])”,提取Excel表中内容的函数,单击确定。
这时表格后面会自动增加一列,单击自定义列右边的双向箭头把自定义列进行展开。
单击加载更多,显示所有的列,然后单击确定,自定义列进行了展开。
然后再点击自定义.Data列右侧是双向箭头,同样的点击加载更多,显示所有的列,然后单击确定。这时出现的数据就是9个Excel表格中的所有的数据。
默认选中的数据就是表格合并的数据,也就是需要的数据,选择主页—删除列—删除其他列,这样就删除掉其他不需要的数据,然后选择 转换–表格—将第一行用作标题,设置列标题。在表上往下滚动数据,会发现里面有重复的标题(列名称重复),空值(缺失值)。用Pandas处理的时候找到不为空的数据(isnull、dropna)。用Power Query处理的时候,选择城市列右侧的下拉按钮,去掉null和城市 的勾选,把null和重复的列名称去掉,点击确定就可以了。
在进行操作的时候,Power Query右侧 应用的步骤中,点击应用的步骤前面的叉号,可以恢复上一步的操作。
点击 主页–关闭并应用,再点击左侧的数据,就可以得到清洗后的数据。
Power BI 支持多种数据源导入数据,可以从网页中获取实时更新的数据,相当于对网站进行了爬虫,抓取的数据可以随时刷新来更新数据。
数据清洗对应的内容比较多,相应的处理也比较麻烦,占数据分析80%的时间。需要对大多数的数据进行整理,杂乱无章的数据就是脏数据,只有被清理干净的才能做数据分析,进行使用。
加载数据清洗示例数据,选中包含的表格,点击转换数据都加载进来。在Excel中,在sheet1中选择转换选项卡—表格—将第一行用作标题,把第一行作为标题行。
在sheet2表中,可以选中要转换的列,转换选项卡—任意列—数据类型,替换当前转换,进行列格式的转换;也可以选中要转换的列,单击右键—更改类型—替换当前转换,进行数据类型的转换。
要去除表中的空值和错误值,选中列,点击右键—删除错误/替换错误,点击删除就会删除表中的错误数据,单击列名称右侧的三角,勾选掉null值就可以去掉空值了。
表中会有单元格为空的情况,如果删除的话,一整行的数据都不会被显示。有时候出现的空值可能是在Excel中合并单元格的原因。选中列,点击右键—填充—可以选择向下或者向上。
选中需要合并的两列,选择转换选项卡下,文本列中的合并列选项,在弹出的对话框中选择分隔符和修改列名称即可。
选中要拆分的列,点击右键,选择拆分列,按照需求进行拆分,跟合并是相反的操作。
相当于分组聚合操作,比如计算华东地区1月份的总和。根据区域作为分组指标,把1月份的数据进行汇总。选中区域列,选择分组依据,输入新列名,操作改为求和,柱为1月,单击确定,就可以得到华东、华南、花北地区1月份的数据。
表中第一列在城市名称后面会有其他的数字,需要提取出来城市名称,去掉其他的内容。选择需要操作的列,选择转换选项卡,在文本列中单击提取,选择长度的话,会自动计算每个单元格的长度;可以选择范围,输入起始索引,如从第一个字符开始,起始索引为0,字符数为2,选择前两个字符
选择转换选项卡,点击表格选项组中转置按钮,进行行列互换。
选择主页选项卡,管理列、减少列选项组中的选择列、删除列、保留行、删除行可以进行对行列进行操作。
选中需要透视的列,点右键选择逆透视列,如选择城市,则会在后面出现两列分别为城市和城市的名字;如果选择城市列,点击逆透视其他列,就会显示每个城市分别在1月份和2月份的数据。
透视和逆透视是互为相反的操作。选择转换选项卡,选择任意列选项组中的透视列,高级选项中聚合值函数中选择不要聚合,单击确定,就会返回到之前的表格。
之前的操作都是在原表上进行删除、分开、合并等操作,有时候需要在原数据上增加辅助数据,如新增列或者行,或者从其他表中增加更多维度的数据。
右键单击选择的列,选择重复列,就会把选中的列复制一遍,不会影响到原有的数据。
单击添加列选项卡,选择常规选项组里面的索引列,就会在表格后面增加一个索引列(可以选择从0,从1开始),内容为行索引。
当前的数据是根据1月份的数据显示的,我们要分一下城市所属的类别,如上海1月份的数据大于600,称为一线城市,小于600称为二线城市,按照条件丰富数据。选择添加列选项卡,常规选项组中的条件列,弹出的对话框中,更改新列名,列名为1月份,运算符选择大于或等于,值为600,输出为一线,ELSE中填入二线,单击确定。会在表格后面增加一列,内容是根据1月份的数据判断的结果。
通过M函数来自动生成新的数据。比如计算1月份和2月份的和,结果放到总计列中。选择添加列选项卡,常规选项组中,点击自定义列,在弹出的对话框中更改新列名,自定义列公式中输入公式,=[1月]+[2月],单击确定。
在现有的基础上增加新的行数据,好比纵向的合并(上下合并),如两张表合并到一张表里,前提是两张表有完全相同的列名称。选中表格,选择主页选项卡,组合选项组中的追加查询,在弹出的对话框中选择要追加的表,点击确定即可。
如果已经导入了表中的子表,再增加导入子表的话,只需要重新把新表导入即可。实质上为左右合并两张表,选中表格,选择主页选项卡,组合选项组中的合并查询,在弹出的对话框中,选择要合并进去的表,类似于pandas中的链接,左右两张表通过相同的列来建立关联,作为链接键,把两张表进行合并。勾选两张表中相同的列,单击确定,可以对链接后的表进行展开,就实现了两张表的合并。