TopPercent (DMX)

Dotyczy: usług SQL Server Analysis Services

Funkcja TopPercent zwraca, w kolejności malejącej rangi, najwyższe wiersze tabeli, których łączna wartość wynosi co najmniej określony procent.

Syntax

  
TopPercent(<table expression>, <rank expression>, <percent>)  

Ma zastosowanie do

Wyrażenie zwracające tabelę, na przykład referencję> kolumny <tabeli lub funkcję zwracającą tabelę.

Zwracany typ

<Wyrażenie tabelowe>

Remarks

Funkcja TopPercent zwraca najwyższe wiersze w kolejności malejącej rangi na podstawie ocenionej wartości argumentu <wyrażenia> rangi dla każdego wiersza, tak że suma <wartości wyrażeń> rang jest co najmniej danym procentem określonym przez <argument procentowy> . TopPercent zwraca najmniejszą możliwą liczbę elementów, jednocześnie spełniając określoną wartość procentową.

Examples

Poniższy przykład tworzy zapytanie predykcyjne względem modelu Asocjacji, który zbudowasz, korzystając z Podstawowego Samouczka Eksploracji Danych.

Aby zrozumieć, jak działa TopPercent, może być pomocne najpierw wykonanie zapytania predykcyjnego, które zwraca tylko zagnieżdżoną tabelę.

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 10)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

Note

W tym przykładzie wartość podana jako wejście zawiera pojedynczy cudzysłów, dlatego musi być omijana, poprzedzając go kolejnym cudzysłowem. Jeśli nie jesteś pewien składni wstawiania znaku ucieczki, możesz użyć Prediction Query Builder, aby utworzyć zapytanie. Gdy wybierzesz wartość z listy rozwijanej, wstawia się wymagany znak ucieczki. Więcej informacji można znaleźć w artykule Utwórz zapytanie Singleton w Data Mining Designer.

Przykładowe wyniki:

Wzór $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291283016 0.252695851
Butelka wody 2866 0.192620472 0.175205052
Zestaw poprawek 2113 0.142012232 0.132389356
Rura opon górskich 1992 0.133879965 0.125304948
Mountain-200 1755 0.117951475 0.111260823
Rura opon drogowych 1588 0.106727603 0.101229538
Czapka rowerowa 1473 0.098998589 0.094256014
Zestaw Fender - Góra 1415 0.095100477 0.090718432
Koszyk na bidon do roweru górskiego 1367 0.091874454 0.087780332
Klatka na butelki drogowe 1195 0.080314537 0.077173962

Funkcja TopPercent przyjmuje wyniki tego zapytania i zwraca wiersze o największych wartościach, które sumują się do określonego procentu.

SELECT   
TopPercent  
    (  
    Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $SUPPORT,  
    50)  
FROM   
     [Association]  
NATURAL PREDICTION JOIN  
(SELECT (SELECT 'Women''s Mountain Shorts' as [Model]) AS [v Assoc Seq Line Items]) AS t  

Pierwszym argumentem dla funkcji TopPercent jest nazwa kolumny tabeli. W tym przykładzie zagnieżdżona tabela jest zwracana przez wywołanie funkcji Predict i użycie argumentu INCLUDE_STATISTICS.

Drugim argumentem dla funkcji TopPercent jest kolumna w zagnieżdżonej tabeli, której używasz do kolejności wyników. W tym przykładzie opcja INCLUDE_STATISTICS zwraca kolumny $SUPPORT, $PROBABILITY i $ADJUSTED PROBABILITY. W tym przykładzie używa $SUPPORT, ponieważ wartości podporowe nie są ułamkowe i dlatego łatwiej je zweryfikować.

Trzeci argument do funkcji TopPercent określa procent jako podwójny. Aby uzyskać wiersze dla najlepszych produktów, które łącznie stanowią 50 procent całkowitego wsparcia, wpisujesz 50.

Przykładowe wyniki:

Wzór $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.29... 0.25...
Butelka wody 2866 0.19... 0.17...
Zestaw poprawek 2113 0.14... 0.13...
Rura opon górskich 1992 0.133... 0.12...

Uwaga Ten przykład przedstawiono jedynie, aby zilustrować użycie TopPercent. W zależności od wielkości Twojego zbioru danych, to zapytanie może zająć dużo czasu.

Warning

Funkcje MDX dla TOPPERCENT i BOTTOMPERCENT mogą generować nieoczekiwane wyniki, gdy wartości użyte do obliczania procentu zawierają wartości ujemne. To zachowanie nie wpływa na funkcje DMX. Więcej informacji można znaleźć w BottomPercent (MDX).