在sqlserveranalysisservices中選擇表格或多維建模_第1頁(yè)
在sqlserveranalysisservices中選擇表格或多維建模_第2頁(yè)
在sqlserveranalysisservices中選擇表格或多維建模_第3頁(yè)
在sqlserveranalysisservices中選擇表格或多維建模_第4頁(yè)
在sqlserveranalysisservices中選擇表格或多維建模_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、在 SQL Server 2012 Analysis Services 中選擇表格或多維建模體驗(yàn)Microsoft 商業(yè)智能技術(shù)文章作者Hitachi Consulting :Liz Vitt 作者Scott Cameron 作者Hilary Feier 審校Microsoft :T.K.Anand 審校Ashvini Sharma 審校發(fā)布時(shí)間: 2012 年 5 月適用范圍: SQL Server 2012 Analysis Services摘要:本白皮書提供的實(shí)用指南可幫助 BI 專業(yè)人員和決策者決定,您的下一個(gè) BI 解決方案最合適采用 SQL Server 2012 Analysis

2、 Services 表格建模,還是 SQL Server 2012Analysis Services 多維建模。 矚慫潤(rùn)厲釤瘞睞櫪廡賴。版權(quán)信息本文檔按 “原樣”提供。本文檔中的信息和表達(dá)的觀點(diǎn)(包括 URL 和其他 Internet 網(wǎng)站引 用)如有更改,恕不另行通知。您應(yīng)承擔(dān)使用本文檔所帶來(lái)的風(fēng)險(xiǎn)。 聞創(chuàng)溝燴鐺險(xiǎn)愛氌譴凈。本文檔不向您提供對(duì)任何 Microsoft 產(chǎn)品中的任何知識(shí)產(chǎn)權(quán)的任何法律權(quán)利。您可以出 于內(nèi)部參考目的復(fù)制和使用本文檔。 殘騖樓諍錈瀨濟(jì)溆塹籟。? 2012 Microsoft Corporation 。保留所有權(quán)利。目錄簡(jiǎn)介 BISM 建模入門知識(shí) 多維建模 表格建模

3、 BISM 客戶端分析工具 數(shù)據(jù)模型 數(shù)據(jù)關(guān)系 一對(duì)多關(guān)系 多對(duì)多關(guān)系 引用關(guān)系 層次結(jié)構(gòu) 標(biāo)準(zhǔn)層次結(jié)構(gòu) 不規(guī)則層次結(jié)構(gòu) 父子層次結(jié)構(gòu) 其他建模功能 業(yè)務(wù)邏輯 行級(jí)轉(zhuǎn)換 聚合值 計(jì)算 業(yè)務(wù)邏輯方案 1.0層次結(jié)構(gòu)邏輯 1.0自定義匯總 1.1.半累加性度量值 1.1.時(shí)間智能 ....KPI貨幣換算 命名集 數(shù)據(jù)訪問(wèn)和存儲(chǔ) . 性能和可伸縮性 多維模型 表格模型 可編程性15安全性行級(jí)/屬性級(jí)安全性1515動(dòng)態(tài)安全性1.6.單元級(jí)和高級(jí)安全性16.總結(jié)17有關(guān)詳細(xì)信息21簡(jiǎn)介數(shù)據(jù)建模是BI專業(yè)人員多年來(lái)一直不斷實(shí)踐的領(lǐng)域,它的目標(biāo)只有一個(gè)

4、:將不同的數(shù)據(jù) 整理到一個(gè)分析模型中,從而快速高效地支持業(yè)務(wù)的報(bào)告和分析需要。這些年來(lái),數(shù)據(jù) 建模隨著新技術(shù)和工具的推出而不斷發(fā)展,而組織在如何以無(wú)縫和連貫的方式有效地混 合建模范例方面面臨著越來(lái)越多的挑戰(zhàn),不僅要能夠滿足各種分析需要,還要能夠針對(duì) 業(yè)務(wù)提供良好的分析體驗(yàn)。釅錒極額閉鎮(zhèn)檜豬訣錐。在SQL Server 2012版本中,Microsoft引入BI語(yǔ)義模型(BISM),不僅實(shí)現(xiàn)了建模的目 標(biāo),而且還解決了組織所面臨的挑戰(zhàn)。這個(gè)單一模型可以支持廣泛的報(bào)告和分析功能, 同時(shí)在后臺(tái)混合兩種 Analysis Services建模體驗(yàn):彈貿(mào)攝爾霽斃攬磚鹵廡。*多維建模這種建模方法隨 SQL

5、 Server 7.0 OLAP服務(wù)引入,并一直延續(xù)至 SQL Server 2012 An alysis Services。它使BI專業(yè)人員能夠使用傳統(tǒng)的聯(lián)機(jī)分析處理 (OLAP)創(chuàng)建復(fù)雜的多維數(shù)據(jù)集。 謀養(yǎng)摶篋飆鐸懟類蔣薔。 表格建模一這種建模方法隨 PowerPivot for Microsoft Excel 2010 引入,它為業(yè)務(wù) 和數(shù)據(jù)分析人員提供了自助數(shù)據(jù)建模功能。對(duì)于多年來(lái)一直在桌面效率工具(如 Excel或Microsoft Access )中處理數(shù)據(jù)的許多用戶而言,表格建模體驗(yàn)更易于接 受。在SQL Server 2012中,表格建模已擴(kuò)展為支持 BI專業(yè)人員在 Analy

6、sis Services中創(chuàng)建表格模型,或?qū)⒈砀衲P蛷?PowerPivot導(dǎo)入到Analysis Services 中。請(qǐng)注意,PowerPivot模型無(wú)法導(dǎo)入到 Analysis Services多維模型中。廈礴懇蹣駢 時(shí)盡繼價(jià)騷。本白皮書的目標(biāo)是提供實(shí)用指南,以幫助您確定哪種SQL Server 2012 An alysis Services建模體驗(yàn)(表格建?;蚨嗑S建模)最符合您的下一個(gè)BI解決方案的需要。本白皮書中的產(chǎn)品說(shuō)明和建議基于 2012年3月發(fā)布的SQL Server 2012 Analysis Services。隨著 An alysis Services多維建模和表格建模在S

7、QL Server的將來(lái)版本中不斷改進(jìn),產(chǎn)品功能 和建議可能發(fā)生變化。煢楨廣鰳鯡選塊網(wǎng)羈淚。BISM建模入門知識(shí)在深入探討多維建模與表格建模之間的詳細(xì)差異之前,我們首先簡(jiǎn)要介紹一下SQLServer 2012 Analysis Services提供的每種BISM建模體驗(yàn)的基礎(chǔ)知識(shí)。鵝婭盡損鶴慘歷蘢鴛賴。多維建模多維建模的核心是基于關(guān)系數(shù)據(jù)庫(kù)中包含的數(shù)據(jù)創(chuàng)建多維數(shù)據(jù)集(由度量值和維度組 成)。若要使用此范例,An alysis Services服務(wù)器必須配置為在多維模式(默認(rèn)設(shè)置) 下運(yùn)行。在此模式下,OLAP引擎使用多維模型預(yù)聚合大量數(shù)據(jù),以支持快速的查詢響 應(yīng)時(shí)間。OLAP引擎可以通過(guò)多維

