​文/HALI就职于汽车行业战略部门
专注汽车市场信息情报收集和分析

因为工作需要,每月周期性的更新数据和撰写PPT 报告成为繁重的劳动。结果是很多时间花费在数据处理上,真正的分析工作,往往只能草草收场。不能坐以待毙,就要想想有没有更好的办法。

最早,我想到并采取的是Excel图表到PPT的链接。后来随着各种BI工具的普及,尝试学习并使用了Power BI。它实在强大,据说使用了SQL Server的数据引擎Vertipaq,数据处理速度飞一样。另外,可以处理的数据可以做到海量,加上是专业数据库,比较之下,Excel秒成渣。

于是尝试将工作平台转移到PowerBI。但是,最终的测试发现,微软不支持用户能自动与PPT嵌入图表(不知道为什么,但是看来微软想直接在PowerBI内部制作类似报告,与PPT不同,PowerBI的报告将更倾向于数据)。

虽然有第三方工具或插件可以嵌入PowerBI图表到PPT(如何在PPT中动态交互PowerBI报告?),但是需要联网等等,很麻烦。各位做报告的同学一定有经验,你绝对不希望PPT报告有任何技术问题,不然董事会上各位大佬干瞪眼等着刷新数据,呵呵。后果惨过没有报告。这就是报告一族面对的政治生态。简单说就是绝不允许任何问题。

平心而论,目前PowerBI的报告能力,颜色和文字能力,图表的定制能力,目前不及Excel和PPT。给分析人员看是非常够用了,快捷又方便。但是给管理层做报告,呵呵。领导看到PowerBI的报告,意见是质量一般。我也是做过几次才发现,PowerBI报告不能用其他字体,不能调整单个数据label,等等。有其他方法,太费劲。

这就尴尬了,PowerBI白学了。这么好的数据处理能力真的可惜了。曾经有一段时间尝试学习Excel PowerPivot,但是发现差异挺大,而且不能使用PowerBI的便捷图表方式和分组什么的真的是损失,貌似不能兼得了,怎么办呢?

搜google吧,功夫不负有心人,还真让我找到了解决方法-OLAP(OnlineAnalytical Processing)。应采总的邀约,把相关的内容汇总一下,在这里分享给大家。希望对需要经常更新PPT报告的人有帮助。

传统方式:Excel 数据图表和PPT的链接及自动数据更新

我的工作涉及数据分析图表和定期报告(PPT)。之前采用的方式是Excel维护数据,然后使用多个pivot table数据支持,制作数据图表。然后Excel内部的图表用黏贴链接的方式,黏贴进PPT里面。每个月数据更新时,把新增数据手工黏贴到数据源表,然后refresh all pivot table。然后打开PPT,提示是否更新数据,点yes。在无数次的屏幕抽动(抽筋一样闪动)之后,结束了图表更新。

这样做的好处是以透视表的方式固定了每月固定的工作流程,一定程度上实现了图标数据更新的自动化,节省大量时间。

但如果可以享受PowerBI的高效,又可以享受Excel和PPT的强大定制功能,还可以固定下来所有的工作步骤,然后一键刷新是不是就完美了?

PowerBI实际上可以理解为一个小规模的SQL Server,精简了很多东东,但是SSAS服务保留了。如果你运行PowerBI,通过任务管理器,你可以看到SSAS的服务一起运行了,SSAS服务就是留给兼容的外部程序访问数据库的,很幸运Excel里面提供了访问SSAS的组件。

这就让我们可以从PowerBI外部访问,并利用Excel的图表功能成为可能。

Excel链接PowerBI的方法有三种,下面一一介绍。

方法一:Excel手动连接PowerBI SSAS服务

打开pbix文件,然后打开DAX Studio(关于DAX Studio的使用请参考:DAX Studio:你迟早会用到的几个功能),复制pbix文件的ssas服务端口:

然后,打开Excel,新建一个文件。点击data>from other sources>fromanalysis services:

把pbix的分析服务端口黏贴到里面:

