TopCount (DMX)

Dotyczy: usług SQL Server Analysis Services

Zwraca określoną liczbę najbardziej górnych wierszy w kolejności malejącej rangi określonej przez wyrażenie.

Syntax

  
TopCount(<table expression>, <rank expression>, <count>)  

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

Wartość podany <przez argument wyrażenia> rangi określa malejącą kolejność rzędu wierszy podanych w argumentze <wyrażenia> tabelowego, a liczba najbardziej górnych wierszy podana w argumentze <liczenia> jest zwracana.

Funkcja TopCount została pierwotnie wprowadzona, aby umożliwić przewidywania asocjacyjne i generalnie daje te same wyniki co instrukcje zawierające klauzule SELECT TOP i ORDER BY . Uzyskasz lepszą wydajność dla predykcji asocjacyjnych, używając funkcji Predict (DMX), która umożliwia określenie określonej liczby przewidywań do zwrotu.

Jednak zdarzają się sytuacje, gdy nadal możesz potrzebować TopCount. Na przykład DMX nie obsługuje kwalifikatora TOP w instrukcji sub-select. Funkcja PredictHistogram (DMX) również nie obsługuje dodawania TOP.

Examples

Poniższe przykłady to zapytania predykcyjne względem modelu Asocjacji, które budujesz, korzystając z Podstawowego Samouczka Eksploracji Danych. Zapytania zwracają te same wyniki, ale pierwszy przykład używa TopCount, a drugi przykład używa funkcji Predict.

Aby zrozumieć, jak działa TopCount, 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 TopCount przyjmuje wyniki tego zapytania i zwraca określoną liczbę najmniejszych wierszy.

SELECT   
TopCount  
    (  
    Predict ([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $SUPPORT,  
    3)  
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 TopCount 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 TopCount jest kolumna w zagnieżdżonej tabeli, której używasz do uporządkowania wyników. W tym przykładzie opcja INCLUDE_STATISTICS zwraca kolumny $SUPPORT, $PROBABILITY i $ADJUSTED PROBABILITY. Ten przykład wykorzystuje $SUPPORT do szeregowania wyników.

Trzeci argument do funkcji TopCount określa liczbę wierszy do zwrócenia jako liczbę całkowitą. Aby zobaczyć trzy najlepsze produkty, zamówione przez $SUPPORT, wpisujesz 3.

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...

Jednak tego typu zapytania mogą wpływać na wydajność w środowisku produkcyjnym. Wynika to z faktu, że zapytanie zwraca zestaw wszystkich prognoz z algorytmu, sortuje te prognozy i zwraca trzy najlepsze.

Poniższy przykład przedstawia alternatywne zdanie, które zwraca te same wyniki, ale wykonuje się znacznie szybciej. Ten przykład zastępuje TopCount funkcją Predict, która akceptuje wiele przewidywań jako argument. Ten przykład wykorzystuje również słowo kluczowe $SUPPORT do bezpośredniego pobrania zagnieżdżonej kolumny tabeli.

SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)  

Wyniki zawierają trzy najlepsze prognozy posortowane według wartości wsparcia. Możesz zastąpić $SUPPORT $PROBABILITY lub $ADJUSTED_PROBABILITY, aby zwrócić prognozy uszeregowane według prawdopodobieństwa lub skorygowanego prawdopodobieństwa. Aby uzyskać więcej informacji, zobacz Przewidywanie (DMX).