自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server 2008 MDX應(yīng)用之組裝有序集合

數(shù)據(jù)庫 SQL Server
本文我們主要介紹了SQL Server 2008 MDX應(yīng)用之組裝有序集合的實例,通過實例讓我們來了解一下這一過程吧,希望能夠?qū)δ兴鶐椭?/div>

SQL Server 2008 MDX應(yīng)用之組裝有序集合是本文我們主要要介紹的內(nèi)容,接下來我們通過一些具體的例子來介紹這一過程,希望能夠?qū)δ兴鶐椭?/p>

打開MDX查詢編輯器,如下:

例6-1

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. {[Product].[Product].[Product].Members} ON ROWS  
  4. FROM [Step-by-Step]; 

查詢結(jié)果:

我們修改排序,如下:

例6-2

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. Order(  
  4. {[Product].[Product].[Product].Members},  
  5. ([Measures].[Reseller Sales Amount]),  
  6. DESC  
  7. ) ON ROWS  
  8. FROM [Step-by-Step]; 

注意排序字段,這里使用了Order函數(shù)(http://msdn.microsoft.com/zh-cn/library/ms145587.aspx)。

例6-3

  1. SELECT  
  2. {  
  3. ([Measures].[Reseller Sales Amount]),  
  4. ([Measures].[Internet Sales Amount])  
  5. } ON COLUMNS,  
  6. Order(  
  7. {[Product].[Product].[Product].Members},  
  8. VBAMDX!ABS(  
  9. ([Measures].[Reseller Sales Amount]) -  
  10. ([Measures].[Internet Sales Amount])  
  11. ),  
  12. DESC  
  13. ) ON ROWS  
  14. FROM [Step-by-Step]; 

注意,我們使用了上一節(jié)提到的VBA函數(shù),結(jié)果以兩列之差的絕對值為排序依據(jù)。

SQL Server 2008 MDX應(yīng)用之組裝有序集合

注意:使用Order還可以突破分層限制。

例6-4

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. {[Product].[Subcategory].[Subcategory].Members} ON ROWS  
  4. FROM [Step-by-Step]; 

SQL Server 2008 MDX應(yīng)用之組裝有序集合

例6-5

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. {[Product].[Category].[Category].Members} *  
  4. {[Product].[Subcategory].[Subcategory].Members} ON ROWS  
  5. FROM [Step-by-Step]; 

SQL Server 2008 MDX應(yīng)用之組裝有序集合

再進一步,看一個雙排序的例子

例6-6

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. Order(  
  4. {[Product].[Category].[Category].Members} *  
  5. {[Product].[Subcategory].[Subcategory].Members},  
  6. ([Measures].[Reseller Sales Amount]),  
  7. DESC  
  8. ) ON ROWS  
  9. FROM [Step-by-Step]; 

SQL Server 2008 MDX應(yīng)用之組裝有序集合

在上面的查詢中,交叉聯(lián)接使用默認排序,而且后面指定了([Measures].[Reseller Sales Amount])排序,但是大家注意到?jīng)]有,這一列并沒有按照指定的數(shù)值排序,為什么呢?因為默認的ASC和DESC是分層的(hierarchical),換句話說,這些元組的前一個成員的排序被保留了。為了打亂這個層次結(jié)構(gòu),可以使用BASC和BDESC(http://msdn.microsoft.com/zh-cn/library/ms145587(v=SQL.105))。
例6-7

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. Order(  
  4. {[Product].[Category].[Category].Members} *  
  5. {[Product].[Subcategory].[Subcategory].Members},  
  6. ([Measures].[Reseller Sales Amount]),  
  7. BDESC  
  8. ) ON ROWS  
  9. FROM [Step-by-Step]; 

SQL Server 2008 MDX應(yīng)用之組裝有序集合

OK!這下消停了。

順便,我們提一下Hierarchize函數(shù)(http://msdn.microsoft.com/zh-cn/library/ms145981.aspx),該函數(shù)可以按層次結(jié)構(gòu)的順序組織指定集中的成員,返回集的有效多維表達式 (MDX)。

我們看一個例子

例6-8

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. Hierarchize(  
  4. {  
  5. ([Product].[Product Categories].[Subcategory].[Road Bikes]),  
  6. ([Product].[Product Categories].[All Products]),  
  7. ([Product].[Product Categories].[Subcategory].[Mountain Bikes]),  
  8. ([Product].[Product Categories].[Category].[Bikes]),  
  9. ([Product].[Product Categories].[Subcategory].[Touring Bikes])  
  10. }  
  11. ) ON ROWS  
  12. FROM [Step-by-Step]; 

SQL Server 2008 MDX應(yīng)用之組裝有序集合

如果定義POST標(biāo)志,則 Hierarchize 函數(shù)按非自然順序?qū)σ欢墑e的成員進行排序。 也就是說,子成員優(yōu)先于他們的父級。

例6-9

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. Hierarchize(  
  4. {  
  5. ([Product].[Product Categories].[Subcategory].[Road Bikes]),  
  6. ([Product].[Product Categories].[All Products]),  
  7. ([Product].[Product Categories].[Subcategory].[Mountain Bikes]),  
  8. ([Product].[Product Categories].[Category].[Bikes]),  
  9. ([Product].[Product Categories].[Subcategory].[Touring Bikes])  
  10. },  
  11. POST  
  12. ) ON ROWS  
  13. FROM [Step-by-Step]; 

SQL Server 2008 MDX應(yīng)用之組裝有序集合

范圍操作符:包含一個默認的排序

例6-10

  1. SELECT  
  2. {([Measures].[Reseller Sales Amount])} ON COLUMNS,  
  3. {[Date].[Calendar].[CY 2001]:[Date].[Calendar].[CY 2004]} ON ROWS  
  4. FROM [Step-by-Step];  
  5.  
  6. /*  
  7. Reseller Sales Amount  
  8. CY 2001 $8,065,435.31  
  9. CY 2002 $24,144,429.65  
  10. CY 2003 $32,202,669.43  
  11. CY 2004 $16,038,062.60  
  12. */ 

關(guān)于SQL Server 2008 MDX應(yīng)用之組裝有序集合的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. SQL Server多表查詢優(yōu)化方案總結(jié)
  2. SQL Server數(shù)據(jù)庫ISNULL函數(shù)的應(yīng)用實例
  3. SQL Server數(shù)據(jù)庫DATEPART的語法及使用實例
  4. SQL Server根據(jù)子節(jié)點查詢所有父節(jié)點的代碼示例
  5. SQL Server臟讀方式數(shù)據(jù)提取之NOLOCK和READPAST
責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-08-19 14:03:36

SQL Server 檢索集合

2011-02-28 13:19:50

SQL Server SQL死鎖

2011-03-11 10:35:31

SQL鎖定SQL Server

2011-03-11 13:26:32

SQL ServerBlocking阻塞

2011-08-19 15:29:10

SQL Server 元數(shù)組

2011-08-19 14:38:22

SQL Server 2008遞歸查詢

2011-08-19 15:48:13

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

2011-08-19 15:13:36

SQL Server MDX查詢

2009-05-18 18:20:14

虛擬化Hyper-VWindows ser

2011-09-01 13:24:42

SQL Server 呈現(xiàn)GeoRSS訂閱的Bing Maps

2011-02-18 17:31:18

SQL Server

2011-02-21 13:06:42

Microsoft S

2009-04-16 17:55:15

擴展熱插拔SQL Server

2009-04-16 15:30:15

SQL Server 可用性應(yīng)用場景

2010-06-03 11:39:33

2011-04-07 09:56:53

SQL Server 內(nèi)存

2010-03-23 09:52:23

SQL Server

2009-04-16 17:44:31

2009-04-16 18:15:19

動作審核審核活動SQL Server

2011-03-29 12:42:25

SQL Server 高效性
點贊
收藏

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