8、OLAP (MOLAP)存儲(chǔ)將這些聚合存儲(chǔ)在磁盤上,或通 過(guò)關(guān)系OLAP (ROLAP)存儲(chǔ)將它們存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中?;[叢媽羥為贍債蟶練淨(jìng)。多維建模的主要特征包括:豐富的數(shù)據(jù)模型:SQL Server 2012 An alysis Services的多維模型已是推出的第六個(gè) 版本,它提供了廣泛的功能,可根據(jù)企業(yè)數(shù)據(jù)倉(cāng)庫(kù)中常見的簡(jiǎn)單和復(fù)雜數(shù)據(jù)集為度量 值和維度建模。更復(fù)雜的數(shù)據(jù)集通常包括諸如多對(duì)多關(guān)系、父子層次結(jié)構(gòu)和本地化等 高級(jí)功能。多維模型本身自帶了這些功能。預(yù)頌圣鉉儐歲齦訝驊糴。復(fù)雜的分析:多維模型還提供一種稱為多維表達(dá)式(MDX)的高級(jí)計(jì)算和查詢語(yǔ)言。使用MDX,您可以創(chuàng)建復(fù)雜的業(yè)務(wù)邏輯

9、和計(jì)算,它們可以在多維空間中的任何位置 運(yùn)行,以實(shí)現(xiàn)財(cái)務(wù)分配、時(shí)序計(jì)算或半累加性度量。滲釤嗆儼勻諤鱉調(diào)硯錦。盡管全面的數(shù)據(jù)建模和復(fù)雜的分析是多維建模的重要優(yōu)點(diǎn),但常常隨之帶來(lái)一些負(fù)面影 響:開發(fā)周期較長(zhǎng)以及不能快速適應(yīng)不斷變化的業(yè)務(wù)狀況。此外,多維體驗(yàn)通常需要很 高的建模和 MDX技能水平。鐃誅臥瀉噦圣騁貺頂廡。表格建模表格建模是將數(shù)據(jù)整理到相關(guān)的表中。如果您要使用表格建模,則必須將An alysisServices配置為在表格模式下運(yùn)行。在表格模式中,可以使用xVelocity (以前稱為Vertipaq )內(nèi)存中引擎將表格數(shù)據(jù)加載到內(nèi)存中以實(shí)現(xiàn)快速的查詢響應(yīng),也可以使用 DirectQue

10、ry將查詢傳遞到源數(shù)據(jù)庫(kù)以利用其查詢處理功能。擁締鳳襪備訊顎輪爛薔。表格建模的主要特征包括:熟悉程度:對(duì)于許多用戶而言,他們?nèi)粘L幚淼臄?shù)據(jù)大多存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)、Excel或Access表中,因此處理起表格數(shù)據(jù)來(lái)駕輕就熟。另外,可以使用數(shù)據(jù)分析表達(dá)式 (DAX)(一種被認(rèn)為是Excel公式語(yǔ)言擴(kuò)展的公式語(yǔ)言)來(lái)編寫計(jì)算。因此,生成表 格模型所需的技能與生成多維模型所需的技能相比,前者更常用或更容易學(xué)會(huì)。贓熱俁閫歲匱閶鄴鎵騷。靈活性:因?yàn)椴恍枰獙?shù)據(jù)嚴(yán)格地整理到度量值和維度中,所以,與多維模型相比, 表格建模可以加快開發(fā)周期,所需的前期數(shù)據(jù)準(zhǔn)備工作較少,設(shè)計(jì)嚴(yán)格性也較低。當(dāng) 需要根據(jù)不斷變化的業(yè)務(wù)

11、要求更新關(guān)系和計(jì)算時(shí),這種數(shù)據(jù)體系結(jié)構(gòu)還可以很方便地 對(duì)數(shù)據(jù)建模做出相應(yīng)的變更。壇搏鄉(xiāng)囂懺蔞鍥鈴氈淚。盡管熟悉程度和靈活性是表格建模的關(guān)鍵優(yōu)點(diǎn),但它也存在缺點(diǎn)。例如,表格建??赡?不適合于那些具有高度復(fù)雜的數(shù)據(jù)集或需要復(fù)雜業(yè)務(wù)邏輯的解決方案。雖然DAX語(yǔ)言的用戶通??梢酝ㄟ^(guò)創(chuàng)建DAX公式來(lái)提供表格模型中原本未提供的分析功能,但是,在這 些情況下,使用多維建模本身自帶的高級(jí)功能可能更適合且更高效。蠟變黲癟報(bào)倀鉉錨鈰贅。BISM客戶端分析工具無(wú)論您選擇多維建模還是表格建模,都請(qǐng)務(wù)必注意,您都可以使用能夠生成MDX或DAX的客戶端工具來(lái)查詢模型。例如,Excel和SQL Server Reporti

12、ng Services就是可以使用MDX生成查詢的客戶端工具,而 Power View是可使用DAX生成查詢的客戶端工 具。本指南有兩種例外情況。買鯛鴯譖曇膚遙閆擷凄。* Power View是一個(gè)可提供交互式數(shù)據(jù)瀏覽和可視化的工具,是用于 Microsoft SharePoi nt Server 2010 En terprise Editio n 的 SQL Server 2012 Reporti ng Services 外接程序的一項(xiàng)功能。如果您要使用 Power View或任何其他使用DAX查詢 BISM的分析客戶端,則需要使用表格模型。SQL Server的未來(lái)版本可能會(huì)提供使用DAX

13、來(lái)查詢多維模型的功能,這樣,您就可以通過(guò)諸如Power View之類的客戶端工具來(lái)訪問(wèn)這些模型了。綾鏑鯛駕櫬鶘蹤韋轔糴。*已配置為使用DirectQuery的表格模型要求使用可生成 DAX查詢的客戶端工具(如Power View )。SQL Server的未來(lái)版本可能會(huì)允許配置為使用 DirectQuery的表格模型接受 MDX 查詢。 驅(qū)躓髏彥浹綏譎飴憂錦數(shù)據(jù)模型您的數(shù)據(jù)模型的特征是您選擇建模體驗(yàn)時(shí)的核心注意事項(xiàng)。數(shù)據(jù)關(guān)系任何數(shù)據(jù)模型的基本要求都是要正確地表示該模型中的數(shù)據(jù)元素如何相互關(guān)聯(lián)和連接, 這非常類似于拼圖游戲的各個(gè)拼圖碎片。表格模型和多維模型都要求您在源數(shù)據(jù)表之間 定義關(guān)系。數(shù)據(jù)建

14、模中的常見關(guān)系是一對(duì)多關(guān)系、多對(duì)多關(guān)系和引用關(guān)系。貓蠆驢繪燈鮒誅髏貺廡。一對(duì)多關(guān)系在一對(duì)多關(guān)系中,一個(gè)表中的一個(gè)記錄與另一個(gè)表中的多個(gè)記錄相關(guān)。一對(duì)多關(guān)系的示 例是一個(gè)客戶具有多個(gè)銷售訂單。表格數(shù)據(jù)模型和多維數(shù)據(jù)模型本身就可以處理一對(duì)多 關(guān)系。鍬籟饗逕瑣筆襖鷗婭薔。多對(duì)多關(guān)系在多對(duì)多關(guān)系中,一個(gè)表中的許多記錄與第二個(gè)表中的許多記錄相關(guān)。例如,單個(gè)客戶 與多個(gè)銷售訂單具有一對(duì)多關(guān)系;但每個(gè)客戶可以分類為一個(gè)或多個(gè)客戶概況(如體育 愛好者、休閑游戲玩家和健身專家)。按客戶概況來(lái)分析訂單就是一個(gè)多對(duì)多關(guān)系,其 中可能會(huì)出現(xiàn)重復(fù)計(jì)數(shù):當(dāng)匯總對(duì)應(yīng)于各客戶概況的訂單來(lái)獲得訂單總數(shù)時(shí),如果某位 訂購(gòu)一輛自行

15、車的客戶既是體育愛好者又是健身專家,則此訂單很容易被計(jì)入兩次。通 常,多對(duì)多關(guān)系通過(guò)使用橋接表或中間表分解為兩個(gè)一對(duì)多關(guān)系來(lái)進(jìn)行管理,如圖1中所示。 構(gòu)氽頑黌碩飩薺齦話騖??蛻鬒D春戶姓名1 iohnjont -1 -害戶IDwe訂單1S9100$4hOOO1S9101$zsoo1S9102$zooo 41J客戶表銷售訂單表客戶ID1體育愛好者1休羽游戲玩涼1健身專家l-CI橋接/中間表 (用于指定客戶概況)圖1:多對(duì)多示例在多維模型中,通過(guò)標(biāo)識(shí)橋接表,然后將該橋接表與模型中的其他表相關(guān),可以直接在 此數(shù)據(jù)模型中定義并生成多對(duì)多關(guān)系。當(dāng)聚合時(shí),Analysis Services將應(yīng)用非重復(fù)匯總

16、,以確保數(shù)據(jù)總計(jì)正確匯總,而不會(huì)錯(cuò)誤地放大。輒嶧陽(yáng)檉籪癤網(wǎng)儂號(hào)澩。SQL Server 2012 An alysis Services表格模型不支持多對(duì)多關(guān)系的定義。但是,您可以使用DAX語(yǔ)言來(lái)創(chuàng)建處理多對(duì)多關(guān)系的公式。堯側(cè)閆繭絳闕絢勵(lì)蜆贅。引用關(guān)系數(shù)據(jù)模型可能包含與多個(gè)實(shí)體相關(guān)的一組公共屬性。例如,與客戶、供應(yīng)商和商店相關(guān) 的地理屬性。在多維建模中,您必須創(chuàng)建一個(gè)包含公共屬性的維度,然后創(chuàng)建指向每個(gè) 相關(guān)維度的引用維度關(guān)系。在表格建模中,不需要?jiǎng)?chuàng)建引用關(guān)系,只需在包含公共屬性 的表與包含相關(guān)實(shí)體的表之間創(chuàng)建關(guān)系。 識(shí)饒鎂錕縊灩筧嚌儼淒。層次結(jié)構(gòu)層次結(jié)構(gòu)將數(shù)據(jù)分類到樹結(jié)構(gòu)中,以便于進(jìn)行深化分析

