TopSum (DMX)

Dotyczy: usług SQL Server Analysis Services

Zwraca, w kolejności malejącej rangi, najwyższe wiersze tabeli, których suma łączna wynosi co najmniej określoną wartość.

Syntax

  
TopSum(<table expression>, <rank expression>, <sum>)  

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 TopSum zwraca najwyższe wiersze w kolejności malejącej rangi na podstawie wartości argumentu <wyrażenia> rangi dla każdego wiersza, tak że suma <wartości wyrażeń> rang jest co najmniej sumą określoną przez <argument sumy> . TopSum zwraca najmniejszą możliwą liczbę elementów, jednocześnie spełniając określoną sumę.

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 TopSum przyjmuje wyniki tego zapytania i zwraca wiersze o największych wartościach, które sumują się do określonej liczby.

SELECT   
TopSum  
    (  
    Predict([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $PROBABILITY,  
    .5)  
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 TopSum 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 TopSum jest kolumna w zagnieżdżonej tabeli, której używasz do porządkowania wyników. W tym przykładzie opcja INCLUDE_STATISTICS zwraca kolumny $SUPPORT, $PROBABILITY i $ADJUSTED PROBABILITY. W tym przykładzie używa $PROBABILITY do zwracania wierszy sumujących co najmniej 50% prawdopodobieństwa.

Trzeci argument do funkcji TopSum określa docelową sumę jako podwójną sumę. Aby uzyskać wiersze dla najwyższych produktów o sumie 50 procent prawdopodobieństwa, wpisujesz 0,5.

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

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