TopPercent (DMX)

gäller för: SQL Server Analysis Services

TopPercent-funktionen returnerar, i ordning efter minskande rang, de översta raderna i en tabell vars kumulativa totala är minst en specificerad procentandel.

Syntax

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

Gäller för

Ett uttryck som returnerar en tabell, såsom en <tabellkolumnreferens>, eller en funktion som returnerar en tabell.

Returtyp

<Tabelluttryck>

Remarks

TopPercent-funktionen returnerar de översta raderna i fallande rangordning baserat på det utvärderade värdet av <ranguttrycksargumentet> för varje rad, så att summan av rankuttrycksvärdena <> är minst den givna procentandel som specificeras av procentargumentet><. TopPercent returnerar det minsta möjliga antalet element samtidigt som det angivna procentvärdet ändå uppfylls.

Exempel

Följande exempel skapar en prediktionsfråga mot den associationsmodell du bygger med hjälp av Basic Data Mining-tutorialen.

För att förstå hur TopPercent fungerar kan det vara hjälpsamt att först köra en prediktionsfråga som endast returnerar den nästlade tabellen.

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

I detta exempel innehåller värdet som anges som indata ett enda citattecken, och måste därför undvikas genom att inleda det med ytterligare ett citattecken. Om du är osäker på syntaxen för att infoga ett escape-tecken kan du använda Prediction Query Builder för att skapa frågan. När du väljer värdet från rullgardinsmenyn infogas det nödvändiga escape-tecknet åt dig. För mer information, se Skapa en Singleton Query i Data Mining Designer.

Exempel på resultat:

Modell $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291283016 0.252695851
Vattenflaska 2866 0.192620472 0.175205052
Korrigeringssats 2113 0.142012232 0.132389356
Mountain Tire Tube 1992 0.133879965 0.125304948
Berg-200 1755 0.117951475 0.111260823
Vägdäcksrör 1588 0.106727603 0.101229538
Cykelmössa 1473 0.098998589 0.094256014
Fender Set - Berg 1415 0.095100477 0.090718432
Flaskhållare för mountainbike 1367 0.091874454 0.087780332
Vägflaskbur 1195 0.080314537 0.077173962

TopPercent-funktionen tar resultaten av denna fråga och returnerar raderna med de största värdena som summeras till den angivna procentandelen.

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  

Det första argumentet till TopPercent-funktionen är namnet på en tabellkolumn. I detta exempel returneras den nästlade tabellen genom att anropa Predict-funktionen och använda argumentet INCLUDE_STATISTICS.

Det andra argumentet till TopPercent-funktionen är kolumnen i den nästlade tabellen som du använder för att ordna resultaten. I detta exempel returnerar INCLUDE_STATISTICS-optionen kolumnerna $SUPPORT, $PROBABILITY och $ADJUSTED SANNOLIKHET. Detta exempel använder $SUPPORT eftersom stödvärden inte är fraktionella och därför är lättare att verifiera.

Det tredje argumentet till TopPercent-funktionen specificerar procentandelen som en dubbel. För att få raderna för de översta produkterna som tillsammans utgör 50 procent av det totala stödet skriver du 50.

Exempel på resultat:

Modell $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.29... 0.25...
Vattenflaska 2866 0.19... 0.17...
Korrigeringssats 2113 0.14... 0.13...
Mountain Tire Tube 1992 0.133... 0.12...

Not Detta exempel ges endast för att illustrera användningen av TopPercent. Beroende på storleken på din datamängd kan denna fråga ta lång tid att köra.

Varning

MDX-funktionerna för TOPPERCENT och BOTTOMPERCENT kan generera oväntade resultat när värdena som används för att beräkna procenten inkluderar negativa tal. Detta beteende påverkar inte DMX-funktionerna. För mer information, se BottomPercent (MDX).