17、。標(biāo)準(zhǔn)層次結(jié)構(gòu)標(biāo)準(zhǔn)層次結(jié)構(gòu)由來(lái)自源數(shù)據(jù)中各列的有序級(jí)別組成。例如,產(chǎn)品層次結(jié)構(gòu)可以將產(chǎn)品整 理到子類別中,然后進(jìn)一步整理到類別中。在這種情況下,您將具有含三個(gè)級(jí)別的層次 結(jié)構(gòu),其中每個(gè)級(jí)別都來(lái)自源數(shù)據(jù)的一個(gè)單獨(dú)列。表格模型和維度模型都支持簡(jiǎn)單的層 次結(jié)構(gòu)(例如此處介紹的產(chǎn)品層次結(jié)構(gòu))。凍鈹鋨勞臘錯(cuò)癇婦脛糴。請(qǐng)注意,在多維模型中有一個(gè)創(chuàng)建屬性關(guān)系的附加步驟,此步驟顯式標(biāo)識(shí)每個(gè)維度中各 屬性之間的一對(duì)多關(guān)系。強(qiáng)烈建議定義屬性關(guān)系,因?yàn)榻柚@些關(guān)系可以更高效地設(shè)計(jì) 預(yù)先計(jì)算的聚合,并且 MDX語(yǔ)義依賴于屬性關(guān)系。表格建模更簡(jiǎn)單,因?yàn)槟恍枰獎(jiǎng)?chuàng) 建屬性關(guān)系。表格模型不預(yù)先計(jì)算聚合,并且DAX語(yǔ)義不依賴

18、于標(biāo)識(shí)屬性之間的一對(duì)多關(guān)系,因此在表格建模中,沒(méi)有與多維建模的屬性關(guān)系等效的關(guān)系。恥諤銪滅縈歡煬鞏鶩錦。不規(guī)則層次結(jié)構(gòu)當(dāng)層次結(jié)構(gòu)樹中缺少給定的數(shù)據(jù)元素時(shí),將出現(xiàn)不規(guī)則的層次結(jié)構(gòu)。例如,如果沒(méi)有為 產(chǎn)品分配子類別,但分配了產(chǎn)品類別,則將出現(xiàn)不規(guī)則的產(chǎn)品層次結(jié)構(gòu)。在這些情況下, 您可以選擇在樹中隱藏空隙(不顯示空隙),以便于進(jìn)行深化分析。多維模型本身支持 不規(guī)則的層次結(jié)構(gòu);但表格模型不支持此功能。 鯊腎鑰詘漣鉀溈懼統(tǒng)庫(kù)。父子層次結(jié)構(gòu)父子層次結(jié)構(gòu)提供了一種更復(fù)雜的層次結(jié)構(gòu)設(shè)計(jì)。父子層次結(jié)構(gòu)中的分支并不全都具有 相同的級(jí)別數(shù)。例如,員工與經(jīng)理之間的父子關(guān)系可能生成這樣的層次結(jié)構(gòu):一些經(jīng)理 只具有直接下

19、屬,而其他經(jīng)理所具有的每個(gè)直接下屬也有其自己的直接下屬。這種層次 結(jié)構(gòu)是通過(guò)在源數(shù)據(jù)表的兩列之間創(chuàng)建關(guān)系來(lái)建模的,如圖 2所示。Ken J. S a nche;Ken J. S a ncheBrian S. WelckerKen J. S a ncheAmy E. AlbertsBrian S. WelckerJae B. PakAmy E. AlbertsDavid M. BradleyKen J. San chezKevi n F. Brow nDavid M. Bradley父子層次結(jié)構(gòu)樹父子源數(shù)據(jù)圖2 父子層次結(jié)構(gòu)通過(guò)多維模型本身具有的功能,您可以根據(jù)源數(shù)據(jù)中的關(guān)系來(lái)定義和生成父子層次

20、結(jié)構(gòu)。在表格模型中,您可以利用 DAX函數(shù)來(lái)創(chuàng)建在計(jì)算中導(dǎo)航并使用父子結(jié)構(gòu)的公式。有關(guān) 如何在表格模型中使用父子層次結(jié)構(gòu)的詳細(xì)信息,請(qǐng)參閱了解DAX中父子層次結(jié)構(gòu)的函數(shù)(v=sql.110).aspx)。閿擻輳嬪諫遷擇植秘騖。其他建模功能除數(shù)據(jù)關(guān)系和層次結(jié)構(gòu)外,還有其他建模功能可以幫助您選擇最佳的建模體驗(yàn):透視:通過(guò)透視,您可以定義數(shù)據(jù)模型的子集,以簡(jiǎn)化最終用戶的瀏覽體驗(yàn)。多 維模型和表格模型中都提供了透視。氬嚕躑竄貿(mào)懇彈濾頷澩。翻譯:借助于翻譯,多維模型可以用計(jì)算機(jī)的本地化設(shè)置所指定的語(yǔ)言來(lái)顯示維 度、屬性、度量值、計(jì)算成員以及其他對(duì)象名稱和維度成員值。啟用此功能要求 模型開發(fā)人員提供已翻譯

21、的對(duì)象名稱,并引用源數(shù)據(jù)中包含已翻譯的維度成員值 的列。表格模型不提供此功能。 釷鵒資贏車贖孫滅獅贅。操作:通過(guò)操作,最終用戶可以運(yùn)行 Reporting Services報(bào)表、導(dǎo)航到URL或根 據(jù)發(fā)生操作的單元的上下文啟動(dòng)外部操作。例如,通過(guò)使用操作,最終用戶可以 啟動(dòng)一個(gè)網(wǎng)頁(yè),該網(wǎng)頁(yè)顯示的公司產(chǎn)品目錄會(huì)自動(dòng)篩選為用戶瀏覽過(guò)的一個(gè)或多 個(gè)產(chǎn)品。多維模型本身就支持操作,許多客戶端工具(如 Excel和Reporti ng Services)也允許用戶執(zhí)行操作。在 SQL Server 2012中,不支持使用 SQL Server Data Tools在表格模型中創(chuàng)建操作。慫闡譜鯪逕導(dǎo)嘯畫長(zhǎng)涼。

22、鉆取:鉆取使您能夠?qū)Ш降侥P椭写鎯?chǔ)的詳細(xì)數(shù)據(jù)。多維建模和表格建模都提供 了鉆取功能。多維模型還可讓您創(chuàng)建鉆取操作,以便可以通過(guò)指定鉆取操作返回 的列以及啟用此操作的多維數(shù)據(jù)集空間來(lái)自定義鉆取體驗(yàn)。諺辭調(diào)擔(dān)鈧諂動(dòng)禪瀉類。寫回:寫回是預(yù)算編制和預(yù)測(cè)應(yīng)用程序通常所需的一項(xiàng)功能。在這些情況下,業(yè) 務(wù)用戶通常需要執(zhí)行 假設(shè)”分析,在分析中更改和更新模型中的數(shù)據(jù)值,然后發(fā) 布以供他人查看。多維模型本身支持?jǐn)?shù)據(jù)寫回功能。在SQL Server 2012中,表格模型不支持此功能。嘰覲詿縲鐋囁偽純鉿錈。業(yè)務(wù)邏輯業(yè)務(wù)邏輯可以為任何數(shù)據(jù)模型增加巨大的價(jià)值,它借助于可增強(qiáng)數(shù)據(jù)的計(jì)算和業(yè)務(wù)規(guī)則, 為最終用戶提供分析功能

