一个excel文档里复制黏贴另外表单跟着变动_利用Excel连接Power BI,实现PPT报告自动输出...
因?yàn)楣ぷ餍枰?#xff0c;每月周期性的更新數(shù)據(jù)和撰寫PPT 報(bào)告成為繁重的勞動(dòng)。結(jié)果是很多時(shí)間花費(fèi)在數(shù)據(jù)處理上,真正的分析工作,往往只能草草收?qǐng)觥2荒茏源龜?#xff0c;就要想想有沒(méi)有更好的辦法。
最早,我想到并采取的是Excel圖表到PPT的鏈接。后來(lái)隨著各種BI工具的普及,嘗試學(xué)習(xí)并使用了Power BI。它實(shí)在強(qiáng)大,據(jù)說(shuō)使用了SQL Server的數(shù)據(jù)引擎Vertipaq,數(shù)據(jù)處理速度飛一樣。另外,可以處理的數(shù)據(jù)可以做到海量,加上是專業(yè)數(shù)據(jù)庫(kù),比較之下,Excel秒成渣。
于是嘗試將工作平臺(tái)轉(zhuǎn)移到PowerBI。但是,最終的測(cè)試發(fā)現(xiàn),微軟不支持用戶能自動(dòng)與PPT嵌入圖表(不知道為什么,但是看來(lái)微軟想直接在PowerBI內(nèi)部制作類似報(bào)告,與PPT不同,PowerBI的報(bào)告將更傾向于數(shù)據(jù))。
雖然有第三方工具或插件可以嵌入PowerBI圖表到PPT(如何在PPT中動(dòng)態(tài)交互PowerBI報(bào)告?),但是需要聯(lián)網(wǎng)等等,很麻煩。各位做報(bào)告的同學(xué)一定有經(jīng)驗(yàn),你絕對(duì)不希望PPT報(bào)告有任何技術(shù)問(wèn)題,不然董事會(huì)上各位大佬干瞪眼等著刷新數(shù)據(jù),呵呵。后果慘過(guò)沒(méi)有報(bào)告。這就是報(bào)告一族面對(duì)的政治生態(tài)。簡(jiǎn)單說(shuō)就是絕不允許任何問(wèn)題。
平心而論,目前PowerBI的報(bào)告能力,顏色和文字能力,圖表的定制能力,目前不及Excel和PPT。給分析人員看是非常夠用了,快捷又方便。但是給管理層做報(bào)告,呵呵。領(lǐng)導(dǎo)看到PowerBI的報(bào)告,意見(jiàn)是質(zhì)量一般。我也是做過(guò)幾次才發(fā)現(xiàn),PowerBI報(bào)告不能用其他字體,不能調(diào)整單個(gè)數(shù)據(jù)label,等等。有其他方法,太費(fèi)勁。
這就尷尬了,PowerBI白學(xué)了。這么好的數(shù)據(jù)處理能力真的可惜了。曾經(jīng)有一段時(shí)間嘗試學(xué)習(xí)Excel PowerPivot,但是發(fā)現(xiàn)差異挺大,而且不能使用PowerBI的便捷圖表方式和分組什么的真的是損失,貌似不能兼得了,怎么辦呢?
搜google吧,功夫不負(fù)有心人,還真讓我找到了解決方法-OLAP(OnlineAnalytical Processing)。應(yīng)采總的邀約,把相關(guān)的內(nèi)容匯總一下,在這里分享給大家。希望對(duì)需要經(jīng)常更新PPT報(bào)告的人有幫助。
傳統(tǒng)方式:Excel 數(shù)據(jù)圖表和PPT的鏈接及自動(dòng)數(shù)據(jù)更新
我的工作涉及數(shù)據(jù)分析圖表和定期報(bào)告(PPT)。之前采用的方式是Excel維護(hù)數(shù)據(jù),然后使用多個(gè)pivot table數(shù)據(jù)支持,制作數(shù)據(jù)圖表。然后Excel內(nèi)部的圖表用黏貼鏈接的方式,黏貼進(jìn)PPT里面。每個(gè)月數(shù)據(jù)更新時(shí),把新增數(shù)據(jù)手工黏貼到數(shù)據(jù)源表,然后refresh all pivot table。然后打開(kāi)PPT,提示是否更新數(shù)據(jù),點(diǎn)yes。在無(wú)數(shù)次的屏幕抽動(dòng)(抽筋一樣閃動(dòng))之后,結(jié)束了圖表更新。
這樣做的好處是以透視表的方式固定了每月固定的工作流程,一定程度上實(shí)現(xiàn)了圖標(biāo)數(shù)據(jù)更新的自動(dòng)化,節(jié)省大量時(shí)間。
但如果可以享受PowerBI的高效,又可以享受Excel和PPT的強(qiáng)大定制功能,還可以固定下來(lái)所有的工作步驟,然后一鍵刷新是不是就完美了?
PowerBI實(shí)際上可以理解為一個(gè)小規(guī)模的SQL Server,精簡(jiǎn)了很多東東,但是SSAS服務(wù)保留了。如果你運(yùn)行PowerBI,通過(guò)任務(wù)管理器,你可以看到SSAS的服務(wù)一起運(yùn)行了,SSAS服務(wù)就是留給兼容的外部程序訪問(wèn)數(shù)據(jù)庫(kù)的,很幸運(yùn)Excel里面提供了訪問(wèn)SSAS的組件。
這就讓我們可以從PowerBI外部訪問(wèn),并利用Excel的圖表功能成為可能。
Excel鏈接PowerBI的方法有三種,下面一一介紹。
方法一:Excel手動(dòng)連接PowerBI SSAS服務(wù)
打開(kāi)pbix文件,然后打開(kāi)DAX Studio(關(guān)于DAX Studio的使用請(qǐng)參考:DAX Studio:你遲早會(huì)用到的幾個(gè)功能),復(fù)制pbix文件的ssas服務(wù)端口:
然后,打開(kāi)Excel,新建一個(gè)文件。點(diǎn)擊data>from other sources>fromanalysis services:
把pbix的分析服務(wù)端口黏貼到里面:
然后下一步,下一步,結(jié)束。注意,這一步我們建立了一個(gè)鏈接文件,它的存放位置在這里:鏈接文件是以端口號(hào)為開(kāi)頭的,容易區(qū)分。
然后Excel會(huì)提示你打算把用什么方式調(diào)用外部ssas服務(wù)的數(shù)據(jù)。當(dāng)然PivotTable Report了:
注意看下右側(cè)的可選數(shù)據(jù)表和所有列,看看是不是都在了?
這里有個(gè)技巧。你會(huì)發(fā)現(xiàn)一些數(shù)字列不能被拖入value。怎么辦呢?查閱了微軟的官方文檔,方法是在PowerBI里面給每個(gè)數(shù)字列做一個(gè)度量值。然后你會(huì)看到這些度量值(帶西格瑪∑符號(hào))如下圖:然后他們就可以被拖入value合并計(jì)算了。
然后根據(jù)需要做各種透視表吧。
這里建議大家再單獨(dú)建立一個(gè)新的Excel文件,該文件專門用來(lái)制作最終的圖表(管理層喜歡的那種各種定制圖表,包含貴公司的各種文化和領(lǐng)導(dǎo)喜好)。
下一步是把OLAP文件里的數(shù)據(jù)鏈接黏貼到最終圖表文件里面。(其實(shí)業(yè)務(wù)順序可能是根據(jù)業(yè)務(wù)需要先做最終圖表Excel文件,然后根據(jù)圖表文件的數(shù)據(jù)需求再做OLAP pivot數(shù)據(jù)文件),最后把最終圖表黏貼鏈接到PPT。
這里提醒一句,一定要在同時(shí)打開(kāi)PowerBI和OLAP文件的情況下才能修改PowerBI文件里面數(shù)據(jù)表和列的名稱。否則,OLAP文件找不到變更后的列和表名稱。最好留一個(gè)專門做報(bào)告的PowerBI文件,不要隨便修改。我做過(guò)實(shí)驗(yàn),調(diào)整列的位置或增加列不會(huì)影響OLAP文件,所以可以隨后增加分組等工作,不需要一開(kāi)始都分好。
最后,還有個(gè)問(wèn)題,每月數(shù)據(jù)更新。當(dāng)pbix文檔關(guān)閉并重新打開(kāi)后數(shù)據(jù)端口會(huì)發(fā)生變化,怎么辦呢?
用DAX studio查詢新端口。然后打開(kāi)一個(gè)新Excel嘗試鏈接ssas端口。然后關(guān)閉Excel文件。下一步是關(guān)鍵,打開(kāi)我們保留了很多透視表的OLAP Excel文檔,選擇pivot tools>connection properties:
選擇definition選項(xiàng)卡,選擇connection file,Browse然后選擇新端口號(hào)開(kāi)頭的鏈接文件。
然后refreshall,屏幕抽動(dòng)無(wú)數(shù)次,結(jié)束。
其他的更新步驟不多說(shuō)了,Excel就是全部刷新,PPT在打開(kāi)時(shí)更新數(shù)據(jù)就ok了。至于pbix文件的數(shù)據(jù)更新,請(qǐng)各位參考采總的星球文章,推薦同一文件夾里的新增更新方式。
因?yàn)镋xcel是調(diào)用PowerBI的服務(wù),因此這些在Excel里面圖表報(bào)告的數(shù)據(jù)調(diào)用,其實(shí)都是在PowerBI里面完成的,超級(jí)高效。
至此,我們即可以享受PowerBI的高效,又可以享受Excel和PPT的強(qiáng)大定制功能,還可以固定下來(lái)所有的工作步驟,以后一鍵刷新就好。當(dāng)然有些圖表還是需要適當(dāng)調(diào)整樣式。
以上是最經(jīng)典的OLAP鏈接方式。但是,這種數(shù)據(jù)更新方式真的有點(diǎn)麻煩。有沒(méi)有更快捷的方法呢?google告訴我有的。
方法二:利用宏文件自動(dòng)連接PowerBI ssas服務(wù)
Google上還找到一個(gè)澳大利亞的大神寫的一個(gè)專門的Excel VB宏,來(lái)實(shí)現(xiàn)一鍵自動(dòng)鏈接PowerBI文件。也就是說(shuō)你不再需要鏈接文件,不需要DAX Studio查詢端口,不需要每次都建立鏈接文件,一鍵連好。這個(gè)哥們兒叫Matt Allington。你可以在「PowerBI星球」后臺(tái)回復(fù)“Excel連接PowerBI”獲取這個(gè)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
大家注意黑體和下劃線的部分可能需要調(diào)整。(第一個(gè)部分指定了PowerBI的SSAS端口文件位置,可能因?yàn)榘惭b的位置不同而不同,只裝一個(gè)PowerBI軟件,且是一路yes的不需要調(diào)整。
第二個(gè)部分,最大打開(kāi)drill數(shù)可以調(diào)到最大10,000)
除了上述兩種OLAP鏈接方式,還有別的辦法嗎?在星球貼出本文后,一個(gè)迪拜的星友 分享了另外一個(gè)實(shí)現(xiàn)方法。
方法三:利用Power BI Publisher
Power BIPublisher是微軟自己做的一個(gè)Excel插件。看來(lái)微軟也覺(jué)得讓各位數(shù)據(jù)分析員每次更新數(shù)據(jù)都去重新建立鏈接文件太費(fèi)力了。因此寫了一個(gè)插件方便大家。
據(jù)她說(shuō):“可以從Excel界面登陸連接PowerBI的報(bào)告和數(shù)據(jù)。然后加載成透視表,刷新就跟Excel刷新一樣也可以設(shè)置每次打開(kāi)自動(dòng)刷新。我們財(cái)務(wù)系統(tǒng)的所有數(shù)據(jù)都推到了dataflow里這樣就不用從ERP里下載了。”
我去下載了測(cè)試。發(fā)現(xiàn)使用該插件的前提是PowerBI必須是Pro賬戶。所以,不給錢,官方是不會(huì)給你這個(gè)方便的。不過(guò)購(gòu)買Pro的同學(xué)可以下載該插件,享受這一便利。
本文至此結(jié)束。所有操作,親測(cè)可靠,各位有需要的親可以嘗試。
答應(yīng)了采總寫一篇文章,拖了一段時(shí)間,今天交差,請(qǐng)各位斧正,如果各位有新的方法和心得,也請(qǐng)分享,希望對(duì)大家的工作有所幫助,謝謝。
-精彩推薦-
采悟:Power BI數(shù)據(jù)分析實(shí)戰(zhàn):模擬高德城市交通健康榜?zhuanlan.zhihu.com采悟:Power BI應(yīng)用實(shí)戰(zhàn):批量爬取網(wǎng)頁(yè)數(shù)據(jù)?zhuanlan.zhihu.com采悟:如何使用Power BI進(jìn)行回流客戶分析??zhuanlan.zhihu.com喜歡了別忘了點(diǎn)贊哦~
總結(jié)
以上是生活随笔為你收集整理的一个excel文档里复制黏贴另外表单跟着变动_利用Excel连接Power BI,实现PPT报告自动输出...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 从zip中读取文件 合并到指定的文件中
- 下一篇: 使用ajax将数据显示在指定位置_AJA