Azure Analysis Service 介紹
概述
也許你知道Excel Power Pivot捞慌,也許你已經(jīng)開始使用Power BI搓劫,但你可能還不知道微軟的BI終極解決方案其實是:分析服務(wù)技肩。
業(yè)務(wù)人員
業(yè)務(wù)人員需要的是解決實際業(yè)務(wù)問題苫亦,這里對業(yè)務(wù)人員有兩個可能的假定:
- 業(yè)務(wù)人員不完全具備且主觀上并不想自行構(gòu)建BI方案斋否;
- 業(yè)務(wù)人員具備且主觀上愿意自行構(gòu)建BI方案叙赚。
對于第一種情況当凡,比較適合高層決策管理者人員,如若不是纠俭,或多或少都將面對自己做工作報告的情況沿量,工作報告在一定意義上就是把自己負責(zé)的業(yè)務(wù)建模分析出關(guān)鍵指標。
對于第二種情況冤荆,我們已經(jīng)知道他可以選擇:
- Excel Power Pivot
- Power BI 系列
來實現(xiàn)朴则。對于第二種情況,如果他專門走向BI分析方面钓简,而企業(yè)在這方面又有平臺和需求乌妒,那他將從懂業(yè)務(wù)轉(zhuǎn)為業(yè)務(wù)驅(qū)動型的BI工作者。
BI人員
對于BI人員來說外邓,如果你所使用的 Excel Power Pivot或Power BI系列仍然在某些方面無法滿足專業(yè)的需要撤蚊,那你需要了解的便是微軟為企業(yè)提供的終極解決方案:分析服務(wù)。
分析服務(wù)损话,有兩種承載方式侦啸,一種是自己隨SQL Server安裝,另一種則是直接使用微軟的Azure丧枪。關(guān)于Azure的詳細說明超過本文范圍光涂,但使用Azure的一個顯著優(yōu)勢是:
與專注業(yè)務(wù)類似榔幸,BI專家的專注業(yè)務(wù)就是:將底層IT基礎(chǔ)設(shè)施的維護交給了微軟棱貌,使BI專家可以專注于構(gòu)建企業(yè)級商務(wù)智能解決方案。
了解 Azure Analysis Service
企業(yè)級數(shù)據(jù)繁雜
企業(yè)產(chǎn)生越來越多的數(shù)據(jù)酿炸,而且是在各種地方恋博,以各種形式齐佳,就像是這種感覺:
這些數(shù)據(jù)現(xiàn)在或是未來主要將以兩種形態(tài)存在,像是這樣:
這些數(shù)據(jù)將存儲在云端或是企業(yè)本地债沮,而企業(yè)對數(shù)據(jù)需要的核心任務(wù)是:釋放數(shù)據(jù)的價值炼吴。和以往不同的挑戰(zhàn)在于:必須整合云端數(shù)據(jù)與企業(yè)本地數(shù)據(jù)以形成一個一致化的整體。
釋放數(shù)據(jù)價值
為了釋放價值:
必須形成一致化的整體:
整體解決方案
而誰來承載這一切呢秦士,對于微軟系的解決方案缺厉,那就是:Azure Analysis Service,如下:
WOW,請仔細看看提针。如果您已經(jīng)學(xué)習(xí)了Power BI命爬,你會很熟悉這個表關(guān)系圖。對的辐脖,它正是你在Excel用vlookup經(jīng)常要查找的饲宛;也就是Power Pivot / Power BI中所稱的數(shù)據(jù)模型。對于企業(yè)來說嗜价,當把所有的數(shù)據(jù)都整合到一起的時候艇抠,這個數(shù)據(jù)模型將更加龐大和復(fù)雜。此時久锥,不管是使用Excel或Power BI家淤,在很大程度上都無法繼續(xù)勝任此工作了。所以瑟由,微軟幫助我們平滑地過渡到企業(yè)商務(wù)智能分析服務(wù)(理論上它應(yīng)該支持任意的復(fù)雜度及任意的規(guī)模)絮重。
BI專家,這時候不僅僅是針對某個主題設(shè)計一個基于Power BI的分析模型歹苦,而需要統(tǒng)籌整個企業(yè)的業(yè)務(wù)邏輯青伤,構(gòu)建統(tǒng)一且一致的企業(yè)級數(shù)據(jù)模型:
在企業(yè)統(tǒng)一且一致的數(shù)據(jù)模型下對外提供分析服務(wù),以供各種業(yè)務(wù)端人員可以直接連接使用殴瘦,不需要自己再構(gòu)建數(shù)據(jù)模型狠角。如下所示:
也就是說,BI專家需要完成:
- 整合企業(yè)涉及的各種數(shù)據(jù)蚪腋;
- 構(gòu)建一致的數(shù)據(jù)模型丰歌;
- 以各種可能的形式提供給終端用戶使用。
按需付費
我們使用Azure承載整個體系之外辣吃,一個很大的好處是可以按需付費动遭。它可以隨著我們需要的能力而靈活彈性地伸縮芬探,如果暫時不需要也可以關(guān)停便不再產(chǎn)生成本神得。如下:
更快獲得價值
作為終端用戶,也就可以直接訪問數(shù)據(jù)形成的價值偷仿,并直接進行可視化哩簿。
這個產(chǎn)生價值的過程不再需要一蹴而就,而是可以迭代完成酝静,如下:
我們計劃了想要什么节榜,然后立刻構(gòu)建并部署效果,接著再進行調(diào)整别智,我們每一輪的優(yōu)化都可以比以往更快宗苍,甚至縮短到日的級別。
BI專家們可以使用Visual Studio作為設(shè)計工具,在VS中設(shè)計的體驗甚至比使用Power BI或Excel Power Pivot更加帶勁讳窟。
而整個過程實際是沒有太多改變的:
BI專家建立模型让歼,發(fā)布。終端用戶甚至可以直接在Excel中打開并直接獲得可視化的價值丽啡。
這一切就在:Azure Analysis Service谋右。
AAS系統(tǒng)結(jié)構(gòu)說明
我們簡單了解了什么是AAS(Azure Analysis Service),接著我們來看看他有怎樣的結(jié)構(gòu):
職能架構(gòu)
首先來看從職能來說补箍,有怎樣的表現(xiàn):
AAS負責(zé)整合企業(yè)及云端數(shù)據(jù)改执,并提供存儲,安全坑雅,建模辈挂,生命周期管理,業(yè)務(wù)邏輯及指標等裹粤。然后提供各各種終端工具使用呢岗。
實現(xiàn)架構(gòu)
我們已經(jīng)看到了重點,那就是我們可以用熟悉的DAX來實現(xiàn)這一切蛹尝。
組件架構(gòu)
我們都涉及哪些相關(guān)的組件呢后豫,大致可以包括:
- 云端數(shù)據(jù)存儲
- 云端數(shù)據(jù)庫
- 云端數(shù)據(jù)倉庫
- 本地數(shù)據(jù)存儲
- 本地數(shù)據(jù)庫
- 本地其他數(shù)據(jù)
- 數(shù)據(jù)網(wǎng)關(guān)
- Azure Analysis Service
- Power BI
- 開發(fā)工具
- Visual Studio
- SSMS
值得一提的是,在SQL Server 2017的1400級模型中以及AAS都支持Power Query / M表達式的獲取數(shù)據(jù)方式突那,這就讓我們學(xué)習(xí)Excel BI(Power Query + Power Pivot)挫酿,Power BI并自動升級到企業(yè)級的商務(wù)智能分析服務(wù)可以直接遷移已經(jīng)具備的知識體系。
演示
我們給出一個使用AAS的演示來具體感受一下愕难。本演示需要Azure作為基礎(chǔ)早龟,合適已經(jīng)采用微軟Azure解決方案的企業(yè)或相關(guān)崗位人員參考。以及如果您正在考慮本企業(yè)如何實施企業(yè)級商務(wù)智能解決方案猫缭,那如果推薦您使用Azure Analysis Service您可以從以下內(nèi)容大致了解它的可用性和能力葱弟。
本文并非是使用SSAS或數(shù)據(jù)建模的step-by-step的教程,所以我們更多來感受我們可以做到什么以及大致可行性猜丹,以便于企業(yè)在解決方案選型方面得到參考芝加,感興趣的伙伴可以進一步交流。
準備
首選我們必須在Azure上擁有資源射窒,根據(jù)我們上述的架構(gòu)藏杖,我們假定:
- 企業(yè)采用Azure托管了SQL Server,名為:excel120脉顿。
- 企業(yè)在該SQL Server上擁有SQL數(shù)據(jù)庫蝌麸,名為:AdventureWorksLT。
- 企業(yè)采用Azure托管了分析服務(wù)艾疟,名為:excel120来吩。
如圖:
現(xiàn)在我們要做的是:
- 在本地設(shè)計基于AdventureWorksLT的數(shù)據(jù)模型敢辩;
- 測試模型的可用性;
- 部署該模型到Azure的分析服務(wù)上弟疆;
- 演示終端用戶如何直接使用分析服務(wù)责鳍。
本地數(shù)據(jù)建模
我們使用SSDT(Visual Studio)來創(chuàng)建模型,打開VS兽间,并創(chuàng)建一個商業(yè)智能\Anlysis Services表格項目历葛,注意選擇1400級別:
我們起個名字:Excel120-Demo。
數(shù)據(jù)獲取
我們一開始有了一個空模型嘀略,然后我們來導(dǎo)入數(shù)據(jù):
我會得到一個熟悉的導(dǎo)入數(shù)據(jù)環(huán)境:
沒錯恤溶,我們可以用我們屬性的Power Query / M的方式來導(dǎo)入數(shù)據(jù),只要輸入我們Azure SQL Database的用戶名和密碼帜羊,如下:
我們就可以獲取相應(yīng)的數(shù)據(jù)來進行建模了咒程。我們選擇幾個我們需要的表,完成加載讼育,并修改下各個表的名字帐姻,如下:
數(shù)據(jù)建模
可以看出,我們補充了一個日期表奶段。然后我們像在Power BI中一樣建立關(guān)系饥瓷,非常容易,可以得到:
所有在Power BI中學(xué)到的本事都可以在這里發(fā)揮痹籍,我們再增加一些計算列和度量值呢铆,基本大功告成了。
在Excel中測試一下
這個功能很贊蹲缠,我們可以直接在Excel中來看看是不是按照我們的預(yù)期來進行計算的棺克,如下:
系統(tǒng)會幫我們打開一個Excel文件,該文件已經(jīng)內(nèi)置了和我們項目的關(guān)系线定,所以我們直接可以使用透視表來進行測試娜谊。如下:
這太酷了,可以仔細觀察斤讥,會發(fā)現(xiàn)一些利潤率是負值的情況纱皆,然后我們需要知道具體的細節(jié),我們雙擊查看細節(jié)周偎,不出意料抹剩,我們看到了細節(jié)數(shù)據(jù),如下:
這很好蓉坎,我們在Excel中很多情況就是這樣做的,但是一個歷史性遺留問題是:我想看產(chǎn)生負利潤率涉及到的具體客戶是誰胡嘿?電話蛉艾?以及銷售人員是誰?,這樣我才能立即采取行動勿侯。
很遺憾地告訴你拓瞪,在Excel,Power BI助琐,傳統(tǒng)SSAS表格項目中都無法做到祭埂;
很高興地告訴你,在SQL Server 2017 / Azure Analysis Service也就是1400級別的表格模型是可以做到的兵钮。
我們在Visual Studio的模型設(shè)計器中可以看到一個選項:
想看到什么詳細信息蛆橡,我們可以在這里使用DAX來定義,例如:
在Power BI中學(xué)習(xí)了DAX掘譬,你可以在此時繼續(xù)發(fā)揮其作用泰演,我們選擇了真正關(guān)注的細節(jié)信息。再回到Excel測試下效果來看看:
WOW葱轩,這就是我們要的睦焕,然后可以立即來處理了。
通過類似的方式靴拱,我們可以快速構(gòu)建我們的模型垃喊,直到完成。
發(fā)布到云端
這里的發(fā)布袜炕,準確講是叫部署缔御,我們在本地完成了設(shè)計,我們需要把這個模型發(fā)布到云端妇蛀,以便企業(yè)所有的用戶都可以享用耕突。
我們只需要把目標服務(wù)器填入部署配置即可。我們將在Azure中啟用的分析服務(wù)器地址填入:
系統(tǒng)會提示我們登錄進入我們的Azure评架,這也很正常眷茁。
發(fā)布成功。此時我們在Azure中也可以看到我們發(fā)布的結(jié)果了纵诞。
云端配置
我們是可以在云端進一步完成的模型的配置和修改的上祈,Azure也給我們提供了相應(yīng)的能力,如下:
整個體驗還不錯浙芙,但目前這塊還是Preview階段登刺,有更多可以優(yōu)化的地方。更多關(guān)于云端配置內(nèi)容不再展開嗡呼。
在各終端使用
這才是演示的關(guān)鍵纸俭,作為領(lǐng)導(dǎo)可能不再關(guān)心如何實現(xiàn)的細節(jié),但更關(guān)心的是南窗,我們在終端是如何用的揍很。
Azure Analysis Service官方給出的態(tài)度首先是:支持最新的客戶端工具郎楼,包括:
利用新式的數(shù)據(jù)瀏覽和可視化工具(例如 Power BI、Excel 和第三方工具)窒悔,用戶可以通過交互性強且視覺效果豐富的方式來了解模型數(shù)據(jù)呜袁。
因為我沒有安裝tableau,暫且演示Excel和Power BI作為終端的效果简珠。
在Excel中探索數(shù)據(jù)
在Excel中阶界,我們只要按照正常連接分析服務(wù)的方式來進行即可,效果自然也和我們在本地測試時是一樣的聋庵。
同樣地膘融,我們可以雙擊具體的一個問題單元來查看細節(jié):
那么此時,作為一個業(yè)務(wù)人員珍策,您是可以快速采取行動的托启,而業(yè)務(wù)人員僅僅只需查看數(shù)據(jù)而無需自己再進行建模了。
在Power BI Desktop中探索數(shù)據(jù)
在Power BI Desktop中攘宙,我們在鏈接分析服務(wù)的時候可以采用實時模式屯耸,這樣我們將可以直接以可視化的方式來進行探索,如下:
這是我們可以使用的維度和度量值蹭劈,然后我們進行可視化即可:
可以觀察到此時Power BI Desktop是沒有數(shù)據(jù)和關(guān)系兩個標簽的疗绣,從這個意義上來看,我們并沒有在Power BI Desktop中來建模铺韧,而僅僅是進行了可視化展示多矮。當然,我們進一步把這個結(jié)果發(fā)布到Power BI云端哈打。
可以看到該視圖是實時的塔逃,其實時性取決于分析服務(wù)模型的實時性。
其他方面
Azure Analysis Service 給了我們更強大的企業(yè)級商務(wù)智能終極解決方案料仗。在這個企業(yè)級的層面我們可以完成更多任務(wù)湾盗,包括但不限于:
- 標準層的高級數(shù)據(jù)刷新功能有助于客戶實現(xiàn)幾乎實時的數(shù)據(jù)模型更新。支持內(nèi)存上限是400G立轧。(一個壓縮后達400G的模型)
- 可以使用表格模型腳本語言來維護元數(shù)據(jù)格粪。如下:
- 更靈活的權(quán)限控制(對象級別安全性)
- 分區(qū)增量刷新
- 不規(guī)則層次結(jié)構(gòu)
如:
- DAX 增強功能
更多信息參考微軟官方文檔:
https://docs.microsoft.com/zh-cn/sql/analysis-services/analysis-services
總結(jié)
Azure Analysis Service 給出了企業(yè)級商務(wù)智能的終極解決方案,至此:
- Excel Power Pivot - 個人型BI
- Power BI 體系 - 團隊協(xié)作型BI
- Analysis Service - 企業(yè)級BI
相信總有一款適合您或您的企業(yè)氛改。