23、。熒紿譏鉦鏌觶鷹緇機(jī)庫(kù)。表格建模和多維建模都提供了豐富的公式語(yǔ)言以實(shí)現(xiàn)業(yè)務(wù)邏輯。多維模型利用MDX,而表格模型利用DAX。在深入探討每個(gè)范例的一些高級(jí)業(yè)務(wù)邏輯方案之前,需要首先對(duì)在 多維建模和表格建模中如何使用行級(jí)轉(zhuǎn)換、聚合值和計(jì)算來(lái)應(yīng)用業(yè)務(wù)邏輯有一個(gè)基本的 了解。鶼漬螻偉閱劍鯫腎邏蘞。行級(jí)轉(zhuǎn)換您可能需要執(zhí)行源數(shù)據(jù)中未提供的計(jì)算和數(shù)據(jù)轉(zhuǎn)換。例如,源數(shù)據(jù)可能具有銷售額”列和每日匯率”列,但缺少換算為外幣的銷售額,或者源數(shù)據(jù)可能具有員工姓氏”和員工名字”,但缺少串聯(lián)起來(lái)的 員工全名”請(qǐng)注意,在這些示例中,計(jì)算或數(shù)據(jù)操作必須在 行級(jí)、未聚合的數(shù)據(jù)上發(fā)生。紂憂蔣氳頑薟驅(qū)藥憫騖。在多維建模中,必須先對(duì)未

24、聚合的數(shù)據(jù)執(zhí)行行級(jí)轉(zhuǎn)換,然后才能將數(shù)據(jù)加載到模型中; 或者必須先執(zhí)行行級(jí)轉(zhuǎn)換,然后才能查詢模型。您可以在數(shù)據(jù)源系統(tǒng)中應(yīng)用轉(zhuǎn)換,或編 寫一個(gè)在Analysis Services查詢?cè)磾?shù)據(jù)庫(kù)時(shí)應(yīng)用的SQL表達(dá)式,以轉(zhuǎn)換維度屬性(如員 工姓名)。數(shù)值數(shù)據(jù)的行級(jí)轉(zhuǎn)換可以通過(guò)使用SQL表達(dá)式在數(shù)據(jù)加載到An alysisServices之前執(zhí)行;或者,可以使用 MDX表達(dá)式以及Scope語(yǔ)句將計(jì)算限制在行級(jí)范 圍內(nèi),從而應(yīng)用行級(jí)轉(zhuǎn)換。如果在加載數(shù)據(jù)前應(yīng)用轉(zhuǎn)換,An alysis Services可以預(yù)聚合數(shù)值。如果使用Scope語(yǔ)句應(yīng)用轉(zhuǎn)換,則將在查詢時(shí)發(fā)生聚合。穎芻莖峽餑億頓裊賠瀧。在表格建模中,行級(jí)

25、轉(zhuǎn)換是使用計(jì)算列創(chuàng)建的。當(dāng)您創(chuàng)建計(jì)算列時(shí),您需要將該列添加 到模型的特定表中,然后使用 DAX公式來(lái)定義該列的值。然后,針對(duì)該表中的每個(gè)記錄計(jì)算此公式,并且將公式加載到內(nèi)存中,就像模型中的任何其他列一樣。借助于這種靈 活性,您可以基于您的具體分析要求直接在表格模型中增強(qiáng)您的數(shù)據(jù),而且不再迫切需 要對(duì)能夠或者不能容納您的更改的上游數(shù)據(jù)源進(jìn)行及時(shí)調(diào)整。計(jì)算列提供了一種非常方 便的方法,使您能夠創(chuàng)建和保留在對(duì)數(shù)據(jù)進(jìn)行聚合之前必須在詳細(xì)級(jí)別執(zhí)行的計(jì)算。盡 管這種靈活性很強(qiáng)大,但請(qǐng)注意,計(jì)算列并不用于執(zhí)行大量數(shù)據(jù)清理或數(shù)據(jù)轉(zhuǎn)換(例如 提取、轉(zhuǎn)換和加載 (ETL) 過(guò)程)。 濫驂膽閉驟羥闈詔寢賻。聚合值在

26、多維建模中,聚合值是通過(guò)使用度量值來(lái)創(chuàng)建的。 Analysis Services OLAP 引擎使用聚 合函數(shù)(如 SUM、COUNT、MIN、MAX 和 DISTINCT COUNT 以及其他函數(shù))來(lái)預(yù)聚合 多維數(shù)據(jù)集的度量值。在多維數(shù)據(jù)集處理過(guò)程中,每個(gè)度量值都可以在所有層次結(jié)構(gòu)中 自下而上進(jìn)行聚合。由于這種處理發(fā)生在最終用戶進(jìn)行分析之前,因此,預(yù)聚合的度量 值可以為查詢性能提供巨大優(yōu)勢(shì)。 銚銻縵嚌鰻鴻鋟謎諏涼。當(dāng)您在多維數(shù)據(jù)集中創(chuàng)建度量值時(shí),多維數(shù)據(jù)集度量值與源數(shù)據(jù)中的數(shù)值列之間存在一 對(duì)一關(guān)系。因此,在多維建模中,當(dāng)您需要對(duì)滿足以下條件的數(shù)值數(shù)據(jù)元素執(zhí)行自下而 上的聚合時(shí),需使用度量值

27、: (1) 這些元素位于您的源數(shù)據(jù)的最低詳細(xì)級(jí)別; (2) 這些元 素要求使用其中一個(gè)本機(jī)多維數(shù)據(jù)集聚合函數(shù)進(jìn)行匯總。 擠貼綬電麥結(jié)鈺贖嘵類。在表格建模中,您也可以使用度量值來(lái)創(chuàng)建聚合值??梢酝ㄟ^(guò)選擇一列,然后指定聚合函數(shù)(SUM、COUNT、DISTINCT COUNT、MIN、MAX 或 AVERAGE,以創(chuàng)建度量值; 也可以編寫 DAX 表達(dá)式來(lái)指定要用來(lái)對(duì)度量值進(jìn)行聚合的函數(shù)。在表格建模中,行級(jí)數(shù) 據(jù)存儲(chǔ)在內(nèi)存中,并在查詢時(shí)計(jì)算聚合。如下一部分所述,在表格建模中,度量值還可 以用來(lái)應(yīng)用計(jì)算。這可以包含基于多個(gè)聚合列的計(jì)算。 賠荊紳諮侖驟遼輩襪錈。計(jì)算在多維建模中,使用 MDX 來(lái)創(chuàng)建計(jì)

28、算。 MDX 既是表達(dá)式語(yǔ)言,也是查詢語(yǔ)言,它具有 的函數(shù)本身就理解多維數(shù)據(jù)集的維度、層次結(jié)構(gòu)、屬性關(guān)系和度量值的設(shè)計(jì)。因此,您 可以創(chuàng)建簡(jiǎn)潔且強(qiáng)大的表達(dá)式,在多個(gè)數(shù)據(jù)上下文中應(yīng)用業(yè)務(wù)邏輯。您可以在多維數(shù)據(jù) 集的計(jì)算腳本中創(chuàng)建并存儲(chǔ) MDX 計(jì)算,從而可以控制應(yīng)用邏輯的順序。 塤礙籟饈決穩(wěn)賽釙冊(cè)庫(kù)。計(jì)算成員是最常見的 MDX 計(jì)算。計(jì)算成員是在對(duì)數(shù)據(jù)執(zhí)行預(yù)聚合后,在查詢時(shí)進(jìn)行計(jì) 算的。可以在任何維度中創(chuàng)建計(jì)算成員。當(dāng)在度量值維度中創(chuàng)建計(jì)算成員時(shí),計(jì)算成員 通常稱為“計(jì)算度量值 ”。計(jì)算成員可以非常簡(jiǎn)單,只包含基本的數(shù)學(xué)運(yùn)算,如單位銷售 額(銷售額 /單位)或每個(gè)人的支出(支出 /總?cè)藬?shù));也可

29、以非常復(fù)雜,需要應(yīng)用特定 的業(yè)務(wù)規(guī)則,如滾動(dòng)三期平均銷售額或年度利潤(rùn)。例如,如果要計(jì)算當(dāng)前時(shí)間段的銷售 額并將其表示為父時(shí)間段的百分比,可以使用以下 MDX 計(jì)算。 裊樣祕(mì)廬廂顫諺鍘羋藺。Measures.Sales Amount / (Date.Calendar.CurrentMember.Parent,Measures.Sales Amount) 倉(cāng)嫗盤紲囑瓏詁 鍬齊驁。除度量值維度之外,在其他維度中創(chuàng)建計(jì)算成員會(huì)向該維度中的某個(gè)屬性添加一個(gè)值。 例如,如果您有一個(gè)包含顏色列表的維度屬性,您可能希望添加一個(gè)計(jì)算成員 Primary Colors ,用于匯總紅、綠和藍(lán)這三種顏色的值。在表格建

