小目标 | DAX高级实践-Power BI与Excel联合应用

摘要:
PowerBI和Excel的结合将产生怎样的火花?PowerBIDesktop实际上可以用作OLAP服务器,而Excel用于在终端上制作透视表。

小目标 | DAX高级实践-Power BI与Excel联合应用第1张

· 适用人群:数据分析专业人士,在数据分析方向需求发展人士

· 应用场景:数据汇报、数据可视化展现、数据建模分析

· 掌握难度:★★★★☆

 本期讲师

小目标 | DAX高级实践-Power BI与Excel联合应用第2张

DAX高级实践-Power BI与Excel联合应用

 

通过前序三篇文章的学习,大家已经了解到在DAX数据建模中如何搭建数据模型、如何设计数据模型中对于值的度量计算以及如何查询数据模型。

 

而在实际应用中,Excel仍然是数据分析的世界标准,它的用户群体最为广大,而其中的数据透视表更是Excel中最强大的应用(没有之一)。

那么Power BI 与Excel联合起来会擦出什么样的火花呢?

运行在背后的引擎

前面已经知道负责运行DAX的引擎实际和微软SQL Server 分析服务(SSAS)是一样的,在本地运行PowerBI Desktop的时候,PowerBI Desktop会建立一个SSAS本地进程,使用任务管理器(可以点击Ctrl+Alt+Delete启动任务管理器)便可以看到:

小目标 | DAX高级实践-Power BI与Excel联合应用第3张

虽然在计算机上并未安装微软旗舰级数据库系列产品SQL Server Analysis Services,但PowerBI Desktop却在使用同样的引擎。

 小目标 | DAX高级实践-Power BI与Excel联合应用第4张

这再次说明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)联机分析处理工具的,如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第5张

当然如果用Power BI Desktop作为本地BI服务器,则可以这样:

小目标 | DAX高级实践-Power BI与Excel联合应用第6张

只需要输入本机服务器地址即可。那如何知道本机服务器地址呢?可以使用之前介绍过的DAX Studio来查询到这个信息。打开DAXStudio后连接到PowerBI Desktop,便可以在任务栏看到:

小目标 | DAX高级实践-Power BI与Excel联合应用第7张

这个就是要找的地址,然后输入到Excel中即可,如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第8张

点击下一步直到完成,并选择用透视表的方式来进行连接,如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第9张

可以惊喜地看到所有在Power BI Desktop中设定的列和度量值都呈现了出来。

理解OLAP立方体

这个过程是将Power BIDesktop中的表结构模型映射成了OLAP结构的立方体模型,如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第10张

OLAP立方体(OLAP Cube)设计模式是商务智能发展过程中的经典模式,可以简单理解为不同维度的数据可以从多个维度组成一个数据立方体,而度量就是从多个维度综合计算的结果。如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第11张

从这个意义上说,提供表格式的数据模型相当于提供了OLAP数据立方体,数据立方体这个概念更加直观。PowerBI Desktop实际可以作为OLAP服务器使用,而用Excel在终端制作透视表的应用。这样也就完美地结合了PowerBI Desktop以及Excel。

 小目标 | DAX高级实践-Power BI与Excel联合应用第12张

OLAP和Excel本来就是密不可分的数据分析应用,这并非新技术,正相反这是Excel数据分析的真正经典应用。

在Excel中用OLAP工具打造自由报表

很多用户还根本没有用过OLAP这项藏匿于Excel的强大功能,那现在就来看看它能做什么。我们以编制一个年度销售业务趋势为例看到:

小目标 | DAX高级实践-Power BI与Excel联合应用第13张

熟悉透视表的使用会知道,透视表是一个整体,往往无法单独取出里面的数据,而在制作报告的时候,希望更加自由地使用每个单元格的数据。

这里就可以使用Excel透视表的OLAP工具功能,如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第14张

注意,如果是在单纯Excel文件透视表里,该功能是灰色禁用状态的,正是因为此时连接了Power BI Desktop作为本机OLAP服务器,才能进一步使用该项强大功能。如下所示:

 小目标 | DAX高级实践-Power BI与Excel联合应用第15张

可以看到:

✔ 透视表全部转化为单元格;

✔ 单元格数据全部经由计算动态完成。

现在,这个透视表已经变成了等效的OLAP公式计算形式,这就可以任意排布单元格的位置。

