小目标 | DAX高级实践-Power BI与Excel联合应用
· 适用人群:数据分析专业人士,在数据分析方向需求发展人士
· 应用场景:数据汇报、数据可视化展现、数据建模分析
· 掌握难度:★★★★☆
本期讲师
DAX高级实践-Power BI与Excel联合应用
通过前序三篇文章的学习,大家已经了解到在DAX数据建模中如何搭建数据模型、如何设计数据模型中对于值的度量计算以及如何查询数据模型。
而在实际应用中,Excel仍然是数据分析的世界标准,它的用户群体最为广大,而其中的数据透视表更是Excel中最强大的应用(没有之一)。
那么Power BI 与Excel联合起来会擦出什么样的火花呢?
运行在背后的引擎
前面已经知道负责运行DAX的引擎实际和微软SQL Server 分析服务(SSAS)是一样的,在本地运行PowerBI Desktop的时候,PowerBI Desktop会建立一个SSAS本地进程,使用任务管理器(可以点击Ctrl+Alt+Delete启动任务管理器)便可以看到:
虽然在计算机上并未安装微软旗舰级数据库系列产品SQL Server Analysis Services,但PowerBI Desktop却在使用同样的引擎。
这再次说明Power BI Desktop的强大性完全基于微软旗舰级数据库产品核心引擎,数据分析师表面上在使用PowerBI Desktop在建立模型,而实际上完全在使用SSAS平台建立数据模型,这是数据分析师应该选择PowerBI Desktop的本质原因,它不仅仅是一个客户端工具,它就是一架数据分析服务器。
实现OLAP服务器
既然明白了Power BI Desktop就是SSAS服务器,也就有了一项非常巧妙灵活的应用模式:
✔ 用PowerBI Desktop作为本机商务智能服务器;
✔ 用Excel作为报表终端来完成。
实现端到端(end-to-end)的敏捷商务智能实施方案。数据分析师先在Power BI Desktop里做DAX数据建模设计,设置好度量值以及要分析的结果,最终在Excel中呈现分析结果并形成报告,利用Excel的通用性可以自由分发给指定的用户(一般为更高级的决策者)。
这其实可以说是一种“回归”,因为在Excel设计之初时就作为一种终端OLAP(Onlineanalytical processing)联机分析处理工具的,如下所示:
当然如果用Power BI Desktop作为本地BI服务器,则可以这样:
只需要输入本机服务器地址即可。那如何知道本机服务器地址呢?可以使用之前介绍过的DAX Studio来查询到这个信息。打开DAXStudio后连接到PowerBI Desktop,便可以在任务栏看到:
这个就是要找的地址,然后输入到Excel中即可,如下所示:
点击下一步直到完成,并选择用透视表的方式来进行连接,如下所示:
可以惊喜地看到所有在Power BI Desktop中设定的列和度量值都呈现了出来。
理解OLAP立方体
这个过程是将Power BIDesktop中的表结构模型映射成了OLAP结构的立方体模型,如下所示:
OLAP立方体(OLAP Cube)设计模式是商务智能发展过程中的经典模式,可以简单理解为不同维度的数据可以从多个维度组成一个数据立方体,而度量就是从多个维度综合计算的结果。如下所示:
从这个意义上说,提供表格式的数据模型相当于提供了OLAP数据立方体,数据立方体这个概念更加直观。PowerBI Desktop实际可以作为OLAP服务器使用,而用Excel在终端制作透视表的应用。这样也就完美地结合了PowerBI Desktop以及Excel。
OLAP和Excel本来就是密不可分的数据分析应用,这并非新技术,正相反这是Excel数据分析的真正经典应用。
在Excel中用OLAP工具打造自由报表
很多用户还根本没有用过OLAP这项藏匿于Excel的强大功能,那现在就来看看它能做什么。我们以编制一个年度销售业务趋势为例看到:
熟悉透视表的使用会知道,透视表是一个整体,往往无法单独取出里面的数据,而在制作报告的时候,希望更加自由地使用每个单元格的数据。
这里就可以使用Excel透视表的OLAP工具功能,如下所示:
注意,如果是在单纯Excel文件透视表里,该功能是灰色禁用状态的,正是因为此时连接了Power BI Desktop作为本机OLAP服务器,才能进一步使用该项强大功能。如下所示:
可以看到:
✔ 透视表全部转化为单元格;
✔ 单元格数据全部经由计算动态完成。
现在,这个透视表已经变成了等效的OLAP公式计算形式,这就可以任意排布单元格的位置。
而且还可以将原有的英文显示全部转化为中文显示,更加符合终端用户的习惯,如下:
此时可以根据排版需要重新进行布局,而每个单元格数值都是独立的,彻底实现了自由报表。如下所示:
制作上述报表非常简单,完全是在Excel中排布单元格并使用基本作图即可完成。当然,该报表还有更多优化空间,但这以足够说明在使用OLAP工具下,有更多的灵活性可以制作任意格式的报告,当然这就是数据分析师自由发挥的阶段了。
小结
通过本文的学习,可以从本质上理解微软究竟在做了一件什么事,那就是把旗舰级数据分析平台SQL ServerAnalysis Services的引擎装入Power BI Desktop并作为独立产品提供给数据分析师。
数据分析师不仅可以在Power BI Desktop中获取数据,转换数据,建立模型,通过DAX进行任意复杂的计算和查询,并通过丰富的可交互式图表了解及确认想要的结果,并最终可以与世界级最强大通用的Excel平台贯通,在Excel中以OLAP透视表的形式获取到分析结果,最终制作出自由式报告,满足任意报告制作需求。
正如本文开篇所述,通过四篇文章的学习,也许还没有来得及掌握这其中涉及到的每个“单词”(DAX函数),就已经领略了DAX建模整套过程,宛如一幅鸿篇巨著就诞生在每位数据分析师的笔记本电脑上。想象一下,与客户进行了充分的沟通,打开PowerBI Desktop载入了几百万的数据,通过熟练的操作,设计了DAX数据模型并设置好了精确的度量计算,然后在Excel中建立连接并生成一份自由式分析报告,邮件发送完毕,喝一口星巴克咖啡,没错,这就是我们要的,敏捷商务智能:想要的,现在就要。
小目标 | DAX高级实践-Power BI与Excel联合应用的更多相关文章
- 一起学微软Power BI系列-官方文档-入门指南(6)Power BI与Excel
今天介绍了官方入门文档中有关PowerBI和Excel的知识.前几篇入门文档有点仓促,加上最近时间的研究,会有更多技巧性和入门型的文章或者视频发布,最后2篇入门文档将更加详细一点,因为部分文章进行简单 ...
- 数据可视化之powerBI入门(十一)认识Power BI数据分析语言DAX
DAX是英文Data Analysis Expression的缩写,意思是数据分析表达式,从名称上就可以看出,DAX公式是用作数据分析的,事实上也确实如此,从数据分析层面认识DAX会更有助于我们理解它 ...
- 2019微软Power BI 每月功能更新系列——Power BI 4月版本功能完整解读
Power BI4月份的更新对整个产品进行了重大更新.此版本增加了基于DAX表达式定义视觉效果标题和按钮URL的功能.本月Power BI也新增了许多新的连接器,现在可以使用几种预览连接器,包括Pow ...
- 2018 ,请领取您Power BI 年终报告
Power BI365 3Jan 2019 新年已至,岁寒温暖! 为方便Power BI用户们能快速找到所需要的Power BI各类型文章,小悦将2018年Power BI的所有精彩文章按照各应用场景 ...
- 您应该将报表从Excel转换为Power BI的8个原因
传统上,Microsoft Excel是企业的首选报告工具,但Power BI为企业提供了强大的分析和报告功能.通过快速实验可视化,广泛数据集的统计功能和计算,以及快速重组字段动态获得答案的能力,很明 ...
- 微软Power BI 每月功能更新系列——10月Power BI 新功能学习
Power BI Desktop10月产品功能摘要 本月Power Plus Desktop的更新充满了整个产品的小型和大型改进.一个巨大的更新是Power BI服务支持我们的复合模型和聚合预览.这实 ...
- 数据可视化之powerBI入门(四)Power BI与PowerQuery、PowerPivot有什么关系
https://zhuanlan.zhihu.com/p/64146209 Power BI与PowerQuery.PowerPivot有什么关系? 刚开始学习PowerBI的时候,总是能碰到Powe ...
- OLAP阵营又增一猛将,比肩Power BI不是说说而已!
说到大数据应用最多的技术,不得不提OLAP技术,在国内外,不论传统公司还是互联网公司,都开始利用OLAP技术分析挖掘大数据的价值.也许很多人对OLAP的概念还不是很清楚,简单来说,就把数据处理成数据立 ...
- 自助分析工具Power BI的简介和应用
作为一名资深的IT技术人,特别喜欢学习和尝试新技术,也勇于接受挑战,勇于创新,不仅能发现问题,更要解决实际的疑难杂症,闲暇时光也乐于分享一些技术干货.记得2017年的时候,华章出版社的编辑通过网上找到 ...
随机推荐
- java面试题汇总(1)
1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组, 将会受到 v ...
- hadoop2.6.0中自定义分割符
最近在学习hadoop,用的hadoop2.6.0 然后在学习编写mapreduce程序时,发现默认对文件的输入是采用每行进行分割,下面来分析下改变这个分割方式的办法: 来看看默认是怎样实现的:
- [解决问题]SSH连不上Ubuntu虚拟机解决办法
1. 安装openssh-client Ubuntu默认缺省安装了openssh-client,apt-get安装即可 sudo apt-get install openssh-client 2. 安 ...
- 浏览器原生 form 表单POST 数据的两种方式
我们在提交表单的时候,form表单参数中会有一个enctype的参数.enctype指定了HTTP请求的Content-Type. 常用有两种:application/x-www-form-urlen ...
- VMware10中安装centos7没有可用的网络设备
1.问题描述 centos7安装到虚拟机无法上网 2.安装环境 win7 x64 WM 10.01 iso CentOS-7-x86_64-DVD-1503-01.iso {4.01G} ...
- Primer回顾 标准库类型
string类型的输入操作符: 1.读取并忽略开头所有的空白字符(如空格,换行符,制表符). 2.读取字符直至再次遇到空白字符,读取终止. 用getline读取整行文本 getline.接受两个参 ...
- 20.Consent Controller Get请求逻辑实现
在这里之前讲的这一块的信息就要登场了 需要通过构造函数把这几个注入进来 县引入这三个命名空间 把这三个注入进来,这就是显示依赖 先通过returnUrl拿到这个Request request拿到后,就 ...
- 11. 几点基于Web日志的Webshell检测思路
摘要: Web日志记录了网站被访问的情况,在Web安全的应用中,Web日志常被用来进行攻击事件的回溯和取证.Webshell大多由网页脚本语言编写,常被入侵者用作对网站服务器操作的后门程序,网站被植入 ...
- 10. windows下原来可以这样隐藏webshell
1.利用保留字隐藏 windows系统有些保留文件夹名,windows系统不允许用这些名字命名文件夹,如 aux|prn|con|nul|com1|com2|com3|com4|com5|com6|c ...
- SMB SMB2 协议wiki
from:https://wiki.wireshark.org/SMB2/BufferCode https://msdn.microsoft.com/en-us/library/ee441872.as ...