30、模中,創(chuàng)建度量值類似于在多 維模型的度量值維度中創(chuàng)建一個(gè)計(jì)算成員。在表格建模中,您無(wú)法向表中的列添加值, 因此,表格建模不支持像在多維模型中的非度量值維度中創(chuàng)建計(jì)算成員那樣的等效功能。 綻萬(wàn)璉轆娛閬蟶鬮綰瀧。范圍分配不僅比計(jì)算度量值更高級(jí),而且功能也更強(qiáng)大。正如前面的 “行級(jí)轉(zhuǎn)換 ”部分所 述,您可以使用 Scope 語(yǔ)句來(lái)將計(jì)算限制在行級(jí)范圍內(nèi)。但是,也可以使用 Scope 語(yǔ)句 指定您要應(yīng)用計(jì)算的任何多維數(shù)據(jù)集單元范圍。范圍分配在查詢之前進(jìn)行編譯,它使Analysis Services 能夠在查詢計(jì)算時(shí)提供優(yōu)化的執(zhí)行路徑。在給定強(qiáng)度的情況下,范圍 分配不僅能夠執(zhí)行多個(gè)計(jì)算度量值的工作,還能

31、夠更高效地完成工作。例如,在預(yù)算編 制解決方案中,您希望將東部區(qū)域下一年的預(yù)算指定為今年預(yù)算的90%,將西部區(qū)域的新預(yù)算指定為今年預(yù)算的 75%,將南部區(qū)域的新預(yù)算指定為今年預(yù)算的 105% ,另外, 將北部區(qū)域的新預(yù)算指定為與今年的預(yù)算相同。在本示例中,不需要使用包含嵌套IF 語(yǔ)句的一個(gè)復(fù)雜計(jì)算度量值,也不需要使用多個(gè)計(jì)算度量值將每個(gè)預(yù)算方案分隔開來(lái),而 是可以使用范圍分配來(lái)有效地在區(qū)域級(jí)別應(yīng)用這些比率,然后聚合數(shù)據(jù)總計(jì)。例如,如 果您希望使用每日匯率將銷售額轉(zhuǎn)換為外幣,則可以使用以下 MDX 表達(dá)式: 驍顧燁鶚巰瀆蕪 領(lǐng)鱺賻。Scope(Date.Date);This = Measures

32、.Sales Amount * Measures.Daily FX Rate; 瑣釙濺曖惲錕縞馭篩涼。End Scope;在表格建模中,您可以使用 DAX 來(lái)創(chuàng)建計(jì)算。如前面所述,在表格建模中,您可以通過(guò) 創(chuàng)建計(jì)算列來(lái)應(yīng)用行級(jí)計(jì)算,也可以在通過(guò)編寫 DAX 表達(dá)式創(chuàng)建度量值的時(shí)候應(yīng)用計(jì)算。 因?yàn)槟@式使用 DAX 行級(jí)函數(shù)和聚合函數(shù)的組合,所以表格模型中的度量值是非常靈活 的。您可以應(yīng)用行級(jí)函數(shù),然后應(yīng)用聚合函數(shù),以便您的度量值在聚合之前應(yīng)用計(jì)算; 或者您可以先應(yīng)用聚合函數(shù),然后應(yīng)用行級(jí)函數(shù),以便您的度量值在聚合之后應(yīng)用計(jì)算。 鎦詩(shī)涇艷損樓紲鯗餳類。DAX 公式可以在不同的數(shù)據(jù)上下文(而不僅僅

33、是 Excel 工作表或數(shù)據(jù)透視表的當(dāng)前視圖) 中,使用一組特殊的函數(shù)(稱為 FILTER函數(shù))動(dòng)態(tài)地計(jì)算公式。在最廣泛的意義上,這 些函數(shù)對(duì)于 Analysis Services 范圍分配具有類似的作用,因?yàn)樗鼈兪鼓軌蜥槍?duì)特定的 行集來(lái)定義和執(zhí)行計(jì)算。例如,可以使用FILTER函數(shù)處理上述的預(yù)算編制示例。櫛緶歐鋤棗鈕種鵑瑤錟。業(yè)務(wù)邏輯方案既然您已經(jīng)很好地了解如何在 MDX 和 DAX 中創(chuàng)建和應(yīng)用基本業(yè)務(wù)邏輯,那么可以考慮 以下計(jì)算方案,以比較和對(duì)比表格建模體驗(yàn)與多維建模體驗(yàn)。 轡燁棟剛殮攬瑤麗鬮應(yīng)。層次結(jié)構(gòu)邏輯 如前所述,層次結(jié)構(gòu)為業(yè)務(wù)用戶提供了一種在數(shù)據(jù)分析過(guò)程中淺化和深化的方法。在某

34、 些情況下,創(chuàng)建可以導(dǎo)航層次結(jié)構(gòu)的計(jì)算非常有用。例如,考慮一個(gè)產(chǎn)品維度,其中具 有“產(chǎn)品類別 ”、“產(chǎn)品子類別 ”和“產(chǎn)品”。對(duì)于層次結(jié)構(gòu)中的每個(gè)級(jí)別,您要添加一個(gè)計(jì)算, 以衡量每個(gè)級(jí)別的成員對(duì)父項(xiàng)的總銷售額的貢獻(xiàn)有多大。考慮到此計(jì)算必須導(dǎo)航層次結(jié) 構(gòu)才能返回所需的值,所以稱為 “父項(xiàng)百分比 ”計(jì)算。 峴揚(yáng)斕滾澗輻灄興渙藺。MDX 和 DAX 都提供了相應(yīng)的函數(shù)來(lái)處理整理到層次結(jié)構(gòu)中的數(shù)據(jù),并且可以創(chuàng)建類似 父項(xiàng)百分比這樣的計(jì)算;但 MDX 函數(shù)通常更簡(jiǎn)單且更易于使用。例如,在 MDX 中,這 是在產(chǎn)品維度中提供父項(xiàng)百分比的表達(dá)式。 詩(shī)叁撻訥燼憂毀厲鋨驁。Measures.Sales Amou

