SQL Server 2008 MDX應(yīng)用之檢索集合中的元組
上次我們介紹了:SQL Server 2008 MDX應(yīng)用之組裝有序集合,本文我們主要介紹一下SQL Server 2008 MDX應(yīng)用之檢索集合的***一個或***個元組的操作,接下來就讓我們一起來了解一下這部分內(nèi)容。
我們用到兩個函數(shù)TopCount(http://msdn.microsoft.com/zh-cn/library/ms144792.aspx)和BottomCount(http://msdn.microsoft.com/zh-cn/library/ms144864.aspx)
注意:這兩個函數(shù)總是會打亂層次結(jié)構(gòu)。
例6-11
- SELECT
- {([Measures].[Reseller Sales Amount])} ON COLUMNS,
- TopCount(
- {[Product].[Subcategory].[Subcategory].Members},
- 5,
- ([Measures].[Reseller Sales Amount])
- ) ON ROWS
- FROM [Step-by-Step];
- /*
- Reseller Sales Amount
- Road Bikes $29,358,206.96
- Mountain Bikes $26,492,684.38
- Touring Bikes $10,451,490.22
- Mountain Frames $4,713,672.15
- Road Frames $3,849,853.34
- */
注意,未指定順序時,默認按升序排列。
Head函數(shù)(http://msdn.microsoft.com/zh-cn/library/ms144859(v=SQL.105)),返回集中位置靠前的指定數(shù)目的元素,同時保留重復(fù)項。Head 函數(shù)從指定集的開始處返回指定的元組數(shù)目。并保留元素的順序。Count 的默認值為 1。如果指定的元組數(shù)目小于 1,則 Head 函數(shù)返回空集。如果指定的元組數(shù)目超過了集中的元組數(shù)目,則此函數(shù)返回原始集。
Tail函數(shù)(http://msdn.microsoft.com/zh-cn/library/ms146056.aspx),Tail 函數(shù)從指定集的結(jié)尾處返回指定的元組數(shù)目。 會保留元素的順序。 Count 的默認值為 1。如果指定的元組數(shù)目小于 1,則該函數(shù)返回空集。 如果指定的元組數(shù)目超過了集中的元組數(shù)目,則此函數(shù)返回原始集。
例6-12
- SELECT
- {([Measures].[Reseller Sales Amount])} ON COLUMNS,
- Tail(
- Order(
- {[Product].[Subcategory].[Subcategory].Members},
- ([Measures].[Reseller Sales Amount]),
- BDESC
- ),
- 5
- ) ON ROWS
- FROM [Step-by-Step];
- /*
- Reseller Sales Amount
- Tires and Tubes $925.21
- Bike Stands (null)
- Fenders (null)
- Lights (null)
- Panniers (null)
- */
Item函數(shù)(http://msdn.microsoft.com/zh-cn/library/ms145501.aspx),下面,我們看一個比較復(fù)雜的例子
例6-13
- WITH
- MEMBER [Measures].[Top Product Sales] AS
- {
- EXISTING
- TopCount(
- [Product].[Product].[Product].Members,
- 1,
- ([Measures].[Internet Sales Amount])
- ) *
- {[Measures].[Internet Sales Amount]}
- }.Item(0)
- ,FORMAT_STRING="Currency"
- MEMBER [Measures].[Top Product Name] AS
- {
- EXISTING
- TopCount(
- [Product].[Product].[Product].Members,
- 1,
- ([Measures].[Internet Sales Amount])
- )
- }.Item(0).Item(0).Name
- SELECT
- {
- ([Measures].[Internet Sales Amount]),
- ([Measures].[Top Product Sales]),
- ([Measures].[Top Product Name])
- } ON COLUMNS,
- {
- ([Date].[Calendar Year].[CY 2001]),
- ([Date].[Calendar Year].[CY 2002]),
- ([Date].[Calendar Year].[CY 2003]),
- ([Date].[Calendar Year].[CY 2004])
- } ON ROWS
- FROM [Step-by-Step];
上例中綜合運用了本節(jié)和上節(jié)的幾個常用函數(shù),大家可以自行分析。
關(guān)于SQL Server 2008 MDX應(yīng)用之檢索集合中的元組的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】