然后下一步,下一步,结束。注意,这一步我们建立了一个链接文件,它的存放位置在这里:链接文件是以端口号为开头的,容易区分。

然后Excel会提示你打算把用什么方式调用外部ssas服务的数据。当然PivotTable Report了:

注意看下右侧的可选数据表和所有列,看看是不是都在了?

这里有个技巧。你会发现一些数字列不能被拖入value。怎么办呢?查阅了微软的官方文档,方法是在PowerBI里面给每个数字列做一个度量值。然后你会看到这些度量值(带西格玛∑符号)如下图:然后他们就可以被拖入value合并计算了。

然后根据需要做各种透视表吧。

这里建议大家再单独建立一个新的Excel文件,该文件专门用来制作最终的图表(管理层喜欢的那种各种定制图表,包含贵公司的各种文化和领导喜好)。

下一步是把OLAP文件里的数据链接黏贴到最终图表文件里面。(其实业务顺序可能是根据业务需要先做最终图表Excel文件,然后根据图表文件的数据需求再做OLAP pivot数据文件),最后把最终图表黏贴链接到PPT。

这里提醒一句,一定要在同时打开PowerBI和OLAP文件的情况下才能修改PowerBI文件里面数据表和列的名称。否则,OLAP文件找不到变更后的列和表名称。最好留一个专门做报告的PowerBI文件,不要随便修改。我做过实验,调整列的位置或增加列不会影响OLAP文件,所以可以随后增加分组等工作,不需要一开始都分好。

最后,还有个问题,每月数据更新。当pbix文档关闭并重新打开后数据端口会发生变化,怎么办呢?

用DAX studio查询新端口。然后打开一个新Excel尝试链接ssas端口。然后关闭Excel文件。下一步是关键,打开我们保留了很多透视表的OLAP Excel文档,选择pivot tools>connection properties:

选择definition选项卡,选择connection file,Browse然后选择新端口号开头的链接文件。

然后refreshall,屏幕抽动无数次,结束。

其他的更新步骤不多说了,Excel就是全部刷新,PPT在打开时更新数据就ok了。至于pbix文件的数据更新,请各位参考采总的星球文章,推荐同一文件夹里的新增更新方式。

因为Excel是调用PowerBI的服务,因此这些在Excel里面图表报告的数据调用,其实都是在PowerBI里面完成的,超级高效。

至此,我们即可以享受PowerBI的高效,又可以享受Excel和PPT的强大定制功能,还可以固定下来所有的工作步骤,以后一键刷新就好。当然有些图表还是需要适当调整样式。

以上是最经典的OLAP链接方式。但是,这种数据更新方式真的有点麻烦。有没有更快捷的方法呢?google告诉我有的。

方法二:利用宏文件自动连接PowerBI ssas服务

Google上还找到一个澳大利亚的大神写的一个专门的Excel VB宏,来实现一键自动链接PowerBI文件。也就是说你不再需要链接文件,不需要DAX Studio查询端口,不需要每次都建立链接文件,一键连好。这个哥们儿叫Matt Allington。你可以在「PowerBI星球」后台回复“Excel连接PowerBI”获取这个Excel宏文件。

我这里把VBA的代码放一下:

SubUpdateUserPath()

