




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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 Ser
2、vices 表格建模,還是 SQL Server 2012 Analysis Services 多維建模。版權(quán)信息本文檔按“原樣”提供。本文檔中的信息和表達(dá)的觀點(diǎn)(包括 URL 和其他 Internet 網(wǎng)站引用)如有更改,恕不另行通知。您應(yīng)承擔(dān)使用本文檔所帶來的風(fēng)險(xiǎn)。本文檔不向您提供對(duì)任何 Microsoft 產(chǎn)品中的任何知識(shí)產(chǎn)權(quán)的任何法律權(quán)利。您可以出于內(nèi)部參考目的復(fù)制和使用本文檔。© 2012 Microsoft Corporation。保留所有權(quán)利。目錄簡(jiǎn)介4BISM 建模入門知識(shí)4多維建模4表格建模5BISM 客戶端分析工具5數(shù)據(jù)模型6數(shù)據(jù)關(guān)系6一對(duì)多關(guān)系6多對(duì)多關(guān)系6引用
3、關(guān)系7層次結(jié)構(gòu)7標(biāo)準(zhǔn)層次結(jié)構(gòu)7不規(guī)則層次結(jié)構(gòu)7父子層次結(jié)構(gòu)7其他建模功能8業(yè)務(wù)邏輯9行級(jí)轉(zhuǎn)換9聚合值9計(jì)算10業(yè)務(wù)邏輯方案11層次結(jié)構(gòu)邏輯11自定義匯總11半累加性度量值12時(shí)間智能12KPI13貨幣換算13命名集13數(shù)據(jù)訪問和存儲(chǔ)14性能和可伸縮性14多維模型14表格模型15可編程性16安全性16行級(jí)/屬性級(jí)安全性16動(dòng)態(tài)安全性17單元級(jí)和高級(jí)安全性17總結(jié)18有關(guān)詳細(xì)信息21簡(jiǎn)介數(shù)據(jù)建模是 BI 專業(yè)人員多年來一直不斷實(shí)踐的領(lǐng)域,它的目標(biāo)只有一個(gè):將不同的數(shù)據(jù)整理到一個(gè)分析模型中,從而快速高效地支持業(yè)務(wù)的報(bào)告和分析需要。這些年來,數(shù)據(jù)建模隨著新技術(shù)和工具的推出而不斷發(fā)展,而組織在如何以無縫
4、和連貫的方式有效地混合建模范例方面面臨著越來越多的挑戰(zhàn),不僅要能夠滿足各種分析需要,還要能夠針對(duì)業(yè)務(wù)提供良好的分析體驗(yàn)。在 SQL Server 2012 版本中,Microsoft 引入 BI 語義模型 (BISM),不僅實(shí)現(xiàn)了建模的目標(biāo),而且還解決了組織所面臨的挑戰(zhàn)。這個(gè)單一模型可以支持廣泛的報(bào)告和分析功能,同時(shí)在后臺(tái)混合兩種 Analysis Services 建模體驗(yàn):· 多維建模 這種建模方法隨 SQL Server 7.0 OLAP 服務(wù)引入,并一直延續(xù)至 SQL Server 2012 Analysis Services。它使 BI 專業(yè)人員能夠使用傳統(tǒng)的聯(lián)機(jī)分析處理
5、(OLAP) 創(chuàng)建復(fù)雜的多維數(shù)據(jù)集。· 表格建模 這種建模方法隨 PowerPivot for Microsoft Excel 2010 引入,它為業(yè)務(wù)和數(shù)據(jù)分析人員提供了自助數(shù)據(jù)建模功能。對(duì)于多年來一直在桌面效率工具(如 Excel 或 Microsoft Access)中處理數(shù)據(jù)的許多用戶而言,表格建模體驗(yàn)更易于接受。在 SQL Server 2012 中,表格建模已擴(kuò)展為支持 BI 專業(yè)人員在 Analysis Services 中創(chuàng)建表格模型,或?qū)⒈砀衲P蛷?PowerPivot 導(dǎo)入到 Analysis Services 中。請(qǐng)注意,PowerPivot 模型無法導(dǎo)入到 A
6、nalysis Services 多維模型中。本白皮書的目標(biāo)是提供實(shí)用指南,以幫助您確定哪種 SQL Server 2012 Analysis Services 建模體驗(yàn)(表格建?;蚨嗑S建模)最符合您的下一個(gè) BI 解決方案的需要。本白皮書中的產(chǎn)品說明和建議基于 2012 年 3 月發(fā)布的 SQL Server 2012 Analysis Services。隨著 Analysis Services 多維建模和表格建模在 SQL Server 的將來版本中不斷改進(jìn),產(chǎn)品功能和建議可能發(fā)生變化。BISM 建模入門知識(shí)在深入探討多維建模與表格建模之間的詳細(xì)差異之前,我們首先簡(jiǎn)要介紹一下 SQL Se
7、rver 2012 Analysis Services 提供的每種 BISM 建模體驗(yàn)的基礎(chǔ)知識(shí)。多維建模多維建模的核心是基于關(guān)系數(shù)據(jù)庫中包含的數(shù)據(jù)創(chuàng)建多維數(shù)據(jù)集(由度量值和維度組成)。若要使用此范例,Analysis Services 服務(wù)器必須配置為在多維模式(默認(rèn)設(shè)置)下運(yùn)行。在此模式下,OLAP 引擎使用多維模型預(yù)聚合大量數(shù)據(jù),以支持快速的查詢響應(yīng)時(shí)間。OLAP 引擎可以通過多維 OLAP (MOLAP) 存儲(chǔ)將這些聚合存儲(chǔ)在磁盤上,或通過關(guān)系 OLAP (ROLAP) 存儲(chǔ)將它們存儲(chǔ)在關(guān)系數(shù)據(jù)庫中。多維建模的主要特征包括:· 豐富的數(shù)據(jù)模型:SQL Server 2012
8、Analysis Services 的多維模型已是推出的第六個(gè)版本,它提供了廣泛的功能,可根據(jù)企業(yè)數(shù)據(jù)倉(cāng)庫中常見的簡(jiǎn)單和復(fù)雜數(shù)據(jù)集為度量值和維度建模。更復(fù)雜的數(shù)據(jù)集通常包括諸如多對(duì)多關(guān)系、父子層次結(jié)構(gòu)和本地化等高級(jí)功能。多維模型本身自帶了這些功能。· 復(fù)雜的分析:多維模型還提供一種稱為多維表達(dá)式 (MDX) 的高級(jí)計(jì)算和查詢語言。使用 MDX,您可以創(chuàng)建復(fù)雜的業(yè)務(wù)邏輯和計(jì)算,它們可以在多維空間中的任何位置運(yùn)行,以實(shí)現(xiàn)財(cái)務(wù)分配、時(shí)序計(jì)算或半累加性度量。盡管全面的數(shù)據(jù)建模和復(fù)雜的分析是多維建模的重要優(yōu)點(diǎn),但常常隨之帶來一些負(fù)面影響:開發(fā)周期較長(zhǎng)以及不能快速適應(yīng)不斷變化的業(yè)務(wù)狀況。此外,多
9、維體驗(yàn)通常需要很高的建模和 MDX 技能水平。表格建模表格建模是將數(shù)據(jù)整理到相關(guān)的表中。如果您要使用表格建模,則必須將 Analysis Services 配置為在表格模式下運(yùn)行。在表格模式中,可以使用 xVelocity(以前稱為 Vertipaq)內(nèi)存中引擎將表格數(shù)據(jù)加載到內(nèi)存中以實(shí)現(xiàn)快速的查詢響應(yīng),也可以使用 DirectQuery 將查詢傳遞到源數(shù)據(jù)庫以利用其查詢處理功能。表格建模的主要特征包括:· 熟悉程度:對(duì)于許多用戶而言,他們?nèi)粘L幚淼臄?shù)據(jù)大多存儲(chǔ)在關(guān)系數(shù)據(jù)庫、Excel 或 Access 表中,因此處理起表格數(shù)據(jù)來駕輕就熟。另外,可以使用數(shù)據(jù)分析表達(dá)式 (DAX)(一
10、種被認(rèn)為是 Excel 公式語言擴(kuò)展的公式語言)來編寫計(jì)算。因此,生成表格模型所需的技能與生成多維模型所需的技能相比,前者更常用或更容易學(xué)會(huì)。· 靈活性:因?yàn)椴恍枰獙?shù)據(jù)嚴(yán)格地整理到度量值和維度中,所以,與多維模型相比,表格建??梢约涌扉_發(fā)周期,所需的前期數(shù)據(jù)準(zhǔn)備工作較少,設(shè)計(jì)嚴(yán)格性也較低。當(dāng)需要根據(jù)不斷變化的業(yè)務(wù)要求更新關(guān)系和計(jì)算時(shí),這種數(shù)據(jù)體系結(jié)構(gòu)還可以很方便地對(duì)數(shù)據(jù)建模做出相應(yīng)的變更。盡管熟悉程度和靈活性是表格建模的關(guān)鍵優(yōu)點(diǎn),但它也存在缺點(diǎn)。例如,表格建模可能不適合于那些具有高度復(fù)雜的數(shù)據(jù)集或需要復(fù)雜業(yè)務(wù)邏輯的解決方案。雖然 DAX 語言的用戶通常可以通過創(chuàng)建 DAX 公式來提
11、供表格模型中原本未提供的分析功能,但是,在這些情況下,使用多維建模本身自帶的高級(jí)功能可能更適合且更高效。BISM 客戶端分析工具無論您選擇多維建模還是表格建模,都請(qǐng)務(wù)必注意,您都可以使用能夠生成 MDX 或 DAX 的客戶端工具來查詢模型。例如,Excel 和 SQL Server Reporting Services 就是可以使用 MDX 生成查詢的客戶端工具,而 Power View 是可使用 DAX 生成查詢的客戶端工具。本指南有兩種例外情況。· Power View 是一個(gè)可提供交互式數(shù)據(jù)瀏覽和可視化的工具,是用于 Microsoft SharePoint Server 20
12、10 Enterprise Edition 的 SQL Server 2012 Reporting Services 外接程序的一項(xiàng)功能。如果您要使用 Power View 或任何其他使用 DAX 查詢 BISM 的分析客戶端,則需要使用表格模型。SQL Server 的未來版本可能會(huì)提供使用 DAX 來查詢多維模型的功能,這樣,您就可以通過諸如 Power View 之類的客戶端工具來訪問這些模型了。· 已配置為使用 DirectQuery 的表格模型要求使用可生成 DAX 查詢的客戶端工具(如 Power View)。SQL Server 的未來版本可能會(huì)允許配置為使用 Dire
13、ctQuery 的表格模型接受 MDX 查詢。數(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ù)建模中的常見關(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è)
14、表中的許多記錄相關(guān)。例如,單個(gè)客戶與多個(gè)銷售訂單具有一對(duì)多關(guān)系;但每個(gè)客戶可以分類為一個(gè)或多個(gè)客戶概況(如體育愛好者、休閑游戲玩家和健身專家)。按客戶概況來分析訂單就是一個(gè)多對(duì)多關(guān)系,其中可能會(huì)出現(xiàn)重復(fù)計(jì)數(shù):當(dāng)匯總對(duì)應(yīng)于各客戶概況的訂單來獲得訂單總數(shù)時(shí),如果某位訂購(gòu)一輛自行車的客戶既是體育愛好者又是健身專家,則此訂單很容易被計(jì)入兩次。通常,多對(duì)多關(guān)系通過使用橋接表或中間表分解為兩個(gè)一對(duì)多關(guān)系來進(jìn)行管理,如圖 1 中所示。圖 1:多對(duì)多示例在多維模型中,通過標(biāo)識(shí)橋接表,然后將該橋接表與模型中的其他表相關(guān),可以直接在此數(shù)據(jù)模型中定義并生成多對(duì)多關(guān)系。當(dāng)聚合時(shí),Analysis Services 將
15、應(yīng)用非重復(fù)匯總,以確保數(shù)據(jù)總計(jì)正確匯總,而不會(huì)錯(cuò)誤地放大。SQL Server 2012 Analysis Services 表格模型不支持多對(duì)多關(guān)系的定義。但是,您可以使用 DAX 語言來創(chuàng)建處理多對(duì)多關(guān)系的公式。引用關(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)系。層次結(jié)構(gòu)層次結(jié)構(gòu)將數(shù)據(jù)分類到樹結(jié)構(gòu)中,以便于進(jìn)行深化分析。標(biāo)準(zhǔn)層次結(jié)構(gòu)標(biāo)準(zhǔn)層次結(jié)構(gòu)由來自源數(shù)據(jù)中各列的有序級(jí)別組
16、成。例如,產(chǎn)品層次結(jié)構(gòu)可以將產(chǎn)品整理到子類別中,然后進(jìn)一步整理到類別中。在這種情況下,您將具有含三個(gè)級(jí)別的層次結(jié)構(gòu),其中每個(gè)級(jí)別都來自源數(shù)據(jù)的一個(gè)單獨(dú)列。表格模型和維度模型都支持簡(jiǎn)單的層次結(jié)構(gòu)(例如此處介紹的產(chǎn)品層次結(jié)構(gòu))。請(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 語義依賴于屬性關(guān)系。表格建模更簡(jiǎn)單,因?yàn)槟恍枰獎(jiǎng)?chuàng)建屬性關(guān)系。表格模型不預(yù)先計(jì)算聚合,并且 DAX 語義不依賴于標(biāo)識(shí)屬性之間的一對(duì)多關(guān)系,因此在表格建模中,沒有與多維建模的屬性關(guān)系等效的關(guān)系。不
17、規(guī)則層次結(jié)構(gòu)當(dāng)層次結(jié)構(gòu)樹中缺少給定的數(shù)據(jù)元素時(shí),將出現(xiàn)不規(guī)則的層次結(jié)構(gòu)。例如,如果沒有為產(chǎn)品分配子類別,但分配了產(chǎn)品類別,則將出現(xiàn)不規(guī)則的產(chǎn)品層次結(jié)構(gòu)。在這些情況下,您可以選擇在樹中隱藏空隙(不顯示空隙),以便于進(jìn)行深化分析。多維模型本身支持不規(guī)則的層次結(jié)構(gòu);但表格模型不支持此功能。父子層次結(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)理只具有直接下屬,而其他經(jīng)理所具有的每個(gè)直接下屬也有其自己的直接下屬。這種層次結(jié)構(gòu)是通過在源數(shù)據(jù)表的兩列之間創(chuàng)建關(guān)系來建模的,如圖 2 所示。父子源數(shù)據(jù)父
18、子層次結(jié)構(gòu)樹圖 2 父子層次結(jié)構(gòu)通過多維模型本身具有的功能,您可以根據(jù)源數(shù)據(jù)中的關(guān)系來定義和生成父子層次結(jié)構(gòu)。在表格模型中,您可以利用 DAX 函數(shù)來創(chuàng)建在計(jì)算中導(dǎo)航并使用父子結(jié)構(gòu)的公式。有關(guān)如何在表格模型中使用父子層次結(jié)構(gòu)的詳細(xì)信息,請(qǐng)參閱了解 DAX 中父子層次結(jié)構(gòu)的函數(shù) (其他建模功能除數(shù)據(jù)關(guān)系和層次結(jié)構(gòu)外,還有其他建模功能可以幫助您選擇最佳的建模體驗(yàn):· 透視:通過透視,您可以定義數(shù)據(jù)模型的子集,以簡(jiǎn)化最終用戶的瀏覽體驗(yàn)。多維模型和表格模型中都提供了透視。· 翻譯:借助于翻譯,多維模型可以用計(jì)算機(jī)的本地化設(shè)置所指定的語言來顯示維度、屬性、度量值、計(jì)算成員以及其他對(duì)象
19、名稱和維度成員值。啟用此功能要求模型開發(fā)人員提供已翻譯的對(duì)象名稱,并引用源數(shù)據(jù)中包含已翻譯的維度成員值的列。表格模型不提供此功能。· 操作:通過操作,最終用戶可以運(yùn)行 Reporting Services 報(bào)表、導(dǎo)航到 URL 或根據(jù)發(fā)生操作的單元的上下文啟動(dòng)外部操作。例如,通過使用操作,最終用戶可以啟動(dòng)一個(gè)網(wǎng)頁,該網(wǎng)頁顯示的公司產(chǎn)品目錄會(huì)自動(dòng)篩選為用戶瀏覽過的一個(gè)或多個(gè)產(chǎn)品。多維模型本身就支持操作,許多客戶端工具(如 Excel 和 Reporting Services)也允許用戶執(zhí)行操作。在 SQL Server 2012 中,不支持使用 SQL Server Data Tool
20、s 在表格模型中創(chuàng)建操作。· 鉆?。恒@取使您能夠?qū)Ш降侥P椭写鎯?chǔ)的詳細(xì)數(shù)據(jù)。多維建模和表格建模都提供了鉆取功能。多維模型還可讓您創(chuàng)建鉆取操作,以便可以通過指定鉆取操作返回的列以及啟用此操作的多維數(shù)據(jù)集空間來自定義鉆取體驗(yàn)。· 寫回:寫回是預(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ī)則,為最終用戶提供分析
21、功能。表格建模和多維建模都提供了豐富的公式語言以實(shí)現(xiàn)業(yè)務(wù)邏輯。多維模型利用 MDX,而表格模型利用 DAX。在深入探討每個(gè)范例的一些高級(jí)業(yè)務(wù)邏輯方案之前,需要首先對(duì)在多維建模和表格建模中如何使用行級(jí)轉(zhuǎn)換、聚合值和計(jì)算來應(yīng)用業(yè)務(wù)邏輯有一個(gè)基本的了解。行級(jí)轉(zhuǎn)換您可能需要執(zhí)行源數(shù)據(jù)中未提供的計(jì)算和數(shù)據(jù)轉(zhuǎn)換。例如,源數(shù)據(jù)可能具有“銷售額”列和“每日匯率”列,但缺少換算為外幣的銷售額,或者源數(shù)據(jù)可能具有“員工姓氏”和“員工名字”,但缺少串聯(lián)起來的“員工全名”。請(qǐng)注意,在這些示例中,計(jì)算或數(shù)據(jù)操作必須在行級(jí)、未聚合的數(shù)據(jù)上發(fā)生。在多維建模中,必須先對(duì)未聚合的數(shù)據(jù)執(zhí)行行級(jí)轉(zhuǎn)換,然后才能將數(shù)據(jù)加載到模型中;或
22、者必須先執(zhí)行行級(jí)轉(zhuǎn)換,然后才能查詢模型。您可以在數(shù)據(jù)源系統(tǒng)中應(yīng)用轉(zhuǎn)換,或編寫一個(gè)在 Analysis Services 查詢?cè)磾?shù)據(jù)庫時(shí)應(yīng)用的 SQL 表達(dá)式,以轉(zhuǎn)換維度屬性(如員工姓名)。數(shù)值數(shù)據(jù)的行級(jí)轉(zhuǎn)換可以通過使用 SQL 表達(dá)式在數(shù)據(jù)加載到 Analysis Services 之前執(zhí)行;或者,可以使用 MDX 表達(dá)式以及 Scope 語句將計(jì)算限制在行級(jí)范圍內(nèi),從而應(yīng)用行級(jí)轉(zhuǎn)換。如果在加載數(shù)據(jù)前應(yīng)用轉(zhuǎn)換,Analysis Services 可以預(yù)聚合數(shù)值。如果使用 Scope 語句應(yīng)用轉(zhuǎn)換,則將在查詢時(shí)發(fā)生聚合。在表格建模中,行級(jí)轉(zhuǎn)換是使用計(jì)算列創(chuàng)建的。當(dāng)您創(chuàng)建計(jì)算列時(shí),您需要將該列添加
23、到模型的特定表中,然后使用 DAX 公式來定義該列的值。然后,針對(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) 過程)。聚合值在多維建模中,聚合值是通過使用度量值來創(chuàng)建的。Analysis Services OLAP 引
24、擎使用聚合函數(shù)(如 SUM、COUNT、MIN、MAX 和 DISTINCT COUNT 以及其他函數(shù))來預(yù)聚合多維數(shù)據(jù)集的度量值。在多維數(shù)據(jù)集處理過程中,每個(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í),需使用度量值:(1) 這些元素位于您的源數(shù)據(jù)的最低詳細(xì)級(jí)別;(2) 這些元素要求使用其中一個(gè)本機(jī)多維數(shù)據(jù)集聚合函數(shù)進(jìn)行匯總。在表格建模中,您也
25、可以使用度量值來創(chuàng)建聚合值??梢酝ㄟ^選擇一列,然后指定聚合函數(shù)(SUM、COUNT、DISTINCT COUNT、MIN、MAX 或 AVERAGE),以創(chuàng)建度量值;也可以編寫 DAX 表達(dá)式來指定要用來對(duì)度量值進(jìn)行聚合的函數(shù)。在表格建模中,行級(jí)數(shù)據(jù)存儲(chǔ)在內(nèi)存中,并在查詢時(shí)計(jì)算聚合。如下一部分所述,在表格建模中,度量值還可以用來應(yīng)用計(jì)算。這可以包含基于多個(gè)聚合列的計(jì)算。計(jì)算在多維建模中,使用 MDX 來創(chuàng)建計(jì)算。MDX 既是表達(dá)式語言,也是查詢語言,它具有的函數(shù)本身就理解多維數(shù)據(jù)集的維度、層次結(jié)構(gòu)、屬性關(guān)系和度量值的設(shè)計(jì)。因此,您可以創(chuàng)建簡(jiǎn)潔且強(qiáng)大的表達(dá)式,在多個(gè)數(shù)據(jù)上下文中應(yīng)用業(yè)務(wù)邏輯。您可
26、以在多維數(shù)據(jù)集的計(jì)算腳本中創(chuàng)建并存儲(chǔ) MDX 計(jì)算,從而可以控制應(yīng)用邏輯的順序。計(jì)算成員是最常見的 MDX 計(jì)算。計(jì)算成員是在對(duì)數(shù)據(jù)執(zhí)行預(yù)聚合后,在查詢時(shí)進(jìn)行計(jì)算的??梢栽谌魏尉S度中創(chuàng)建計(jì)算成員。當(dāng)在度量值維度中創(chuàng)建計(jì)算成員時(shí),計(jì)算成員通常稱為“計(jì)算度量值”。計(jì)算成員可以非常簡(jiǎn)單,只包含基本的數(shù)學(xué)運(yùn)算,如單位銷售額(銷售額/單位)或每個(gè)人的支出(支出/總?cè)藬?shù));也可以非常復(fù)雜,需要應(yīng)用特定的業(yè)務(wù)規(guī)則,如滾動(dòng)三期平均銷售額或年度利潤(rùn)。例如,如果要計(jì)算當(dāng)前時(shí)間段的銷售額并將其表示為父時(shí)間段的百分比,可以使用以下 MDX 計(jì)算。Measures.Sales Amount / (Date.Calend
27、ar.CurrentMember.Parent,Measures.Sales Amount)除度量值維度之外,在其他維度中創(chuàng)建計(jì)算成員會(huì)向該維度中的某個(gè)屬性添加一個(gè)值。例如,如果您有一個(gè)包含顏色列表的維度屬性,您可能希望添加一個(gè)計(jì)算成員 Primary Colors,用于匯總紅、綠和藍(lán)這三種顏色的值。在表格建模中,創(chuàng)建度量值類似于在多維模型的度量值維度中創(chuàng)建一個(gè)計(jì)算成員。在表格建模中,您無法向表中的列添加值,因此,表格建模不支持像在多維模型中的非度量值維度中創(chuàng)建計(jì)算成員那樣的等效功能。范圍分配不僅比計(jì)算度量值更高級(jí),而且功能也更強(qiáng)大。正如前面的“行級(jí)轉(zhuǎn)換”部分所述,您可以使用 Scope 語句
28、來將計(jì)算限制在行級(jí)范圍內(nèi)。但是,也可以使用 Scope 語句指定您要應(yīng)用計(jì)算的任何多維數(shù)據(jù)集單元范圍。范圍分配在查詢之前進(jìn)行編譯,它使 Analysis Services 能夠在查詢計(jì)算時(shí)提供優(yōu)化的執(zhí)行路徑。在給定強(qiáng)度的情況下,范圍分配不僅能夠執(zhí)行多個(gè)計(jì)算度量值的工作,還能夠更高效地完成工作。例如,在預(yù)算編制解決方案中,您希望將東部區(qū)域下一年的預(yù)算指定為今年預(yù)算的 90%,將西部區(qū)域的新預(yù)算指定為今年預(yù)算的 75%,將南部區(qū)域的新預(yù)算指定為今年預(yù)算的 105%,另外,將北部區(qū)域的新預(yù)算指定為與今年的預(yù)算相同。在本示例中,不需要使用包含嵌套 IF 語句的一個(gè)復(fù)雜計(jì)算度量值,也不需要使用多個(gè)計(jì)算度
29、量值將每個(gè)預(yù)算方案分隔開來,而是可以使用范圍分配來有效地在區(qū)域級(jí)別應(yīng)用這些比率,然后聚合數(shù)據(jù)總計(jì)。例如,如果您希望使用每日匯率將銷售額轉(zhuǎn)換為外幣,則可以使用以下 MDX 表達(dá)式:Scope(Date.Date);This = Measures.Sales Amount * Measures.Daily FX Rate;End Scope;在表格建模中,您可以使用 DAX 來創(chuàng)建計(jì)算。如前面所述,在表格建模中,您可以通過創(chuàng)建計(jì)算列來應(yīng)用行級(jí)計(jì)算,也可以在通過編寫 DAX 表達(dá)式創(chuàng)建度量值的時(shí)候應(yīng)用計(jì)算。因?yàn)槟@式使用 DAX 行級(jí)函數(shù)和聚合函數(shù)的組合,所以表格模型中的度量值是非常靈活的。您可以應(yīng)
30、用行級(jí)函數(shù),然后應(yīng)用聚合函數(shù),以便您的度量值在聚合之前應(yīng)用計(jì)算;或者您可以先應(yīng)用聚合函數(shù),然后應(yīng)用行級(jí)函數(shù),以便您的度量值在聚合之后應(yīng)用計(jì)算。DAX 公式可以在不同的數(shù)據(jù)上下文(而不僅僅是 Excel 工作表或數(shù)據(jù)透視表的當(dāng)前視圖)中,使用一組特殊的函數(shù)(稱為 FILTER 函數(shù))動(dòng)態(tài)地計(jì)算公式。在最廣泛的意義上,這些函數(shù)對(duì)于 Analysis Services 范圍分配具有類似的作用,因?yàn)樗鼈兪鼓軌蜥槍?duì)特定的行集來定義和執(zhí)行計(jì)算。例如,可以使用 FILTER 函數(shù)處理上述的預(yù)算編制示例。業(yè)務(wù)邏輯方案既然您已經(jīng)很好地了解如何在 MDX 和 DAX 中創(chuàng)建和應(yīng)用基本業(yè)務(wù)邏輯,那么可以考慮以下計(jì)
31、算方案,以比較和對(duì)比表格建模體驗(yàn)與多維建模體驗(yàn)。層次結(jié)構(gòu)邏輯如前所述,層次結(jié)構(gòu)為業(yè)務(wù)用戶提供了一種在數(shù)據(jù)分析過程中淺化和深化的方法。在某些情況下,創(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ì)算。MDX 和 DAX 都提供了相應(yīng)的函數(shù)來處理整理到層次結(jié)構(gòu)中的數(shù)據(jù),并且可以創(chuàng)建類似父項(xiàng)百分比這樣的計(jì)算;但 MDX 函數(shù)通常更簡(jiǎn)單且更易于使用。例如,在 MDX 中,這是在產(chǎn)品
32、維度中提供父項(xiàng)百分比的表達(dá)式。Measures.Sales Amount /(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)自定
33、義匯總盡管統(tǒng)一的數(shù)據(jù)匯總在許多情況下均適用,但在其他一些情況下,您可能希望對(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)開支”。多維模型不僅本身支持父子層次結(jié)構(gòu),而且它們還提供內(nèi)置的帳戶智能,這使您能夠在帳戶級(jí)別輕松地應(yīng)用驅(qū)動(dòng)數(shù)據(jù)匯總的一元運(yùn)算符和 MDX 公式。在表格模型中,父子或帳戶智能不是內(nèi)置的,但您可以使用計(jì)算列和度量值的組合來生成父子層次結(jié)構(gòu)并應(yīng)用自定義匯總,以生成您自己的解決方案。半累加性度
34、量值一般來說,半累加性度量值是那些在所有維度(日期除外)中統(tǒng)一進(jìn)行聚合的度量值。半累加性度量值的示例包括期初余額和期末余額。對(duì)于這些度量值,您要應(yīng)用特殊邏輯,以便按時(shí)間段對(duì)數(shù)據(jù)進(jìn)行正確匯總。畢竟,3 月份的庫存現(xiàn)有量余額不是 3 月份中所有日期的現(xiàn)有量總和。此外,此余額還應(yīng)正確地適用于所有日期屬性(如季度和年份)。例如,第 1 季度的庫存現(xiàn)有量余額應(yīng)與在 3 月 31 日?qǐng)?bào)告的余額相同(假設(shè) 3 月 31 日是第 1 季度的最后一天)。多維模型通過特殊的聚合函數(shù)(如 First Child、Last Child、FirstNonEmptyChild 和 LastNonEmptyChild)為半
35、累加性度量值提供內(nèi)在支持。如果這些聚合函數(shù)不能滿足您的特定邏輯要求,您還可以編寫自定義 MDX 公式。表格模型提供類似的函數(shù)(如 ClosingBalanceMonth 和 OpeningBalanceMonth)。還有一些可應(yīng)用于其他日期屬性(如季度和年份)的附加函數(shù)。時(shí)間智能幾乎您所遇到的每個(gè) BI 解決方案都需要時(shí)間智能。時(shí)間智能包括計(jì)算年初至今的匯總以及與前一年進(jìn)行比較的功能。MDX 和 DAX 都提供了時(shí)序函數(shù),但是它們所使用的數(shù)據(jù)模型設(shè)計(jì)稍有不同。多維模型通過 Analysis Services 商業(yè)智能向?qū)峁┝爽F(xiàn)成的時(shí)間智能。使用此向?qū)?,可以將時(shí)間計(jì)算添加到時(shí)間維度的設(shè)計(jì)中,還
36、可將其應(yīng)用于模型中的所有度量值。使用此向?qū)е皇巧蓵r(shí)間計(jì)算的其中一種方法,您還可以在多維模型中編寫您自己的 MDX 計(jì)算。在表格模型中,盡管沒有用于創(chuàng)建時(shí)間智能計(jì)算的向?qū)?,但您可以通過創(chuàng)建利用各種函數(shù)(包括 TOTALMTD、TOTALYTD 以及 SAMEPERIODSLASTYEAR)的 DAX 公式來手動(dòng)創(chuàng)建計(jì)算。KPI關(guān)鍵績(jī)效指標(biāo) (KPI) 使用一個(gè)可視化的指示器(如紅綠燈)來確定您要監(jiān)視的特定度量值相對(duì)于目標(biāo)值的完成程度。多維模型和表格模型都支持關(guān)鍵績(jī)效指標(biāo) (KPI)。兩者都能夠?yàn)槎攘恐抵付繕?biāo),并能夠使用實(shí)際值與目標(biāo)值的比較來評(píng)估度量值的性能狀態(tài)。多維模型提供了附加的功能來評(píng)估
37、 KPI 的趨勢(shì),并分配一個(gè)單獨(dú)的可視指示器來表示 KPI 隨時(shí)間推移的效果。貨幣換算貨幣換算要求您將貨幣數(shù)據(jù)從一種或多種源貨幣轉(zhuǎn)換為一種或多種報(bào)表貨幣。例如,如果您的組織使用歐元、日元和美元處理銷售事務(wù),為了在整個(gè)組織范圍內(nèi)合并銷售報(bào)表,您需要將銷售事務(wù)轉(zhuǎn)換為一種或多種報(bào)表貨幣。無論是采用哪種建模體驗(yàn)來實(shí)現(xiàn)貨幣換算,您都必須能夠訪問貨幣匯率數(shù)據(jù)并在模型中加入這些數(shù)據(jù)。在多維模型中,可以使用 Analysis Services 商業(yè)智能向?qū)韯?chuàng)建 MDX 貨幣換算計(jì)算,在經(jīng)優(yōu)化后這種方法可以支持多種源貨幣和報(bào)表貨幣。在表格模型中,可以通過創(chuàng)建 DAX 公式來生成您自己的貨幣換算解決方案。命名集
38、在多維建模中,使用命名集可以讓您返回在報(bào)表應(yīng)用程序中常用的一組維度成員。例如,您可能希望創(chuàng)建一個(gè)返回前 12 個(gè)月數(shù)據(jù)的命名集。通過在多維數(shù)據(jù)集內(nèi)創(chuàng)建此命名集,您可以集中定義此命名集的邏輯,以便從任何報(bào)表應(yīng)用程序中訪問此命名集,并簡(jiǎn)化報(bào)表應(yīng)用程序中存儲(chǔ)的邏輯。若要?jiǎng)?chuàng)建此 Last 12 Months 命名集,您可以使用下面的 MDX 表達(dá)式。Create Set CurrentCube.Last 12 Months AsMax(Date.Calendar.Month).Lag(11):Max(Date.Calendar.Month)命名集在表格建模中不可用。數(shù)據(jù)訪問和存儲(chǔ)性能和可伸縮性性能和可
39、伸縮性是任何成功的 BI 解決方案所必須考慮的關(guān)鍵因素。由于每種建模體驗(yàn)利用不同的基礎(chǔ)技術(shù),因此它們具有不同的性能特征和行為,您必須了解這些性能特征和行為,才能正確地考慮哪種建模體驗(yàn)最能滿足您的需要。多維模型如本白皮書前面所述,Analysis Services 的多維模型使用 OLAP 引擎。在磁盤上,OLAP 數(shù)據(jù)可以存儲(chǔ)在 MOLAP 和 ROLAP 數(shù)據(jù)體系結(jié)構(gòu)中。在 MOLAP 中,數(shù)據(jù)通過典型的 3 倍壓縮率以優(yōu)化的多維格式存儲(chǔ)在磁盤上。在 ROLAP 中,數(shù)據(jù)存儲(chǔ)在源關(guān)系數(shù)據(jù)庫中。當(dāng)您考慮性能時(shí),分兩方面來考慮通常是很有用的:查詢性能和處理性能。查詢性能查詢性能直接影響最終用戶體
40、驗(yàn)的質(zhì)量。因此,它是用于評(píng)估 OLAP 實(shí)施成功與否的主要基準(zhǔn)。Analysis Services 提供各種機(jī)制來加速查詢性能,包括聚合、緩存和索引數(shù)據(jù)檢索。此外,您可以通過優(yōu)化您的維度屬性、多維數(shù)據(jù)集和 MDX 查詢的設(shè)計(jì)來改善查詢性能。優(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ù)。如果緩存中沒有數(shù)據(jù),它將嘗試從聚合中檢索數(shù)據(jù)。如果聚合不存在,它將從度量值組的分區(qū)中檢索數(shù)據(jù)
41、。在設(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)存來存儲(chǔ)所有維度數(shù)據(jù),并留出相應(yīng)的空間來緩存查詢結(jié)果。在查詢過程中,內(nèi)存主要用于保存存儲(chǔ)引擎中的緩存結(jié)果,以及查詢處理器的緩存。若要優(yōu)化緩存的優(yōu)勢(shì),通??梢詫?shù)據(jù)預(yù)加載到其中一個(gè)緩存或這兩個(gè)緩存中,以提高查詢響應(yīng)性能。這可以通過預(yù)執(zhí)行一個(gè)或多個(gè)查詢
42、或者使用創(chuàng)建緩存語句來實(shí)現(xiàn)。處理性能處理是刷新 Analysis Services 數(shù)據(jù)庫中數(shù)據(jù)的操作。處理性能越高,用戶就可以越快地訪問刷新后的數(shù)據(jù)。Analysis Services 提供了許多可用來影響處理性能的機(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è)計(jì)和單獨(dú)的刷新計(jì)劃,這樣可以極大地優(yōu)化處理性能。對(duì)于每個(gè)事實(shí)數(shù)據(jù)表,還可以具有 MOLAP 分區(qū)和 ROLAP 分區(qū)的組合
43、。這種分區(qū)策略可用于提供實(shí)時(shí)查詢,也可用于訪問那些因?yàn)樘蠖鵁o法處理到多維數(shù)據(jù)集的數(shù)據(jù)集。通過此類查詢和處理優(yōu)化技術(shù),可以大大增強(qiáng)多維模型的處理性能,甚至可以處理 TB 級(jí)的數(shù)據(jù)。有關(guān)性能優(yōu)化的詳細(xì)信息,請(qǐng)參閱 Analysis Services 2008 R2 性能指南 (表格模型表格模型可以使用 xVelocity 分析引擎(此引擎提供了內(nèi)存中數(shù)據(jù)處理)或 DirectQuery(可將查詢傳遞到源數(shù)據(jù)庫以利用其查詢處理功能)?,F(xiàn)在,您可以將分列數(shù)據(jù)庫和內(nèi)存中數(shù)據(jù)處理的優(yōu)勢(shì)融合在一起了。與傳統(tǒng)存儲(chǔ)相比,分列數(shù)據(jù)庫可實(shí)現(xiàn)更高的壓縮率,通常為 10 倍壓縮率,具體取決于數(shù)據(jù)基數(shù)。數(shù)據(jù)基數(shù)主要用于
44、描述單個(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í),引擎會(huì)執(zhí)行內(nèi)存掃描以檢索數(shù)據(jù)并動(dòng)態(tài)計(jì)算聚合,而不需要磁盤 I/O 處理。此方法可以提供非常高的查詢性能,而不需要特殊優(yōu)化和聚合管理。優(yōu)化表格模型查詢性能的最好最簡(jiǎn)便的方法是盡量增大可用內(nèi)存。從可伸縮性角度來看,數(shù)據(jù)量主要受物理內(nèi)存的限制
45、。強(qiáng)烈建議您提供足夠的內(nèi)存,以容納表格模型中的所有數(shù)據(jù)。在內(nèi)存受限的情況下,內(nèi)存中引擎還可根據(jù)物理內(nèi)存提供基本的分頁支持。此外,一些服務(wù)器端配置設(shè)置使 IT 部門能夠更精細(xì)地管理可用于表格模型的內(nèi)存。有關(guān)表格模型內(nèi)存配置的詳細(xì)信息,請(qǐng)參閱內(nèi)存屬性 (處理性能與多維模型相比,表格模型在處理性能上主要有兩方面的差異:· 與多維模型不同,表格模型是將數(shù)據(jù)直接加載到內(nèi)存中,而不需要將數(shù)據(jù)寫入磁盤。· 因?yàn)楸砀衲P筒粚?shù)據(jù)分類到維度和度量值組,所以處理過程可能要靈活得多。這兩點(diǎn)差異表明:每次數(shù)據(jù)刷新所需的開銷較小,這反過來會(huì)加快周轉(zhuǎn)時(shí)間和提高靈活性。請(qǐng)考慮這樣一個(gè)示例:在您的組織中,
46、銷售代表定期從一個(gè)區(qū)域轉(zhuǎn)至另一個(gè)區(qū)域是很常見的現(xiàn)象。業(yè)務(wù)用戶想要查看按最新的區(qū)域和銷售代表分配情況匯總的銷售數(shù)據(jù)。在多維模型中,要完成此任務(wù),首先必須刷新銷售組織維度。在刷新銷售組織維度后,必須刷新銷售度量值組分區(qū)。刷新銷售分區(qū)會(huì)同時(shí)更新詳細(xì)數(shù)據(jù)和聚合。數(shù)據(jù)準(zhǔn)備的最后一步(作為最佳實(shí)踐)是準(zhǔn)備 Analysis Services 查詢緩存,以便將磁盤中最有用的數(shù)據(jù)檢索到內(nèi)存中。根據(jù)您的數(shù)據(jù)模型設(shè)計(jì)、數(shù)據(jù)大小和您選擇的特定處理技術(shù)(遞增處理與完全處理),這一過程可能需要幾分鐘或幾小時(shí)。好消息是,現(xiàn)在有許多行之有效的技術(shù),可以幫助 BI 專業(yè)人員在日常工作中優(yōu)化多維模型的處理性能,并且在數(shù)據(jù)處理要
47、求與數(shù)據(jù)可用性要求之間取得平衡?,F(xiàn)在,請(qǐng)?jiān)诒砀衲P椭锌紤]相同的方案。在表格模型中,沒有維度和度量值組的概念。而是將數(shù)據(jù)整理到相互之間具有關(guān)系的表中。假定銷售組織數(shù)據(jù)和銷售數(shù)據(jù)分別位于各自的表中,而這些表之間通過各個(gè)銷售代表建立相應(yīng)的關(guān)系。通過這種設(shè)計(jì),當(dāng)您刷新銷售組織表時(shí),它將自動(dòng)更新所有受影響的計(jì)算列、關(guān)系和用戶層次結(jié)構(gòu)。這意味著,銷售數(shù)據(jù)將自動(dòng)反映更新的銷售區(qū)域匯總,而無需重新處理銷售數(shù)據(jù)。當(dāng)維度快速發(fā)生變化且您需要數(shù)據(jù)反映最新的更新時(shí),這種靈活性可提供巨大的優(yōu)勢(shì)。此外還請(qǐng)注意,如果使用表格模型,也無需生成聚合、將數(shù)據(jù)寫入磁盤或準(zhǔn)備查詢緩存以便將數(shù)據(jù)放入內(nèi)存。在表格模型中,數(shù)據(jù)將從磁盤直接
48、進(jìn)入內(nèi)存且立即可以使用。與多維模型類似,表格模型也可以將表數(shù)據(jù)分解到分區(qū),而不再需要進(jìn)行多余的數(shù)據(jù)處理。例如,可以將較大的表分解到多個(gè)分區(qū),如當(dāng)前年份的每個(gè)月對(duì)應(yīng)于一個(gè)月份分區(qū),而先前的每個(gè)年份對(duì)應(yīng)于一個(gè)年份分區(qū)。通過這種方法,您可以隔離那些需要刷新的處理分區(qū)。請(qǐng)注意,雖然表格模型可以并行處理多個(gè)表,但不能并行處理單個(gè)表的各分區(qū),這一點(diǎn)與多維模型不同。DirectQuery在表格模型中,除了使用 xVelocity 內(nèi)存中模式之外,BI 專業(yè)人員還可以使用 DirectQuery 模式來生成表格模型。DirectQuery 可用于具有 SQL Server 數(shù)據(jù)源的表格模型。DirectQue
49、ry 通過將 DAX 查詢和計(jì)算傳遞到源數(shù)據(jù)庫以利用 SQL Server 的功能,使您能夠繞過數(shù)據(jù)處理。這對(duì)于要求頻繁刷新的大量數(shù)據(jù)而言尤其有用。但使用 DirectQuery 時(shí),不支持計(jì)算列和某些 DAX 函數(shù)。可編程性分析管理對(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 語義模型封裝的多維建模和表格建模的一個(gè)優(yōu)勢(shì)。盡
50、管從內(nèi)部而言表格模型和維度模型是截然不同的,但 BISM 提供了相同的外部界面。盡管您可以使用 AMO 同時(shí)對(duì)表格模型和多維模型進(jìn)行編程,但它對(duì)表格模型而言是一種不太直觀的界面。有關(guān)詳細(xì)信息(包括表格模型 AMO 示例代碼),請(qǐng)參閱 Analysis Services 教程 (安全性具有適當(dāng)?shù)臄?shù)據(jù)安全性策略對(duì)于確保適當(dāng)?shù)挠脩裟軌蛟L問適當(dāng)?shù)臄?shù)據(jù)而言非常重要。組織必須控制數(shù)據(jù)訪問權(quán)限,以使其數(shù)據(jù)資產(chǎn)保持安全并遵守隱私法規(guī)。多維模型和表格模型都提供了一組可靠的功能,可滿足廣泛的安全性要求。具體的功能方面存在一些細(xì)微的差異,在選擇最能滿足您的安全性需要的建模體驗(yàn)之前,請(qǐng)務(wù)必了解這些差異。在 Analy
51、sis Services 中,您應(yīng)通過創(chuàng)建角色并向角色授予權(quán)限來管理多維項(xiàng)目和表格項(xiàng)目的安全性。接下來,您將 Windows 用戶名和組添加到角色,進(jìn)而根據(jù)角色的權(quán)限授予相應(yīng)的用戶訪問權(quán)限。行級(jí)/屬性級(jí)安全性在多維項(xiàng)目中,您可以使用“維度數(shù)據(jù)安全性”的概念來管理行級(jí)訪問權(quán)限。若要為角色實(shí)現(xiàn)維度數(shù)據(jù)安全性,您需要通過選擇或取消選擇維度成員來授予或拒絕對(duì)維度數(shù)據(jù)的訪問權(quán)限。還可以使用 MDX 表達(dá)式定義一組成員,以實(shí)現(xiàn)更復(fù)雜的安全性配置。還可以指定是應(yīng)向角色授予還是拒絕對(duì)新維度成員的訪問權(quán)限。授予或拒絕對(duì)某個(gè)維度成員的訪問權(quán)限將影響角色對(duì)相關(guān)的維度成員所擁有的訪問權(quán)限。例如,如果您限制某個(gè)角色以使
52、其只能訪問 Mountain Bikes 產(chǎn)品子類別,則該角色的成員只能查看 Bikes 產(chǎn)品類別以及產(chǎn)品和銷售額中屬于 Mountain Bikes 子類別的內(nèi)容。在表格項(xiàng)目中,您可以通過授予對(duì)表中各行的訪問權(quán)限來實(shí)現(xiàn)行級(jí)安全性。在 SQL Server Data Tools 表格項(xiàng)目中,可以通過輸入用于篩選表行的 DAX 表達(dá)式來授予權(quán)限。如果新的表行滿足 DAX 篩選器的要求,則角色對(duì)它們具有訪問權(quán)限。您授予的對(duì)于一個(gè)表中某行的訪問權(quán)限將影響角色對(duì)相關(guān)表中的行的訪問權(quán)限。如果兩個(gè)表具有一對(duì)多關(guān)系,則作用于處于關(guān)系中“一方”的表的行篩選器將篩選處于關(guān)系中的“多方”的表中的行,但反過來不成立
53、。例如,如果您限制某個(gè)角色以使其只能查看產(chǎn)品子類別表中的 Mountain Bikes 行,則該角色的成員只能查看產(chǎn)品和銷售額表中與 Bikes 子類別相關(guān)的行。但是,該角色的成員仍可以查看產(chǎn)品類別表中的所有行(Bikes、Clothing 等等)。動(dòng)態(tài)安全性您的組織可能需要根據(jù)用戶的 ID 或其他動(dòng)態(tài)條件限制對(duì)數(shù)據(jù)的訪問權(quán)限。例如,同事只能查看自己的表現(xiàn)和人力資源 (HR) 數(shù)據(jù)。但是,為組織中的每個(gè)人創(chuàng)建一個(gè)單獨(dú)的安全角色可能是不現(xiàn)實(shí)的。不過,您可以實(shí)現(xiàn)動(dòng)態(tài)安全性,這樣就可以基于用戶 ID 或某種其他動(dòng)態(tài)條件來實(shí)現(xiàn)安全性邏輯。表格項(xiàng)目和多維項(xiàng)目都支持動(dòng)態(tài)安全性。如果您的數(shù)據(jù)在用戶 ID 與
54、數(shù)據(jù)用戶的訪問權(quán)限之間存在某種關(guān)系,則可以在用于管理權(quán)限的 MDX 或 DAX 表達(dá)式中加入這種關(guān)系,從而可以配置動(dòng)態(tài)、基于用戶的安全性。單元級(jí)和高級(jí)安全性對(duì)于許多應(yīng)用程序,需要使用更復(fù)雜的條件(而不僅僅是表中的某行)來限制數(shù)據(jù)訪問權(quán)限。我們以員工滿意度調(diào)查為例,其中匯總了來自反饋調(diào)查的結(jié)果。這些模型通常包含高度敏感的數(shù)據(jù),個(gè)人的調(diào)查回復(fù)必須受保護(hù)。盡管此模型可能不包含回復(fù)者的姓名,但由于抽樣調(diào)查的規(guī)模足夠小,因此可能能夠判斷出各回復(fù)者的身份。在此類情況下,您可能需要實(shí)現(xiàn)更復(fù)雜的邏輯,這一邏輯需要考察抽樣大小,并且僅當(dāng)回復(fù)數(shù)量大于特定的回復(fù)計(jì)數(shù)時(shí),才允許訪問生成的度量值。此外,一些特定的問題和
55、度量組合僅限人力資源 (HR) 部門的人查看。多維項(xiàng)目本身就允許您實(shí)現(xiàn)表格項(xiàng)目中未提供的高級(jí)安全性功能。在多維項(xiàng)目中,您可以實(shí)現(xiàn)單元級(jí)安全性,以限制對(duì)模型中特定的單元或一組單元的訪問權(quán)限。表格模型中不提供單元級(jí)安全性。此外,多維項(xiàng)目還可以讓您控制是否使用直觀合計(jì)、授予或拒絕鉆取至詳細(xì)數(shù)據(jù)的權(quán)限,以及為每個(gè)角色創(chuàng)建默認(rèn)成員。在多維項(xiàng)目中,當(dāng)將數(shù)據(jù)處理到模型中時(shí)將計(jì)算預(yù)聚合的匯總值,以改善查詢響應(yīng)時(shí)間。例如,Sales for All Products(所有產(chǎn)品的銷售額)就是一個(gè)預(yù)先計(jì)算的值。維度數(shù)據(jù)安全性在處理數(shù)據(jù)之后應(yīng)用,因此,即使只向用戶授予訪問 Bike 類別的權(quán)限,默認(rèn)情況下,Sales
56、 for All Products(所有產(chǎn)品的銷售額)的值仍將是 Accessories、Bikes、Clothing 等的銷售額總和。這可能是也可能不是您希望角色成員查看的值。在這種情況下,如果您需要將 Sales for All Products(所有產(chǎn)品的銷售額)的值限制為 Sales for Bicycles(自行車銷售額)的值,必須啟用直觀合計(jì)。啟用直觀合計(jì)將限制匯總值,以使它們必須等于角色有權(quán)訪問的詳細(xì)值的總和。這一更改將影響查詢響應(yīng)時(shí)間,因?yàn)楸仨氃诓樵儠r(shí)計(jì)算匯總值。表格項(xiàng)目不預(yù)先計(jì)算匯總值,因此,匯總值始終等于詳細(xì)值的總和,也就是說,在表格模型中始終啟用直觀合計(jì)。在多維模型中,您可以按角色啟用權(quán)限來鉆取至詳細(xì)數(shù)據(jù)。在表格模型中,角色不用于控制對(duì)鉆取功能的訪問。而是所有角色都可以鉆取至詳細(xì)信息。在多維模型中,您可以為維度中的每個(gè)屬性指定默認(rèn)成員。默認(rèn)成員的行為類似于自動(dòng)應(yīng)用的篩選器。例如,如果 Year(年份)的默認(rèn)成員為 2012,則默認(rèn)情況下僅顯示 2012 年的數(shù)據(jù)。但是,用戶可以選擇查看不同年份的數(shù)據(jù)或查看所有年份的數(shù)據(jù)。在多維模型中,可以為每個(gè)屬性配置一個(gè)應(yīng)用于所有角色的默認(rèn)成員,也可以按角色指定不同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)士怎么弄課題申報(bào)書
- 鄭州課題申報(bào)書
- 教育課題申報(bào)立項(xiàng)書范文
- 怎么搜到課題項(xiàng)目申報(bào)書
- epc和融資合同范例
- 課題立項(xiàng)申報(bào)書成果形式
- 美發(fā)教學(xué)課題申報(bào)書
- 課題申報(bào)書封面需蓋章嗎
- 農(nóng)村房產(chǎn)協(xié)議合同范例
- 包工清包合同范本
- GB/T 8813-2020硬質(zhì)泡沫塑料壓縮性能的測(cè)定
- GB/T 15057.2-1994化工用石灰石中氧化鈣和氧化鎂含量的測(cè)定
- 潔凈廠房監(jiān)理實(shí)施細(xì)則
- 哈工大研究生課程-高等結(jié)構(gòu)動(dòng)力學(xué)-第四章課件
- 當(dāng)代教育心理學(xué)(范圍)課件
- 完整版漢語語法知識(shí)課件
- 2023年湖南工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試筆試題庫及答案解析
- 2022年山東交通職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試筆試試題及答案解析
- 法院卷宗范本
- 公司戰(zhàn)略與風(fēng)險(xiǎn)管理教案
- 自然辯證法概論課件:自然辨證法概論
評(píng)論
0/150
提交評(píng)論