35、nt /(Product.Product Categories.CurrentMember.Parent, Measures.Sales Amount) 則鯤愜韋瘓賈暉園棟瀧。要使用 DAX 創(chuàng)建相同的父項(xiàng)百分比計(jì)算,則需要以下更復(fù)雜的表達(dá)式。IF(ISFILTERED(ProductProduct),Sales/CALCULATE(Sales,ALL(ProductProduct),IF(ISFILTERED(ProductSubcategory),Sales/CALCULATE(Sales,ALL(ProductSubcategory)脹鏝彈奧秘孫戶孿釔賻。,1)自定義匯總盡管統(tǒng)一的數(shù)據(jù)匯

36、總在許多情況下均適用,但在其他一些情況下,您可能希望對(duì)數(shù)據(jù)匯 總的方式進(jìn)行更精細(xì)的控制。這種情況的一個(gè)示例是財(cái)務(wù)模型:您具有一個(gè)科目表(通 常為父子格式),而每個(gè)科目都要求特定的匯總邏輯。如下所示,毛利”的計(jì)算方法是凈銷售額”減去銷售成本總計(jì)”,而 運(yùn)營(yíng)利潤(rùn)”的計(jì)算方法是 毛利”減去運(yùn)營(yíng)開支”鰓躋 峽禱紉誦幫廢掃減。丄鑾產(chǎn)負(fù)憤表d資產(chǎn)*丄負(fù)債和所有者權(quán)益0 V凈收入0運(yùn)營(yíng)利潤(rùn)回運(yùn)嘗幵空毛科的0凈餌豊頷鐘b銷善成本總計(jì)*鼻其他收入和幵交A稅亠d疑計(jì)喘戶0員工A徴J(rèn)平均單價(jià)多維模型不僅本身支持父子層次結(jié)構(gòu),而且它們還提供內(nèi)置的帳戶智能,這使您能夠在 帳戶級(jí)別輕松地應(yīng)用驅(qū)動(dòng)數(shù)據(jù)匯總的一元運(yùn)算符和MD

37、X公式。稟虛嬪賑維嚌妝擴(kuò)踴糶。在表格模型中,父子或帳戶智能不是內(nèi)置的,但您可以使用計(jì)算列和度量值的組合來(lái)生 成父子層次結(jié)構(gòu)并應(yīng)用自定義匯總,以生成您自己的解決方案。陽(yáng)簍埡鮭罷規(guī)嗚舊巋錟。半累加性度量值一般來(lái)說(shuō),半累加性度量值是那些在所有維度(日期除外)中統(tǒng)一進(jìn)行聚合的度量值。 半累加性度量值的示例包括期初余額和期末余額。對(duì)于這些度量值,您要應(yīng)用特殊邏輯, 以便按時(shí)間段對(duì)數(shù)據(jù)進(jìn)行正確匯總。畢竟,3月份的庫(kù)存現(xiàn)有量余額不是3月份中所有 日期的現(xiàn)有量總和。此外,此余額還應(yīng)正確地適用于所有日期屬性(如季度和年份)。例如,第1季度的庫(kù)存現(xiàn)有量余額應(yīng)與在 3月31日?qǐng)?bào)告的余額相同(假設(shè)3月31日是 第1季

38、度的最后一天)。 溈氣嘮戇萇鑿鑿櫧諤應(yīng)。多維模型通過(guò)特殊的聚合函數(shù)(如 First Child 、 Last Child 、 FirstNonEmptyChild 和 LastNonEmptyChild )為半累加性度量值提供內(nèi)在支持。如果這些聚合函數(shù)不能滿足您 的特定邏輯要求,您還可以編寫自定義 MDX 公式。 鋇嵐縣緱虜榮產(chǎn)濤團(tuán)藺。表格模型提供類似的函數(shù)(如 ClosingBalanceMonth 和 OpeningBalanceMonth )。還 有一些可應(yīng)用于其他日期屬性(如季度和年份)的附加函數(shù)。 懨俠劑鈍觸樂(lè)鷴燼觶騮。時(shí)間智能 幾乎您所遇到的每個(gè) BI 解決方案都需要時(shí)間智能。時(shí)間

39、智能包括計(jì)算年初至今的匯總以 及與前一年進(jìn)行比較的功能。 MDX 和 DAX 都提供了時(shí)序函數(shù),但是它們所使用的數(shù)據(jù) 模型設(shè)計(jì)稍有不同。 謾飽兗爭(zhēng)詣繚鮐癩別瀘。多維模型通過(guò) Analysis Services 商業(yè)智能向?qū)峁┝爽F(xiàn)成的時(shí)間智能。使用此向?qū)?,?以將時(shí)間計(jì)算添加到時(shí)間維度的設(shè)計(jì)中,還可將其應(yīng)用于模型中的所有度量值。使用此 向?qū)е皇巧蓵r(shí)間計(jì)算的其中一種方法,您還可以在多維模型中編寫您自己的 MDX 計(jì) 算。咼鉉們歟謙鴣餃競(jìng)蕩賺。在表格模型中,盡管沒(méi)有用于創(chuàng)建時(shí)間智能計(jì)算的向?qū)В梢酝ㄟ^(guò)創(chuàng)建利用各種函數(shù)(包括 TOTALMTD、TOTALYTD 以及 SAMEPERIODSLA

40、STYEAR 的 DAX 公式來(lái)手動(dòng) 創(chuàng)建計(jì)算。 瑩諧齷蘄賞組靄縐嚴(yán)減。KPI 關(guān)鍵績(jī)效指標(biāo) (KPI) 使用一個(gè)可視化的指示器(如紅綠燈)來(lái)確定您要監(jiān)視的特定度量值 相對(duì)于目標(biāo)值的完成程度。多維模型和表格模型都支持關(guān)鍵績(jī)效指標(biāo)(KPI)。兩者都能夠?yàn)槎攘恐抵付繕?biāo),并能夠使用實(shí)際值與目標(biāo)值的比較來(lái)評(píng)估度量值的性能狀態(tài)。多維 模型提供了附加的功能來(lái)評(píng)估 KPI 的趨勢(shì),并分配一個(gè)單獨(dú)的可視指示器來(lái)表示 KPI 隨 時(shí)間推移的效果。 麩肅鵬鏇轎騍鐐縛縟糶。貨幣換算 貨幣換算要求您將貨幣數(shù)據(jù)從一種或多種源貨幣轉(zhuǎn)換為一種或多種報(bào)表貨幣。例如,如 果您的組織使用歐元、日元和美元處理銷售事務(wù),為了在整個(gè)

41、組織范圍內(nèi)合并銷售報(bào)表, 您需要將銷售事務(wù)轉(zhuǎn)換為一種或多種報(bào)表貨幣。 納疇鰻吶鄖禎銣膩鰲錟。無(wú)論是采用哪種建模體驗(yàn)來(lái)實(shí)現(xiàn)貨幣換算,您都必須能夠訪問(wèn)貨幣匯率數(shù)據(jù)并在模型中 加入這些數(shù)據(jù)。在多維模型中,可以使用 Analysis Services 商業(yè)智能向?qū)?lái)創(chuàng)建 MDX 貨幣換算計(jì)算, 在經(jīng)優(yōu)化后這種方法可以支持多種源貨幣和報(bào)表貨幣。在表格模型中,可以通過(guò)創(chuàng)建 DAX 公式來(lái)生成您自己的貨幣換算解決方案。 風(fēng)攆鮪貓鐵頻鈣薊糾廟。命名集 在多維建模中,使用命名集可以讓您返回在報(bào)表應(yīng)用程序中常用的一組維度成員。例如, 您可能希望創(chuàng)建一個(gè)返回前 12 個(gè)月數(shù)據(jù)的命名集。通過(guò)在多維數(shù)據(jù)集內(nèi)創(chuàng)建此命名集

42、, 您可以集中定義此命名集的邏輯,以便從任何報(bào)表應(yīng)用程序中訪問(wèn)此命名集,并簡(jiǎn)化報(bào) 表應(yīng)用程序中存儲(chǔ)的邏輯。若要?jiǎng)?chuàng)建此 Last 12 Months 命名集,您可以使用下面的 MDX 表達(dá)式。 滅噯駭諗鋅獵輛覯餿藹。Create Set CurrentCube.Last 12 Months As Max(Date.Calendar.Month).Lag(11):Max(Date.Calendar.Month) 鐒鸝餉飾鐔閌 貲諢癱騮。命名集在表格建模中不可用。數(shù)據(jù)訪問(wèn)和存儲(chǔ)性能和可伸縮性 性能和可伸縮性是任何成功的 BI 解決方案所必須考慮的關(guān)鍵因素。由于每種建模體驗(yàn)利 用不同的基礎(chǔ)技術(shù),因此它

43、們具有不同的性能特征和行為,您必須了解這些性能特征和 行為,才能正確地考慮哪種建模體驗(yàn)最能滿足您的需要。 攙閿頻嶸陣澇諗譴隴瀘。多維模型如本白皮書前面所述, Analysis Services 的多維模型使用 OLAP 引擎。在磁盤上, OLAP 數(shù)據(jù)可以存儲(chǔ)在 MOLAP 和 ROLAP 數(shù)據(jù)體系結(jié)構(gòu)中。在 MOLAP 中,數(shù)據(jù)通過(guò)典型的 3 倍壓縮率以優(yōu)化的多維格式存儲(chǔ)在磁盤上。在 ROLAP 中,數(shù)據(jù)存儲(chǔ)在源關(guān)系數(shù)據(jù)庫(kù)中。 趕輾雛紈顆鋝討躍滿賺。當(dāng)您考慮性能時(shí),分兩方面來(lái)考慮通常是很有用的:查詢性能和處理性能。查詢性能 查詢性能直接影響最終用戶體驗(yàn)的質(zhì)量。因此,它是用于評(píng)估 OLAP 實(shí)

44、施成功與否的主 要基準(zhǔn)。 Analysis Services 提供各種機(jī)制來(lái)加速查詢性能,包括聚合、緩存和索引數(shù)據(jù) 檢索。此外,您可以通過(guò)優(yōu)化您的維度屬性、多維數(shù)據(jù)集和 MDX 查詢的設(shè)計(jì)來(lái)改善查 詢性能。 夾覡閭輇駁檔驀遷錟減。優(yōu)化查詢性能的主要方法之一是使用聚合。聚合是預(yù)先計(jì)算的數(shù)據(jù)匯總,用于提高多維 模型的查詢性能。當(dāng)您查詢多維模型時(shí), Analysis Services 查詢處理器將查詢分解為多 個(gè)針對(duì) OLAP 存儲(chǔ)引擎的請(qǐng)求。對(duì)于每個(gè)請(qǐng)求,存儲(chǔ)引擎首先嘗試從內(nèi)存中的存儲(chǔ)引擎 緩存檢索數(shù)據(jù)。如果緩存中沒(méi)有數(shù)據(jù),它將嘗試從聚合中檢索數(shù)據(jù)。如果聚合不存在, 它將從度量值組的分區(qū)中檢索數(shù)據(jù)