'developed by Matt Allington from http://Exceleratorbi.com.au user = Environ("LOCALAPPDATA") UserPath = user & "MicrosoftPower BIDesktopAnalysisServicesWorkspaces" Sheets("Connection").Range("B2") = UserPathEnd SubSubRefreshSSASConnection()' developed byMatt Allington from http://Exceleratorbi.com.auDim myTable AsListObjectUpdateUserPathRange("SSAS_Data").ListObject.QueryTable.RefreshBackgroundQuery:=FalsePort =Range("Port")Db =Range("DB")If Len(Port) =5 Then With ActiveWorkbook.Connections("PowerBID").OLEDBConnection .CommandText = Array("Model") .CommandType = xlCmdCube .Connection = Array( _ "OLEDB;Provider=MSOLAP.5;Integrated Security=SSPI;PersistSecurity Info=True;Initial Catalog=" & Db & ";Data " _ , _ "Source=localhost:" & Port & ";MDXCompatibility=1;Safety Options=2;MDX Missing Member Mode=Error;Update IsolationLevel=2" _ ) .RefreshOnFileOpen = False .SavePassword = False .SourceConnectionFile = "" .MaxDrillthroughRecords = 1000 .ServerCredentialsMethod = xlCredentialsMethodIntegrated .AlwaysUseConnectionFile = False .RetrieveInOfficeUILang = True End With With ActiveWorkbook.Connections("PowerBID") .Name = "PowerBID" .Description = "" End With ActiveWorkbook.Connections("PowerBID").Refresh

Else MsgBox "You must have exactly 1 instance of Power BI Desktop open",vbCritical

End If

End Sub

大家注意黑体和下划线的部分可能需要调整。(第一个部分指定了PowerBI的SSAS端口文件位置,可能因为安装的位置不同而不同,只装一个PowerBI软件,且是一路yes的不需要调整。

第二个部分,最大打开drill数可以调到最大10,000)

除了上述两种OLAP链接方式,还有别的办法吗?在星球贴出本文后,一个迪拜的星友 分享了另外一个实现方法。

方法三:利用Power BI Publisher

Power BIPublisher是微软自己做的一个Excel插件。看来微软也觉得让各位数据分析员每次更新数据都去重新建立链接文件太费力了。因此写了一个插件方便大家。

据她说:“可以从Excel界面登陆连接PowerBI的报告和数据。然后加载成透视表,刷新就跟Excel刷新一样也可以设置每次打开自动刷新。我们财务系统的所有数据都推到了dataflow里这样就不用从ERP里下载了。”

我去下载了测试。发现使用该插件的前提是PowerBI必须是Pro账户。所以,不给钱,官方是不会给你这个方便的。不过购买Pro的同学可以下载该插件,享受这一便利。


本文至此结束。所有操作,亲测可靠,各位有需要的亲可以尝试。

答应了采总写一篇文章,拖了一段时间,今天交差,请各位斧正,如果各位有新的方法和心得,也请分享,希望对大家的工作有所帮助,谢谢。

-精彩推荐-

采悟:Power BI数据分析实战:模拟高德城市交通健康榜​zhuanlan.zhihu.com

采悟:Power BI应用实战:批量爬取网页数据​zhuanlan.zhihu.com

采悟:如何使用Power BI进行回流客户分析?​zhuanlan.zhihu.com

喜欢了别忘了点赞哦~

