Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir kümeni azalan sırayla sıralar ve en yüksek değerlere sahip ve toplam belirli bir yüzdeden büyük olan tuple kümesini döndürür.
Syntax
TopPercent(Set_Expression, Percentage, Numeric_Expression)
Arguments
Set_Expression
Bir küme döndüren geçerli bir Çok Boyutlu İfadeler (MDX) ifadesi.
Yüzde
Geri dönecek tuple yüzdesini belirten geçerli bir sayısal ifade.
Important
Yüzde pozitif bir değer olmalı; negatif değerler hata oluşturur.
Numeric_Expression
Genellikle hücre koordinatlarının çok boyutlu ifadeleri (MDX) olarak bir sayı döndüren geçerli sayısal ifadedir.
Remarks
TopPercent fonksiyonu, belirlenen küme üzerinde değerlendirilen sayısal ifadenin toplamını hesaplar ve kümeyi azalan sırayla sıralar. Fonksiyon daha sonra toplam toplam değerin en az belirtilen yüzdesi olan en yüksek değere sahip elemanları döndürür. Bu fonksiyon, kümedeki toplam en az belirtilen yüzde olan en küçük alt kümeyi döndürür. Geri dönen elementler en büyükten en küçüğe sıralanır.
Warning
Eğer Numeric_Expression herhangi bir negatif değer döndürürse, TopPercent sadece bir (1) satır döner.
Bu davranışın ayrıntılı bir sunumu için ikinci örneğe bakınız.
Important
BottomPercent fonksiyonu gibi, TopPercent fonksiyonu da her zaman hiyerarşiyi bozar.
Examples
A. Geri En Üst Yüzdesi
Aşağıdaki örnek, Bisiklet kategorisi için satıcıların satışlarının ilk 10'una girmesine yardımcı olan en iyi% şehirleri geri getirmektedir. Sonuç, en yüksek satış değerine sahip şehirle başlayan azalan sırayla sıralanır.
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])
Yukarıdaki ifade aşağıdaki sonuçları verir:
| Şehir | Bayi Satış Tutarı |
|---|---|
| Toronto | $3,508,904.84 |
| Londra | $1.521.530.09 |
| Seattle | $1,209,418.16 |
| Paris | $1,170,425.18 |
Orijinal veri seti aşağıdaki sorgu ile elde edilebilir ve 588 satır döndürür:
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. Negatif değerlerin etkisini anlamak
Aşağıdaki rehber, Numeric_Expression'deki negatif değerlerin etkisini anlamaya yardımcı olacaktır. Öncelikle, davranışı sunabileceğimiz bir bağlam oluşturalım.
Aşağıdaki sorgu, Satıcıların 'Satış Miktarı', 'Toplam Ürün Maliyeti' ve 'Brüt Kâr' tablosunu azalan kâr sırasına göre sıralanmış olarak döndürür. Lütfen kâr için sadece olumsuz değerler olduğunu unutmayın; Yani, en küçük kayıp en üstte ortaya çıkar.
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]
Yukarıdaki sorgu aşağıdaki sonuçları verir; Orta bölümden satırlar okunabilirlik için kaldırıldı.
| Gezi Bisikletleri | Bayi Satış Tutarı | Satıcı Toplam Ürün Maliyeti | Satıcı Brüt Kâr |
|---|---|---|---|
| Turne-2000 Mavi, 50 | $157,444.56 | $163,112.57 | ($5,668.01) |
| Turne-2000 Mavi, 46 | $321,027.03 | $333,021.50 | ($11,994.47) |
| Touring-3000 Mavi, 62 | $87,773.61 | $100,133.52 | ($12.359.91) |
| ... | ... | ... | ... |
| Touring-1000 Sarı, 46 | $1.016.312.83 | $1,234,454.27 | ($218,141.44) |
| Touring-1000 Sarı, 60 | $1,184,363.30 | $1,443,407.51 | ($259,044.21) |
Şimdi, kâr açısından en iyi 100% motosikletini sunmanız istense, şöyle bir sorgu yazardınız:
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]
Lütfen sorguda yüzde yüz (100%istendiğini unutmayın; Bu, tüm satırların geri verilmesi gerektiği anlamına gelir. Ancak, Numeric_Expression içinde negatif değerler olduğu için yalnızca bir satır döner.
| Gezi Bisikletleri | Bayi Satış Tutarı | Satıcı Toplam Ürün Maliyeti | Satıcı Brüt Kâr |
|---|---|---|---|
| Turne-2000 Mavi, 50 | $157,444.56 | $163,112.57 | ($5,668.01) |