45、。 視絀鏝鴯鱭鐘腦鈞欖糲。在設(shè)計(jì)數(shù)據(jù)聚合時(shí),首先要確定對(duì)于您的查詢工作負(fù)荷最有效的聚合方案。當(dāng)設(shè)計(jì)聚合 時(shí),必須考慮聚合提供的查詢優(yōu)勢(shì),以及與之對(duì)應(yīng)的創(chuàng)建和刷新聚合所需的時(shí)間。實(shí)際 上,增加不必要的聚合可能導(dǎo)致查詢性能變得更差,因?yàn)槊新蕵O低會(huì)導(dǎo)致將聚合移入 文件緩存中,而代價(jià)是移出其他內(nèi)容。 偽澀錕攢鴛擋緬鐒鈞錠。緩存對(duì)于 Analysis Services 查詢性能優(yōu)化也至關(guān)重要。您應(yīng)該具有足夠的內(nèi)存來(lái)存儲(chǔ)所 有維度數(shù)據(jù),并留出相應(yīng)的空間來(lái)緩存查詢結(jié)果。在查詢過(guò)程中,內(nèi)存主要用于保存存 儲(chǔ)引擎中的緩存結(jié)果,以及查詢處理器的緩存。若要優(yōu)化緩存的優(yōu)勢(shì),通??梢詫?shù)據(jù) 預(yù)加載到其中一個(gè)緩存或這兩

46、個(gè)緩存中,以提高查詢響應(yīng)性能。這可以通過(guò)預(yù)執(zhí)行一個(gè) 或多個(gè)查詢或者使用創(chuàng)建緩存語(yǔ)句來(lái)實(shí)現(xiàn)。 緦徑銚膾齲轎級(jí)鏜撟廟。處理性能處理是刷新 Analysis Services 數(shù)據(jù)庫(kù)中數(shù)據(jù)的操作。處理性能越高,用戶就可以越快地 訪問(wèn)刷新后的數(shù)據(jù)。 Analysis Services 提供了許多可用來(lái)影響處理性能的機(jī)制,包括高 效的維度設(shè)計(jì)、有效的聚合、分區(qū)和經(jīng)濟(jì)的處理策略(例如,遞增刷新、完全刷新與主 動(dòng)緩存)。 騅憑鈳銘僥張礫陣軫藹。您可以使用分區(qū)將度量值數(shù)據(jù)(通常為事實(shí)數(shù)據(jù)表數(shù)據(jù))劃分為物理單元。有效地使用 分區(qū)可以提高查詢性能、改善處理性能和促進(jìn)數(shù)據(jù)管理。對(duì)于每個(gè)分區(qū),您可以具有單 獨(dú)的聚合設(shè)

47、計(jì)和單獨(dú)的刷新計(jì)劃,這樣可以極大地優(yōu)化處理性能。對(duì)于每個(gè)事實(shí)數(shù)據(jù)表, 還可以具有 MOLAP 分區(qū)和 ROLAP 分區(qū)的組合。這種分區(qū)策略可用于提供實(shí)時(shí)查詢,也 可用于訪問(wèn)那些因?yàn)樘蠖鵁o(wú)法處理到多維數(shù)據(jù)集的數(shù)據(jù)集。 癘騏鏨農(nóng)剎貯獄顥幗騮。 通過(guò)此類查詢和處理優(yōu)化技術(shù),可以大大增強(qiáng)多維模型的處理性能,甚至可以處理 TB 級(jí)的數(shù)據(jù)。有關(guān)性能優(yōu)化的詳細(xì)信息,請(qǐng)參閱 Analysis Services 2008 R2 性能指南 ()。鏃 鋝過(guò)潤(rùn)啟婭澗駱讕瀘。表格模型表格模型可以使用xVelocity分析引擎(此引擎提供了內(nèi)存中數(shù)據(jù)處理)或 DirectQuery (可將查詢傳遞到源數(shù)據(jù)庫(kù)以利用其查詢

48、處理功能)。榿貳軻謄壟該檻鯔塏賽。現(xiàn)在,您可以將分列數(shù)據(jù)庫(kù)和內(nèi)存中數(shù)據(jù)處理的優(yōu)勢(shì)融合在一起了。與傳統(tǒng)存儲(chǔ)相比, 分列數(shù)據(jù)庫(kù)可實(shí)現(xiàn)更高的壓縮率,通常為 10倍壓縮率,具體取決于數(shù)據(jù)基數(shù)。數(shù)據(jù)基 數(shù)主要用于描述單個(gè)列中的數(shù)據(jù)的分布特征。數(shù)據(jù)基數(shù)高,則表明列中的數(shù)據(jù)值的唯一 性程度高(例如,客戶編號(hào))。數(shù)據(jù)基數(shù)低,則表示列中的數(shù)據(jù)值可以重復(fù)(例如,性 別和婚姻狀況)。數(shù)據(jù)基數(shù)越低,則壓縮率越高,這意味著在給定時(shí)間可將更多的數(shù)據(jù) 放入內(nèi)存。作為數(shù)據(jù)建模人員,務(wù)必要了解數(shù)據(jù)的基數(shù),以確定哪些數(shù)據(jù)集最適合您的 表格模型以及與支持此模型相關(guān)的內(nèi)存要求。邁蔦賺陘賓唄擷鷦訟湊。查詢性能當(dāng)用戶查詢表格模型時(shí),引擎

49、會(huì)執(zhí)行內(nèi)存掃描以檢索數(shù)據(jù)并動(dòng)態(tài)計(jì)算聚合,而不需要磁 盤I/O處理。此方法可以提供非常高的查詢性能,而不需要特殊優(yōu)化和聚合管理。嶁硤貪塒廩袞憫倉(cāng)華糲。優(yōu)化表格模型查詢性能的最好最簡(jiǎn)便的方法是盡量增大可用內(nèi)存。從可伸縮性角度來(lái)看, 數(shù)據(jù)量主要受物理內(nèi)存的限制。強(qiáng)烈建議您提供足夠的內(nèi)存,以容納表格模型中的所有 數(shù)據(jù)。在內(nèi)存受限的情況下,內(nèi)存中引擎還可根據(jù)物理內(nèi)存提供基本的分頁(yè)支持。此外, 一些服務(wù)器端配置設(shè)置使IT部門能夠更精細(xì)地管理可用于表格模型的內(nèi)存。有關(guān)表格模 型內(nèi)存配置的詳細(xì)信息,請(qǐng)參閱內(nèi)存屬性()。該櫟諼碼戇沖巋鳧薩錠。處理性能與多維模型相比,表格模型在處理性能上主要有兩方面的差異:*與多

50、維模型不同,表格模型是將數(shù)據(jù)直接加載到內(nèi)存中,而不需要將數(shù)據(jù)寫入磁 盤。因?yàn)楸砀衲P筒粚?shù)據(jù)分類到維度和度量值組,所以處理過(guò)程可能要靈活得多。 這兩點(diǎn)差異表明:每次數(shù)據(jù)刷新所需的開銷較小,這反過(guò)來(lái)會(huì)加快周轉(zhuǎn)時(shí)間和提 高靈活性。劇妝諢貰攖蘋塒呂侖廟。請(qǐng)考慮這樣一個(gè)示例:在您的組織中,銷售代表定期從一個(gè)區(qū)域轉(zhuǎn)至另一個(gè)區(qū)域是很常 見的現(xiàn)象。業(yè)務(wù)用戶想要查看按最新的區(qū)域和銷售代表分配情況匯總的銷售數(shù)據(jù)。臠龍訛驄椏業(yè)變墊羅蘄。在多維模型中,要完成此任務(wù),首先必須刷新銷售組織維度。在刷新銷售組織維度后, 必須刷新銷售度量值組分區(qū)。刷新銷售分區(qū)會(huì)同時(shí)更新詳細(xì)數(shù)據(jù)和聚合。數(shù)據(jù)準(zhǔn)備的最 后一步(作為最佳實(shí)踐)是

