精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺談SSAS計算中MDX性能改進的幾個技巧

開發(fā) 開發(fā)工具
本文提供了一些簡單的技巧,可以幫助你在SSAS的計算中表現(xiàn)出最佳的性能。其中一些是在SSAS 2005/2008中新開發(fā)的函數(shù)。

1.使用半加性度量值替代Calculation

這算是半加性度量值函數(shù)的模擬能力之一,但是,有些只在SSAS Enterprise SKU版本中才支持。但是半加性函數(shù)操作更快,差不多是MDX腳本兩本的速度

2.使用一元操作符替代Calculation

服從分配律一元操作符(與位置順序無關(guān)的操作符)一般來說要比同樣作用的賦值操作快兩倍。那是不是所有的Calculation都要抽取出來,然后用一元操作符替換呢,答案是否定的。例外就是那些不服從分配律的一元操作符(包括*,/或者數(shù)字值)。在這種情況下,才會有可能改進性能。

3.減小集合計算的大小

當計算值是基于集合,使用NONEMPTY函數(shù)減小集合的大小。例如,當計算城市間每個產(chǎn)品的銷售平均值,這個查詢大約耗時1分46秒,在我的機器上:

  1. with member measures.x as avg(existing  
  2. [Product].[Product].[Product].members*[Customer].[Customer Geography].[City].members,  
  3. [Measures].[Internet Sales Amount])  
  4. select [Date].[Calendar].[Month].members on 0,  
  5. non empty [Product].[Subcategory].members on 1  
  6. from [Adventure Works] where measures.x 

但是添加了NONEMPTY,耗時大約39秒:

  1. with member measures.x as avg(existing   
  2. nonempty( [Product].[Product].[Product].members*[Customer].[Customer Geography].[City].members,[Measures].[Internet Sales Amount])  
  3. , [Measures].[Internet Sales Amount])  
  4. select [Date].[Calendar].[Month].members on 0,  
  5. non empty [Product].[Subcategory].members on 1  
  6. from [Adventure Works] where measures.x 

避免賦給cell像0, Null, “N/A”, “-“ 這樣的值
之前翻譯的文章已經(jīng)提過了,AS的引擎在排除空行方面是很高效的。下面的查詢使用"-"替換了null值,并且non empty不會排出它們:

  1. with member measures.x as  
  2. iif( not isempty([Measures].[Internet Sales Amount]),[Measures].[Internet Sales Amount],"-")  
  3. select descendants([Date].[Calendar].[Calendar Year].&[2004] ) on 0,  
  4. non empty [Customer].[Customer Geography].[Customer].members on 1  
  5. from [Adventure Works]  
  6. where measures.x 

Non empty操作符不能用來格式化的值上,因此要使用格式化字符串的方式來替換null值,但卻排除了空的行,耗時大約是一半的時間:

  1. with member measures.x as  
  2. [Measures].[Internet Sales Amount], FORMAT_STRING = "#.00;(#.00);#.00;-" 
  3. select descendants([Date].[Calendar].[Calendar Year].&[2004] ) on 0,  
  4. non empty [Customer].[Customer Geography].[Customer].members on 1  
  5. from [Adventure Works]  
  6. where measures.x 

有的讀者可能已經(jīng)觀察到,上面的兩個查詢其實是不等效的——第二個查詢完全排除了空行。

4.計算格式化值的成本

在某些情況下,采用格式化字符串的成本消耗甚至操作了求值本身。這時候就需要對比是否應用格式化屬性時兩者的執(zhí)行時間,例如:

  1. select [Measures].[Internet Average Sales Amount] on 0 from [Adventure Works] cell properties value  
  2. 如果不帶格式化的結(jié)果明顯快的話,可以使用下面的語句實現(xiàn)格式化:  
  3. scope([Measures].[Internet Average Sales Amount]);  
  4. FORMAT_STRING(this) = "currency";  
  5. end scope; 

執(zhí)行這個查詢(應用了格式化),然后在決定是否采用吧

5.使用屬性

在SSAS 2000中,當要查找一個集合中哪些成員滿足條件通常使用filter函數(shù),例如下面查找男性的顧客:

Filter(Customer.name.Name.members, Customer.name.currentmember.properties(“Gender”) = “Male”)

在SSAS 2005/2008中這樣的方式就要避免了,取而代之的是添加一個hierarchy屬性Customers.Gender :

(Customers.Gender.Male, Measures.Sales)

這個hierarchy屬性可以對終端用戶隱藏,但是對MDX表達式仍然有效。

下面查詢男性客戶的平均銷售額:

Avg(Customer.Name.Name.members*Customers.Gender.Male, Measures.Sales)

為什么使用.properties會慢呢?因為在獲取一個成員的時候每個成員其實都要獲取到,這樣才能得到property的值,EXISTS更快些是因為直接使用了內(nèi)部存儲結(jié)構(gòu)

6.使用IS比較操作符

當比較成員時,比較對象時使用IS,不要像下面這樣:

Iif( [Currency Code].currentmember.Name = “USA”], …)

正確的方法是:

Iif( [Currency Code].currentmember IS [Currency Code].[USA], …)

這是因為***個語句要將成員轉(zhuǎn)型為string,這是要耗時的,而且沒有必要

7.使用NONEMPTY函數(shù)

NONEMPTY函數(shù)(SSAS 2005新增的)在提出元組方面進行了優(yōu)化,因此下面的查詢就不可取了:

Filter(Customer.Name.members, not IsEmpty( ([Measures].[Unit Sales], [Product].[Name].[Xbox])

合適的方式是:

NonEmpty (Customer.Name.members, ([Measures].[Unit Sales], [Product].[Name].[Xbox]))

其實Filter(, Not Isempty()) 和NonEmpty(,) 是等效的,現(xiàn)在引擎已經(jīng)自動做了優(yōu)化

另外:

  1. Count(Filter([year and month].[Month],  
  2. Not IsEmpty(([Project Count], [Layer].[Layer].[web]))   
  3. or Not IsEmpty(([Project Count], [Layer].[Layer].[server])))) 

上面的方式也不可取,應該這樣:

  1. Count(NonEmpty ([year and month].[Month],{([Project Count],   
  2. [Layer].[Layer].[web]), ([Project Count], [Layer].[Layer].[server])}) 

8.條件計算

IIF的存在可能會破環(huán)引擎的優(yōu)化,因為優(yōu)化器不能接受在求值過程中的表達式,這個問題可能以后會解決,但是可以采用一些方案繞過這個問題:

9.條件計算和條件域

IIF有時候用于限定應用于集合成員的計算的域,例如:

  1. This =  
  2. IIF([account].[Account Type].currentmember IS [Account].[Account Type].[Flow],   
  3. ,   
  4. )  

上面的做法不推薦,下面可能會獲得更好的性能:

  1. Scope ([Account].[Account Type].[Flow]);  
  2. This = ;  
  3. End Scope;  
  4. Scope ([Account].[Account Type].[Account Type].members –   
  5. [Account].[Account Type].[Flow]);  
  6. This = ;  
  7. End Scope; 

10.使用ValidMeasure減少計算求值的空間消耗

在SSAS 2005中,每個度量值組都有一個IgnoreUnrelatedDimensions 屬性,這個屬性定義了如何處理與度量值不相關(guān)的維度 --或者忽略這個維度,或者剔除默認成員上的空值。

在定義計算的時候,不要使用這個behavior而是使用ValidMeasuer函數(shù),例如:

  1. scope(leaves([Time]), [Currency].[Currency].members - [Currency].[Currency].[Currency].[USA]  
  2. Scope [Measures].[store Sales];  
  3. This = iif( isempty(validmeasure([Measures].[Exchange Rate])), null, [Measures].[Store Sales]/validmeasure([Measures].[Exchange Rate]));  
  4. End Scope; 

11.使用Sum或Aggregate替代求和運算,

避免:

Create Member measures.x as

(Sales, Country.USA) + (Sales, Country.Canada) + (Sales, Country.Mexico)…

推薦:

Create Member measures.x as Sum({Country.USA, Country.Canada, Country.Mexico}, Sales)

12.在大數(shù)據(jù)量Crossjoin中多重的Hierarchy

如果可能,盡量使在同一緯度中的hierarchy在一起。為什么呢?因為在引擎內(nèi)部有一個exists在進行Crossjoin的相鄰的集合之間。如果一個來自不用緯度的hierarchy插在兩個屬于相同緯度的hierarchy之間,exists的行為會變化,就會增加占用的空間,影響性能

13.緩存計算結(jié)果

在公式引擎內(nèi)部有一個緩存,用于重用計算結(jié)果,但是要進行緩存,這個結(jié)果在Cube空間中就要有一個可定地址的單元格或者元組。

例如,一個應用程序在集合中定義了一個比率:一個值除***值,并且展示為柱狀圖。

***種方法:

  1. with   
  2. member measures.y as  
  3. measures.[unit sales]  
  4. /  
  5. max(customers.[name].[name].members, measures.[unit sales])  
  6. select  
  7. measures.y on 0,  
  8. customers.[name].[name].members on 1  
  9. from sales 

這個執(zhí)行大約需要15秒。這個計算其實效率不高,因為***值其實是不變的,但是每次表達式都要進行求值,下面的查詢就要好一些:

  1. with   
  2. member measures.x as   
  3. max(customers.[name].[name].members, measures.[unit sales])  
  4. member measures.y as  
  5. measures.[unit sales]  
  6. /  
  7. (measures.x,[Customers].[Customers].[All Customers] )  
  8. select   
  9. measures.y on 0,  
  10. customers.[name].[name].members on 1  
  11. from sales 

這個查詢不到1秒!性能得到了數(shù)量級的提升!

不知道讀者有沒有注意到一個問題?為什么SSAS表達式中的measure.y必須要在分母中包含[Customers].[Customers].[All Customers] ,換句話說為什么不能這樣:

  1. with   
  2. member measures.x as   
  3. max(customers.[name].[name].members, measures.[unit sales])  
  4. member measures.y as  
  5. measures.[unit sales]  
  6. /  
  7. (measures.x)  
  8. select   
  9. measures.y on 0,  
  10. customers.[name].[name].members on 1  
  11. from sales  

這是因為我們需要引用緩存值。如果[Customers].[Customers].[All Customers]沒有寫上customer維度的屬性,那么單元格會跟著客戶名的引用和計算值變化,而計算值每次都要重新求值

【編輯推薦】

  1. 在T-SQL中使用臨時表的注意事項
  2. SQL Server數(shù)據(jù)庫管理常用的SQL和T-SQL語句(1)
  3. 用T-SQL操作面試SQL Server開發(fā)人員(1)
  4. SQL Server 2005中的T-SQL
  5. T-SQL實用例句
  6. 微軟SQLServer密碼管理的危險判斷
責任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2014-09-17 11:20:38

AndroidListView技巧

2011-07-05 14:59:17

java

2022-04-06 07:32:41

Java運算符變量

2011-06-08 16:52:16

軟件測試

2015-01-12 15:36:27

云網(wǎng)絡性能云性能監(jiān)測應用性能監(jiān)測

2019-09-26 08:33:51

Nginx技術(shù)Java

2010-03-02 10:08:28

Android源代碼

2021-09-08 09:41:09

開發(fā)Go代碼

2013-06-03 10:02:53

WAF繞過

2019-08-14 15:40:05

Web圖片優(yōu)化前端

2025-08-01 09:01:00

2024-10-24 08:07:25

大語言模型LLMRAG模型

2011-03-02 17:56:40

DB2數(shù)據(jù)庫

2011-04-19 10:53:05

SSAS

2011-08-19 15:48:13

SQL Server 結(jié)果集Sets使用技巧

2021-06-27 06:25:14

代碼優(yōu)化技巧Java

2022-09-07 00:04:37

JavaScript運算符技巧

2010-09-08 15:19:46

生產(chǎn)環(huán)境性能測試風險

2015-02-04 10:32:57

Objective-CSwift

2017-03-13 16:48:05

Git技巧
點贊
收藏

51CTO技術(shù)棧公眾號

黄色的视频在线免费观看| 中文字幕黄色片| 久久国产精品免费精品3p| 欧美日韩中文字幕在线| 亚洲一区二区三区乱码| 午夜精品无码一区二区三区 | 在线观看欧美一区| 亚洲精选一区二区三区| 日本伊人精品一区二区三区观看方式| 色狠狠久久aa北条麻妃| 大乳护士喂奶hd| 日日夜夜亚洲精品| 疯狂做受xxxx高潮欧美日本| 国产福利片一区二区| 亚洲av毛片成人精品| 经典三级在线一区| 国产精品高潮视频| 国产成人无码精品| 欧美淫片网站| 一区二区三区国产在线观看| 男男做爰猛烈叫床爽爽小说| 日韩一级特黄| 欧美揉bbbbb揉bbbbb| 欧美成人三级在线视频| 在线观看小视频| 国产精品丝袜一区| 欧美中日韩一区二区三区| 国产高清视频免费| 久久精品国产精品亚洲红杏| 日本欧美在线视频| 日本免费观看视| 欧美日韩 国产精品| 日韩网站免费观看| 日本综合在线观看| 亚洲丁香日韩| 亚洲激情视频网站| 国产女人18毛片水真多18| 24小时成人在线视频| 欧美伊人久久久久久久久影院| 日韩中文字幕三区| 欧美三级网站| 午夜电影一区二区| 日韩精品一区在线视频| 羞羞污视频在线观看| 国产精品黄色在线观看| 亚洲成人第一| wwwww在线观看免费视频| 久久久久88色偷偷免费| 欧美日韩精品久久| 女人天堂在线| 国产片一区二区三区| 欧美日韩精品不卡| 国产精品秘入口| 欧美激情一区二区三区全黄| 日本不卡一区二区三区视频| 国产在线观看免费网站| 欧美国产禁国产网站cc| 亚洲精品乱码久久久久久蜜桃91| 韩国中文免费在线视频| 欧美激情一二三区| 亚洲欧洲一二三| 日本美女在线中文版| 亚洲色图欧美激情| 日韩国产小视频| 偷拍自拍在线看| 91国产福利在线| 亚洲欧美视频二区| 看亚洲a级一级毛片| 日韩免费在线观看| 星空大象在线观看免费播放| 色橹橹欧美在线观看视频高清| 日韩电视剧在线观看免费网站| 久久国产精品无码一级毛片| 欧美美女在线观看| 中文综合在线观看| 免费视频一二三区| 国产一区成人| 国产精品视频免费在线观看| 国产视频手机在线| 成人av免费在线观看| 欧美一级片免费观看| 成年人在线看| 夜夜精品视频一区二区| 国产在线青青草| 国产成人午夜性a一级毛片| 欧美高清视频不卡网| 性高潮久久久久久| 自拍偷拍一区| 欧美成人精品xxx| 99热在线观看免费精品| 日韩激情av在线| 99久久精品免费看国产一区二区三区| 天堂中文在线官网| 国产精品久久久久永久免费观看| www.男人天堂网| 国产一区二区色噜噜| 日韩欧美高清dvd碟片| 欧美 日韩 国产 成人 在线观看 | 2021中文字幕一区亚洲| 一区二区不卡在线视频 午夜欧美不卡'| v天堂福利视频在线观看| 欧美日韩色婷婷| www.久久com| 国产中文精品久高清在线不| 欧美精品在线视频观看| 天堂网一区二区| 成人美女在线观看| 在线看视频不卡| 中文字幕 在线观看| 日韩一区二区三区电影在线观看 | 日韩av色综合| 亚洲av综合色区无码一二三区| 久久久久九九视频| 男人添女人荫蒂免费视频| 日本欧美韩国| 亚洲男人天堂古典| 日韩精品乱码久久久久久| 久久99久久99小草精品免视看| 好吊色欧美一区二区三区四区| 麻豆传媒在线观看| 久久久精品tv| 91久久在线| 日本成人7777| 久久久人成影片一区二区三区在哪下载 | 久久久天堂av| 激情五月五月婷婷| 成人午夜sm精品久久久久久久| 日韩成人久久久| 精国产品一区二区三区a片| 蜜臀a∨国产成人精品| 欧美性天天影院| xxxxxx欧美| 日韩电视剧在线观看免费网站| 国产精选第一页| 国产91综合一区在线观看| 影音先锋欧美在线| 国产精品99久久久久久董美香| 亚洲男人的天堂在线| yjizz国产| 久久噜噜亚洲综合| 国产成人无码一二三区视频| 妖精一区二区三区精品视频 | 日日夜夜精品| 自拍偷拍亚洲欧美| 亚洲影视一区二区| 中文字幕不卡在线播放| 男女无套免费视频网站动漫| 国产99久久| 国产精品福利片| 高清中文字幕一区二区三区| 在线观看国产日韩| 天天操天天干天天操天天干| 六月丁香综合在线视频| 在线精品亚洲一区二区| 国产一区二区三区免费观看在线| 美女福利视频一区| 黄色一级片av| 在线观看视频中文字幕| 日本一二三不卡| 免费av不卡在线| 亚洲午夜精品一区 二区 三区| 成人网欧美在线视频| 国产精品实拍| 精品播放一区二区| 综合激情网五月| 国产日韩欧美精品综合| 亚欧美在线观看| 亚洲精品国产成人影院| 国产精品10p综合二区| 国产精品一区hongkong| 日韩精品日韩在线观看| 亚洲av无码精品一区二区| 亚洲国产精品ⅴa在线观看| 午夜视频在线网站| 欧美福利一区| 蜜桃麻豆www久久国产精品| 成人四虎影院| 久久99精品久久久久久噜噜| 天堂网在线资源| 在线观看av不卡| 欧美激情图片小说| 97国产一区二区| 中文字幕成人在线视频| 欧美天堂亚洲电影院在线观看| 精品婷婷色一区二区三区蜜桃| 日韩电影大全网站| 欧美成在线观看| 精品美女视频在线观看免费软件 | 8x拔播拔播x8国产精品| 免费国产在线视频| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲高清三级视频| 欧美日韩国产黄色| 成人一级视频在线观看| 妓院一钑片免看黄大片| 欧美天天视频| 亚洲mv在线看| 美女视频免费精品| 国产欧美日韩91| 欧美a级在线观看| 久久人体大胆视频| 激情小视频在线观看| 91精品国产综合久久久久久久| 日韩黄色a级片| 一区在线观看视频| 好吊视频在线观看| 粉嫩av一区二区三区| 8x8x最新地址| 宅男噜噜噜66国产日韩在线观看| 亚洲免费视频播放| 国产麻豆精品久久| 久久国产精品-国产精品| 国产精一区二区| 国产z一区二区三区| 成人免费图片免费观看| 色综合久久久久久中文网| 高清毛片在线看| 日韩av一区在线观看| 国产色综合视频| 欧美三级韩国三级日本一级| 亚洲另类欧美日韩| 一二三四区精品视频| 日韩三级在线观看视频| 日本一区二区三区在线观看| 成人无码www在线看免费| 国产激情一区二区三区桃花岛亚洲| 杨幂毛片午夜性生毛片| 久久免费黄色| 黄www在线观看| 亚洲激情亚洲| 水蜜桃色314在线观看| 国产精品v亚洲精品v日韩精品 | 亚洲精品免费在线看| 在线亚洲a色| 欧美成熟毛茸茸复古| 欧美日韩大片免费观看| 国产高清在线一区| 成人精品动漫一区二区三区| 91原创国产| 欧美视频精品全部免费观看| 亚洲va电影大全| 激情久久免费视频| 亚洲最大福利网站| 欧美a级大片在线| 99精彩视频| 91精品国产自产在线丝袜啪| 97超碰资源| 电影一区二区在线观看| 国产精品午夜av在线| 里番精品3d一二三区| 国产一区二区三区四区五区加勒比| xxxx日韩| 精品综合在线| 国产伦精品一区二区三区视频 | 最新日韩免费视频| 国产精品久久久久9999吃药| 九九这里只有精品视频| 91高清视频在线观看| 精品一区二区三区在线观看国产| 日本a级片免费观看| 久久激情综合| 狠狠躁狠狠躁视频专区| 九色综合国产一区二区三区| 亚洲免费999| 国产精一品亚洲二区在线视频| 国产乱淫av麻豆国产免费| 9色porny自拍视频一区二区| 久久中文字幕人妻| av电影一区二区| 日韩午夜在线播放| 日本免费一区二区三区| 99久久人爽人人添人人澡| 国产午夜精品在线| 久久不见久久见免费视频7| 日韩三级电影| 91精品一区国产高清在线gif | 少妇人妻好深好紧精品无码| 欧美激情一区二区| 三级影片在线看| 欧美日韩国产在线看| 亚洲天堂五月天| 欧美一区二区三区四区在线观看| 蜜桃91麻豆精品一二三区| 亚洲老司机av| 操你啦在线视频| 69av成年福利视频| 日本成人一区二区| 国产欧美日韩综合精品二区| 国产麻豆精品久久| 97超碰在线视| 日本欧洲一区二区| 日韩精品国产一区| 国产女主播一区| 国产亚洲色婷婷久久99精品| 在线免费观看成人短视频| 99在线观看精品视频| 精品一区二区三区四区在线| 国产日产一区二区三区| 国产91精品高潮白浆喷水| 国产精品亚洲一区二区在线观看| 免费亚洲精品视频| 欧美成人69av| 乱子伦视频在线看| 国产不卡在线视频| 国产美女网站视频| 岛国av一区二区三区| 99久久精品无免国产免费| 亚洲男人天堂久| 国产理论电影在线| 亚洲aaa激情| 成人情趣视频| 国产亚洲综合视频| av激情综合网| 午夜69成人做爰视频| 精品视频1区2区3区| 日本中文字幕一区二区有码在线| 蜜臀久久99精品久久久无需会员| 成人做爰视频www网站小优视频| 久久99热精品这里久久精品| 国产黄色片视频| 欧美日韩精品免费观看视频| 四虎精品在永久在线观看| 欧美激情一级欧美精品| 亚洲色图综合| 亚洲欧美国产不卡| 首页欧美精品中文字幕| 日本黄色免费观看| 亚洲成av人影院| 亚洲黄色小说网| 欧美伦理91i| 国产精品麻豆| 亚洲视频在线二区| 蜜桃视频免费观看一区| 成年人在线免费看片| 色综合久久六月婷婷中文字幕| 日韩一区二区三区在线观看视频| 久久99精品久久久久久青青91| 国产亚洲精aa在线看| 中文字幕久精品免| 狠狠v欧美v日韩v亚洲ⅴ| 战狼4完整免费观看在线播放版| 欧美色手机在线观看| 国产乱视频在线观看| 国产成人精品av| av资源久久| 最新天堂中文在线| 亚洲欧美激情视频在线观看一区二区三区| 中文字幕观看视频| 久久精品国产v日韩v亚洲| 九九热这里有精品| 三级网在线观看| 国产乱码精品一区二区三区五月婷| 丰满少妇被猛烈进入一区二区| 欧美一卡在线观看| 久久久久黄久久免费漫画| caoporen国产精品| 影音先锋在线一区| 天堂久久久久久| 色狠狠色狠狠综合| 99青草视频在线播放视| 成人网页在线免费观看| 午夜久久影院| 99久久人妻精品免费二区| 黑人欧美xxxx| av在线日韩国产精品| 国产主播在线一区| 欧美日韩国产在线一区| 国产精品无码在线| 欧美在线视频不卡| 黄色网页在线播放| 成人一区二区三区四区| 久久精品系列| 91香蕉一区二区三区在线观看| 日韩美女视频一区二区在线观看| yellow字幕网在线| 神马影院午夜我不卡影院| 九九九久久久精品| 日韩av电影网址| 这里精品视频免费| 中文字幕日韩在线| 欧美色图另类小说| 中文字幕精品综合| 国产叼嘿视频在线观看| 91av在线免费观看| 欧美黄色录像片| 娇妻高潮浓精白浆xxⅹ| 在线观看欧美日本| 精品日韩av| 亚洲成人自拍| 菠萝蜜视频在线观看一区| 亚洲中文无码av在线| 欧美男插女视频| 国产a久久精品一区二区三区| 污污视频网站在线| 欧美性猛交xxxx黑人| 八戒八戒神马在线电影| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 成人短视频下载| 亚洲天堂网视频| 欧美在线视频网站|