共用方式為


TopPercent (MDX)

依遞減順序排序集合,並傳回一組具有最大值的 Tuple,其累計總計等於或大於指定百分比。

語法

  
TopPercent(Set_Expression, Percentage, Numeric_Expression)   

引數

Set_Expression
傳回集合的有效多維度運算式 (MDX) 運算式。

百分比
有效的數值運算式,指定要傳回之 Tuple 的百分比。

重要

百分比 必須是正值;負值會產生錯誤。

Numeric_Expression
有效的數值運算式,通常是傳回數位之儲存格座標的多維度運算式 (MDX) 運算式。

備註

TopPercent 函式會計算在指定集合上評估的指定數值運算式總和,並依遞減順序排序集合。 然後,函式會傳回具有最高值的專案,其總加總值的累計百分比至少為指定的百分比。 此函式會傳回集合的最小子集,其累計總計至少為指定的百分比。 傳回的專案會依最大到最小的順序排序。

警告

如果 Numeric_Expression 傳回任何負值, TopPercent 只會傳回一個 (1) 個數據列。

如需此行為的詳細呈現,請參閱第二個範例。

重要

如同 BottomPercent 函式, TopPercent 函式一律會中斷階層。

範例

A. 傳回 TopPercent

下列範例會針對 Bike 類別,傳回有助於讓轉銷商銷售前 10% 的最佳城市。 結果會以遞減順序排序,從銷售值最高的城市開始。

SELECT [Measures].[Reseller Sales Amount] ON 0,  
TopPercent  
   ({[Geography].[Geography].[City].Members}  
   , 10  
   , [Measures].[Reseller Sales Amount]  
   ) ON 1  
FROM [Adventure Works]  
WHERE([Product].[Product Categories].[Bikes])  

上述運算式會產生下列結果:

City 轉銷商銷售金額
Toronto $3,508,904.84
London $1,521,530.09
西雅圖 $1,209,418.16
Paris $1,170,425.18

您可以使用下列查詢取得原始資料集,並傳回 588 個數據列:

SELECT [Measures].[Reseller Sales Amount] ON 0,  
Order  
   ({[Geography].[Geography].[City].Members}  
   , [Measures].[Reseller Sales Amount]  
   , BDESC  
   ) ON 1  
FROM [Adventure Works]  
WHERE([Product].[Product Categories].[Bikes])  
  

B. 瞭解負值的效果

下列逐步解說將協助瞭解Numeric_Expression 負值的影響。 首先,讓我們建置一些可以呈現行為的內容。

下列查詢會傳回轉銷商 「銷售金額」、「總產品成本」和「毛利潤」的資料表,依利潤遞減順序排序。 請注意,利潤只有負值;因此,最小的損失會出現在頂端。

SELECT { [Measures].[Reseller Sales Amount], [Measures].[Reseller Total Product Cost], [Measures].[Reseller Gross Profit] } ON columns  
     ,  ORDER( [Product].[Product Categories].[Bikes].[Touring Bikes].children, [Measures].[Reseller Gross Profit], BDESC )   ON rows  
FROM [Adventure Works]  
  

上述查詢會傳回下列結果:已移除中間區段的資料列,以取得可讀性。

休閒車 轉銷商銷售金額 轉銷商產品總成本 轉銷商總利潤
Touring-2000 Blue, 50 $157,444.56 $163,112.57 (5,668.01美元)
Touring-2000 Blue, 46 $321,027.03 $333,021.50 (11,994.47美元)
Touring-3000 Blue, 62 $87,773.61 $100,133.52 (12,359.91美元)
... ... ... ...
旅遊 - 1000 黃色, 46 $1,016,312.83 $1,234,454.27 ($218,141.44)
Touring-1000 Yellow, 60 $1,184,363.30 $1,443,407.51 (259,044.21美元)

現在,如果您被要求以利潤呈現前 100% 自行車,您會撰寫如下的查詢:

SELECT { [Measures].[Reseller Sales Amount], [Measures].[Reseller Total Product Cost], [Measures].[Reseller Gross Profit] } ON columns  
     ,  TOPPERCENT( [Product].[Product Categories].[Bikes].[Touring Bikes].children, 100,[Measures].[Reseller Gross Profit] )   ON rows  
FROM [Adventure Works]  
  

請注意,查詢會要求百分之一百 (100%):這表示應該傳回所有資料列。 不過,由於Numeric_Expression 中有 負值,因此只會傳回一個資料列。

休閒車 轉銷商銷售金額 轉銷商產品總成本 轉銷商總利潤
Touring-2000 Blue, 50 $157,444.56 $163,112.57 (5,668.01美元)

另請參閱

MDX 函數參考 (MDX)