51、準(zhǔn)備 An alysis Services查詢緩存,以便將磁盤中最有用的數(shù) 據(jù)檢索到內(nèi)存中。 鰻順褸悅漚縫輾屜鴨騫。根據(jù)您的數(shù)據(jù)模型設(shè)計(jì)、數(shù)據(jù)大小和您選擇的特定處理技術(shù)(遞增處理與完全處理), 這一過(guò)程可能需要幾分鐘或幾小時(shí)。好消息是,現(xiàn)在有許多行之有效的技術(shù),可以幫助 BI專業(yè)人員在日常工作中優(yōu)化多維模型的處理性能,并且在數(shù)據(jù)處理要求與數(shù)據(jù)可用性 要求之間取得平衡。穡釓虛綹滟鰻絲懷紆濼?,F(xiàn)在,請(qǐng)?jiān)诒砀衲P椭锌紤]相同的方案。在表格模型中,沒(méi)有維度和度量值組的概念。 而是將數(shù)據(jù)整理到相互之間具有關(guān)系的表中。假定銷售組織數(shù)據(jù)和銷售數(shù)據(jù)分別位于各 自的表中,而這些表之間通過(guò)各個(gè)銷售代表建立相應(yīng)的關(guān)系

52、。通過(guò)這種設(shè)計(jì),當(dāng)您刷新 銷售組織表時(shí),它將自動(dòng)更新所有受影響的計(jì)算列、關(guān)系和用戶層次結(jié)構(gòu)。這意味著, 銷售數(shù)據(jù)將自動(dòng)反映更新的銷售區(qū)域匯總,而無(wú)需重新處理銷售數(shù)據(jù)。當(dāng)維度快速發(fā)生 變化且您需要數(shù)據(jù)反映最新的更新時(shí),這種靈活性可提供巨大的優(yōu)勢(shì)。隸誆熒鑒獫綱鴣攣駘賽。 此外還請(qǐng)注意,如果使用表格模型,也無(wú)需生成聚合、將數(shù)據(jù)寫入磁盤或準(zhǔn)備查詢緩存 以便將數(shù)據(jù)放入內(nèi)存。在表格模型中,數(shù)據(jù)將從磁盤直接進(jìn)入內(nèi)存且立即可以使用。 浹繢 膩叢著駕驃構(gòu)碭湊。與多維模型類似,表格模型也可以將表數(shù)據(jù)分解到分區(qū),而不再需要進(jìn)行多余的數(shù)據(jù)處 理。例如,可以將較大的表分解到多個(gè)分區(qū),如當(dāng)前年份的每個(gè)月對(duì)應(yīng)于一個(gè)月份分區(qū)

53、, 而先前的每個(gè)年份對(duì)應(yīng)于一個(gè)年份分區(qū)。通過(guò)這種方法,您可以隔離那些需要刷新的處 理分區(qū)。 鈀燭罰櫝箋礱颼畢韞糲。請(qǐng)注意,雖然表格模型可以并行處理多個(gè)表,但不能并行處理單個(gè)表的各分區(qū),這一點(diǎn) 與多維模型不同。DirectQuery在表格模型中,除了使用 xVelocity 內(nèi)存中模式之外, BI 專業(yè)人員還可以使用 DirectQuery 模式來(lái)生成表格模型。 DirectQuery 可用于具有 SQL Server 數(shù)據(jù)源的表格模 型。DirectQuery通過(guò)將DAX查詢和計(jì)算傳遞到源數(shù)據(jù)庫(kù)以利用 SQL Server的功能,使 您能夠繞過(guò)數(shù)據(jù)處理。這對(duì)于要求頻繁刷新的大量數(shù)據(jù)而言尤其有用

54、。但使用 DirectQuery 時(shí),不支持計(jì)算列和某些 DAX 函數(shù)。 愜執(zhí)緝蘿紳頎陽(yáng)灣熗鍵??删幊绦苑治龉芾韺?duì)象(AMO)是用于開發(fā)和管理 Analysis Services對(duì)象的API。此API是在將表 格建模添加到 Analysis Services 之前創(chuàng)建的,因此它僅包含傳統(tǒng)上與多維建模關(guān)聯(lián)的對(duì) 象的類:多維數(shù)據(jù)集、維度、度量值組、 MDX 腳本等等。但是,此 API 也可用于開發(fā)和 管理表格模型。這是由 BI 語(yǔ)義模型封裝的多維建模和表格建模的一個(gè)優(yōu)勢(shì)。盡管從內(nèi)部 而言表格模型和維度模型是截然不同的,但 BISM 提供了相同的外部界面。盡管您可以 使用 AMO 同時(shí)對(duì)表格模型和多

55、維模型進(jìn)行編程,但它對(duì)表格模型而言是一種不太直觀 的界面。有關(guān)詳細(xì)信息(包括表格模型 AMO 示例代碼),請(qǐng)參閱 Analysis Services 教 程()貞廈給鏌綞牽鎮(zhèn)獵鎦龐。安全性具有適當(dāng)?shù)臄?shù)據(jù)安全性策略對(duì)于確保適當(dāng)?shù)挠脩裟軌蛟L問(wèn)適當(dāng)?shù)臄?shù)據(jù)而言非常重要。組 織必須控制數(shù)據(jù)訪問(wèn)權(quán)限,以使其數(shù)據(jù)資產(chǎn)保持安全并遵守隱私法規(guī)。多維模型和表格 模型都提供了一組可靠的功能,可滿足廣泛的安全性要求。具體的功能方面存在一些細(xì) 微的差異,在選擇最能滿足您的安全性需要的建模體驗(yàn)之前,請(qǐng)務(wù)必了解這些差異。 嚌鯖 級(jí)廚脹鑲銦礦毀蘄。在 Analysis Services 中,您應(yīng)通過(guò)創(chuàng)建角色并向角色授予權(quán)限來(lái)

56、管理多維項(xiàng)目和表格項(xiàng) 目的安全性。接下來(lái),您將 Windows 用戶名和組添加到角色,進(jìn)而根據(jù)角色的權(quán)限授 予相應(yīng)的用戶訪問(wèn)權(quán)限。 薊鑌豎牘熒浹醬籬鈴騫。行級(jí) /屬性級(jí)安全性在多維項(xiàng)目中,您可以使用 “維度數(shù)據(jù)安全性 ”的概念來(lái)管理行級(jí)訪問(wèn)權(quán)限。若要為角色 實(shí)現(xiàn)維度數(shù)據(jù)安全性,您需要通過(guò)選擇或取消選擇維度成員來(lái)授予或拒絕對(duì)維度數(shù)據(jù)的 訪問(wèn)權(quán)限。還可以使用 MDX 表達(dá)式定義一組成員,以實(shí)現(xiàn)更復(fù)雜的安全性配置。還可 以指定是應(yīng)向角色授予還是拒絕對(duì)新維度成員的訪問(wèn)權(quán)限。授予或拒絕對(duì)某個(gè)維度成員 的訪問(wèn)權(quán)限將影響角色對(duì)相關(guān)的維度成員所擁有的訪問(wèn)權(quán)限。例如,如果您限制某個(gè)角 色以使其只能訪問(wèn) Moun

57、tain Bikes 產(chǎn)品子類別,則該角色的成員只能查看 Bikes 產(chǎn)品類 別以及產(chǎn)品和銷售額中屬于 Mountain Bikes 子類別的內(nèi)容。 齡踐硯語(yǔ)蝸鑄轉(zhuǎn)絹攤濼。在表格項(xiàng)目中,您可以通過(guò)授予對(duì)表中各行的訪問(wèn)權(quán)限來(lái)實(shí)現(xiàn)行級(jí)安全性。在 SQL Server Data Tools 表格項(xiàng)目中,可以通過(guò)輸入用于篩選表行的 DAX 表達(dá)式來(lái)授予權(quán)限。 如果新的表行滿足 DAX 篩選器的要求,則角色對(duì)它們具有訪問(wèn)權(quán)限。您授予的對(duì)于一個(gè) 表中某行的訪問(wèn)權(quán)限將影響角色對(duì)相關(guān)表中的行的訪問(wèn)權(quán)限。如果兩個(gè)表具有一對(duì)多關(guān) 系,則作用于處于關(guān)系中 “一方 ”的表的行篩選器將篩選處于關(guān)系中的 “多方”的表中的行, 但反過(guò)來(lái)不成立。例如,如果您限制某個(gè)角色以使其只能查看產(chǎn)品子類別表中的 Mountain Bikes 行,則該角色的成員只能查看產(chǎn)品和銷售額表中與 Bikes 子類別相關(guān)的 行。但是,該角色的成員仍可以查看產(chǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論