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

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

· 掌握难度:★★★★☆

本期讲师

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中建立连接并生成一份自由式分析报告,邮件发送完毕,喝一口星巴克咖啡,没错,这就是我们要的,敏捷商务智能:想要的,现在就要。

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

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

  1. Power BI 之 DAX语法规范详解1

    文章预览: Power BI 之 DAX语法规范详解 1 前言 表构造函数{()} Lookupvalue函数 Related函数: Relatedtable函数 筛选引擎Calculate 单条件筛 ...

  2. Microsoft Power Platform 基础到实战(3)-Power BI (1)-数据分析表达式 DAX(1)

    目录 概述 计算 度量值 计算列 计算表 行级安全性 查询 公式 在公式中使用多个函数 函数概述 聚合函数 日期和时间函数 筛选器函数 财务函数 信息函数 逻辑函数 数学和三角函数 其他函数 关系函数 ...

  3. 在Power BI中用DAX计算净现值NPV

    净现值(NPV - Net Present Value)是会计学当中经常使用到的一个指标.净现值指未来现金流的折现值与现在投资成本之间的差额.用白话来讲,净现值其实就只现在的钱,用来投资之后,在未来所 ...

  4. Power BI——DAX函数(数据分析表达式)

    一.概念: DAX 是英文 Data Analysis Expression 的缩写,DAX 公式是用作数据分析的,DAX的主要功能正是查询和运算,DAX 查询函数负责筛选出有用的数据集合,然后利用 ...

  5. 数据分析软件Tableau 和 Power BI 怎么选?看这篇文章就够了

    现在市面上已经有很多不错的数据分析软件,很多入门新手在选择上很容易迷茫,特别是在没有基础的情况下,很难很清楚哪些软件适合自己,软件和软件之间存在哪些区别.下面小编就两款比较热门的数据分析软件Table ...

  6. Power BI 的 最佳搭档 Excel(基础数据分析)

    Powerbi和Excel l  Power BI 和 Excel 本节将向你介绍将 Excel 工作薄导入 Power BI 是多么简单,并演示 Power BI 和 Excel 如何展现最佳搭档气 ...

  7. 为什么玩转Power BI一定需要Office 365

    为什么玩转 Power BI 一定需要 Office 365? BI工具数不胜数,Power BI.Tableau.FineBI.永洪BI.百度智能云等,甚至 python.MATLAB 都可以实现报 ...

  8. Power BI与Tableau的对比与选择

    作为世界范围商务智能与分析平台最有影响力的评估报告,Gartner2019魔力象限评估报告:微软以PowerBI作为其BI平台,连续12年获得领导者地位:Tableau也连续8年稳居领导者象限. 两大 ...

  9. python powerbi知乎_利用Python调用Power BI REST API

    本文是D-BI之Power BI REST API系列第三篇,讲解如何利用一段简单的Python脚本实现Power BI REST API的调用,将使用与上文完全不同的方法 前述 上文<Powe ...

最新文章

  1. CV语义分割实践指南!
  2. iOS多设备分辨率适配
  3. python算术运算_Python 的二元算术运算详解
  4. 【学术相关】为什么很多国内学者的AI的论文复现不了?
  5. DeepEarth更新到Silverlight 4了
  6. java ee4.8下载_在WildFly 8.2中修补焊接3 – Java EE 8的第一个实验RI
  7. mysql docker还是rds_容器化RDS:计算存储分离还是本地存储?
  8. 拳王公社:有哪些一个人就能做的创业赚钱项目?90后年赚30W逆袭案例!
  9. 大佬是如何实现本地通讯的?
  10. 数据结构C语言版稀疏矩阵实验报告,数据结构稀疏矩阵基本运算实验报告..doc
  11. 《矩阵分析》代码Ⅱ——gauss消元法,列主元素法,总体主元素法matlab实现
  12. 好看的电脑桌面悬浮时钟工具
  13. PR Lumetri颜色
  14. 英特尔傲腾内存linux,英特尔一面优化傲腾可持续内存性能 一面不忘科普
  15. Thinkpad E430c安装Ubuntu14.04第三方驱动的选择
  16. Cisco ASA 基础
  17. Java 通过EWS JAVA API发送exchange邮件
  18. 开发工程师的人生是这样的
  19. 来一场说走就走的旅行的意义
  20. 干货|如何用开放性来做管理

热门文章

  1. 无语!你竟然连CompletableFuture都不知道,还天天说在jdk8原地踏步~
  2. 分页场景(limit,offset)为什么会慢?
  3. MySQL:left join 避坑指南
  4. 大蕉蕉的三道 Java 私房菜 No.131
  5. 聊一聊如何优雅地向程序员提问题
  6. 百度发布全功能AI平台!
  7. 关于大数据的完整讲解
  8. 图解Transformer(完整版)!
  9. 机器学习、数据科学、人工智能、深度学习和统计学之间的区别!
  10. Python再获年度编程语言,微软或成最大赢家