而且还可以将原有的英文显示全部转化为中文显示,更加符合终端用户的习惯,如下:

小目标 | DAX高级实践-Power BI与Excel联合应用第16张

此时可以根据排版需要重新进行布局,而每个单元格数值都是独立的,彻底实现了自由报表。如下所示:

小目标 | DAX高级实践-Power BI与Excel联合应用第17张

制作上述报表非常简单,完全是在Excel中排布单元格并使用基本作图即可完成。当然,该报表还有更多优化空间,但这以足够说明在使用OLAP工具下,有更多的灵活性可以制作任意格式的报告,当然这就是数据分析师自由发挥的阶段了。

小结

通过本文的学习,可以从本质上理解微软究竟在做了一件什么事,那就是把旗舰级数据分析平台SQL ServerAnalysis Services的引擎装入Power BI Desktop并作为独立产品提供给数据分析师。

数据分析师不仅可以在Power BI Desktop中获取数据,转换数据,建立模型,通过DAX进行任意复杂的计算和查询,并通过丰富的可交互式图表了解及确认想要的结果,并最终可以与世界级最强大通用的Excel平台贯通,在Excel中以OLAP透视表的形式获取到分析结果,最终制作出自由式报告,满足任意报告制作需求。

正如本文开篇所述,通过四篇文章的学习,也许还没有来得及掌握这其中涉及到的每个“单词”(DAX函数),就已经领略了DAX建模整套过程,宛如一幅鸿篇巨著就诞生在每位数据分析师的笔记本电脑上。想象一下,与客户进行了充分的沟通,打开PowerBI Desktop载入了几百万的数据,通过熟练的操作,设计了DAX数据模型并设置好了精确的度量计算,然后在Excel中建立连接并生成一份自由式分析报告,邮件发送完毕,喝一口星巴克咖啡,没错,这就是我们要的,敏捷商务智能:想要的,现在就要。

立即访问http://market.azure.cn

免责声明:文章转载自《小目标 | DAX高级实践-Power BI与Excel联合应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇分享一个自用小功能--微信小程序二维码签到如何使用python移除/删除非空文件夹?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue表格中对某个数据进行简单处理

Vue表格中对某个数据进行简单处理 在很多的场景中,我们后端从数据库拿到的数据需要进行一些处理再展示到前端上,比如本文举例的论文查重系统中的重复率这一列,该列的数据在数据库是小数形式存在,前端需要展示的是百分比形式。这样我们需要前端对数据进行一个处理。 在vue文件中,首先在列表的代码中,我们需要在需要处理的列中加上属性项:formatter=Functi...

多租户实现之基于Mybatis,Mycat的共享数据库,共享数据架构

前言 SaaS模式是什么? 传统的软件模式是在开发出软件产品后,需要去客户现场进行实施,通常部署在局域网,这样开发、部署及维护的成本都是比较高的。 现在随着云服务技术的蓬勃发展,就出现了SaaS模式。 所谓SaaS模式即是把产品部署在云服务器上,从前的客户变成了“租户”,我们按照功能和租用时间对租户进行收费。 这样的好处是,用户可以按自己的需求来购买功...

axios 将post请求数据转为formdata

axios({ url: '/api/index/getIndexlbt', method: 'post', data: { relevanceId:this.$route.params.id, pictureType:4},...

[大数据技术]Kettle初次连接MySQL数据库 报错问题 错误连接数据库 Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver

报错内容如下: 1 错误连接数据库 [foodmartconn] : org.pentaho.di.core.exception.KettleDatabaseException: 2 Error occured while trying to connect to the database 3 4 Exception while loading cla...

CVPixelBuffer的创建 数据填充 以及数据读取

CVPixelBuffer的创建数据填充以及数据读取 CVPixelBuffer 在音视频编解码以及图像处理过程中应用广泛,有时需要读取内部数据,很少的时候需要自行创建并填充数据,下面简单叙述。 创建 创建时调用的方法主要是这个: CVReturn CVPixelBufferCreate(CFAllocatorRef allocator,...

python Faker插件--模拟测试数据

项目地址:https://github.com/joke2k/faker 安装方法: pip install Faker 基本用法: from faker import Fakerfake = Faker(locale='zh_CN')name = fake.name()address = fake.address()print(name)print(ad...