excel怎么启用宏_利用Excel连接Power BI,实现PPT报告自动输出相关推荐

  1. 一个excel文档里复制黏贴另外表单跟着变动_利用Excel连接Power BI,实现PPT报告自动输出...

    ​文/HALI就职于汽车行业战略部门 专注汽车市场信息情报收集和分析 因为工作需要,每月周期性的更新数据和撰写PPT 报告成为繁重的劳动.结果是很多时间花费在数据处理上,真正的分析工作,往往只能草草收 ...

  2. excel怎么启用宏_轻便免费的Excel合并工具,支持wps和office全系统

    Excel合并工具绿色程序版是一款由吾爱网友ermituofo分享制作的Excel合并软件,软件支持wps和office全系统,很多用户发表格给其他用户之后自己要使用合并处理就很麻烦,有了这个工具,就 ...

  3. excel怎么启用宏_如何用Excel制作一个高逼格的项目管理模板

    在工作中我们经常用到项目管理,尤其是公司里的PM们(ProgramManager),从专业应用角度讲我们可以使用Project等软件进行项目管理,但这类软件一般需要经过专业培训才能上手,并且需要额外收 ...

  4. excel怎么启用宏_#数据同步#Excel + mysql 制作自动化报表

    问题描述:Excel数据更新繁琐 虽然市面上各类报表工具,可视化工具种类繁多,比如Tableau,Power BI,FineBI 等等,但是Excel 依旧是日常数据工作中的主力,我们依旧使用Exce ...

  5. excel怎么启用宏_用VBA让EXCEL变成股票查看软件

    通过简单的VBA编写,我们可以让EXCEL变成股票查看软件,可以查看股票涨跌情况.如果录入了自己的持股信息,还可以查看自己的收益情况.也许有人会说有股票软件为什么还要用EXCEL来查看,这我就不解释了 ...

  6. excel和python建模_利用Excel学习Python:准备篇

    写在前面 这个系列我们要利用Excel的知识,学会用python进行数据分析,如果你精通Excel想要用python提高数据分析效率,那么这个系列你来对了,如果你已经是python大神,想要建模/算法 ...

  7. 如何用excel做正交分析_利用Excel进行正交设计及分析.pdf

    利用Excel进行正交设计及分析.pdf 医药导报 2006年 3 月第 25卷第 3期 2·41 · 应用注意事项 : ①使用时尽量减少开瓶次数 ,严防药物挥 26 (2) . 发 .②适用于无破损 ...

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

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

  9. excel怎么启用宏_天水市便桥阿姨买擀面皮月入过万!房子、车子都有了,Excel揭秘其中的奥妙........

    那一年在市五中上学时.... 我是农村孩子,上学需要住校:在五中便桥那租的房子,不管是早上还是周末赖得做饭是会吃那位阿姨的擀面皮:味道自然是不用说.....主要有一天跟阿姨聊起来,她也是农村人说房子卖 ...

  10. excel怎么启用宏_怎么使用Excel制作条形码?操作如此简单

    条形码与我们生活息息相关,几乎每一件物品上都有条形码.那么条形码怎么制作呢?今天我们将使用Microsoft Excel制作条形码,一起来看一下具体操作流程吧. 使用Microsoft Excel制作 ...

最新文章

  1. 文件服务器的内存要多少,文件服务器内存要多大
  2. Nature微生物多样性驱动了细菌以CRISPR系统抵御噬菌体
  3. java ResultSet常用操作
  4. h3c_rip附加相关视频
  5. CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF;
  6. 009_【OS X和iOS系统学习笔记】 OS X架构
  7. 纯CSS菜单样式,及其Shadow DOM,Json接口 实现
  8. 按网络管理模式 计算机网络可分为,计算机网络应用 按网络管理模式分类
  9. php项目代做,代做PHP开发技术程序、php网站代码代写
  10. 如何体面的解决浏览器首页被hao123绑架
  11. HBuilderXHBuilder连接雷电模拟器
  12. EL表达式基础语法总结
  13. Android UI性能优化 检测应用中的UI卡顿
  14. win10 下 caffe 的第一个测试程序(附带详细讲解)
  15. 相机标定和双目相机标定标定原理推导及效果展示
  16. 谁生活在地狱,自己心里都有数!---Leo读《不是孙振耀写的职场感言》(3)
  17. 在win10上安装go并配置vscode开发环境
  18. 计算机视觉——基于BOW的图像检索(作业六)
  19. DLT645-2007 规约 电表 报文解析
  20. [NOIP2011]聪明的质监员

热门文章

  1. 欢乐时光病毒5月7日将发作
  2. 航班网站php项目,php的实时航班api调用代码实例
  3. 在SPLUS中直接连接SQLSERVER 2005
  4. python泰坦尼克号生存预测论文_python泰坦尼克号生存预测
  5. LoadRunner教程(2)-LoadRunner性能测试利器
  6. 惠普计算机安转不上xp,雨林木风xp系统上安装不上惠普打印机驱动的解决办法...
  7. 多开 android模拟器,安卓模拟器如何多开窗口保证游戏不封号
  8. MSN 通信协议学习笔记(转)
  9. 关于min max 函数凹凸性,以及报童模型中期望库存,期望缺货量的性质
  10. android最新adt下载地址,Android SDK和最新ADT下载地址