Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op: SQL Server Analysis Services
De TopPercent-functie geeft, in volgorde van afnemende rang, de bovenste rijen van een tabel waarvan het cumulatieve totaal ten minste een gespecificeerd percentage is.
Syntax
TopPercent(<table expression>, <rank expression>, <percent>)
Van toepassing op
Een expressie die een tabel teruggeeft, zoals een kolomreferentie> in de <tabel, of een functie die een tabel teruggeeft.
Retourtype
<Tabeluitdrukking>
Remarks
De TopPercent-functie geeft de bovenste rijen terug in afnemende volgorde van rang op basis van de geëvalueerde waarde van het <rangexpressie-argument> voor elke rij, zodat de som van de waarden van de <rangexpressie> ten minste het gegeven percentage is dat door het <percentage-argument> wordt gespecificeerd. TopPercent levert het kleinst mogelijke aantal elementen op, terwijl toch de gespecificeerde procentwaarde wordt gehaald.
Examples
Het volgende voorbeeld maakt een voorspellingsquery aan tegen het Association-model dat je bouwt met behulp van de Basic Data Mining Tutorial.
Om te begrijpen hoe TopPercent werkt, kan het nuttig zijn om eerst een voorspellingsquery uit te voeren die alleen de geneste tabel teruggeeft.
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
In dit voorbeeld bevat de als invoer gegeven waarde één aanhalingsteken, en moet daarom worden omzeild door deze vooraf te zetten met een ander aanhalingsteken. Als je niet zeker bent van de syntaxis voor het invoegen van een escape-teken, kun je de Prediction Query Builder gebruiken om de query te maken. Wanneer je de waarde uit de dropdownlijst selecteert, wordt het vereiste escape-teken voor je ingevoegd. Voor meer informatie, zie Create a Singleton Query in de Data Mining Designer.
Voorbeeldresultaten:
| Model | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.291283016 | 0.252695851 |
| Waterfles | 2866 | 0.192620472 | 0.175205052 |
| Patchkit | 2113 | 0.142012232 | 0.132389356 |
| Mountainbike binnenband | 1992 | 0.133879965 | 0.125304948 |
| Mountain-200 | 1755 | 0.117951475 | 0.111260823 |
| Binnenband voor wegbanden | 1588 | 0.106727603 | 0.101229538 |
| Wielerpet | 1473 | 0.098998589 | 0.094256014 |
| Fender Set - Berg | 1415 | 0.095100477 | 0.090718432 |
| Mountainbikefleshouder | 1367 | 0.091874454 | 0.087780332 |
| Road Bottle Cage | 1195 | 0.080314537 | 0.077173962 |
De TopPercent-functie neemt de resultaten van deze zoekopdracht en geeft de rijen met de grootste waarden terug die optellen tot het gespecificeerde percentage.
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
Het eerste argument voor de TopPercent-functie is de naam van een kolom in een tabel. In dit voorbeeld wordt de geneste tabel teruggegeven door de Predict-functie aan te roepen en het argument INCLUDE_STATISTICS te gebruiken.
Het tweede argument van de TopPercent-functie is de kolom in de geneste tabel die je gebruikt om de resultaten te ordenen. In dit voorbeeld geeft de INCLUDE_STATISTICS optie de kolommen $SUPPORT, $PROBABILITY en $ADJUSTED PROBABILITY terug. Dit voorbeeld gebruikt $SUPPORT omdat ondersteuningswaarden niet fractioneel zijn en daardoor makkelijker te verifiëren zijn.
Het derde argument van de TopPercent-functie specificeert het percentage, als een dubbel. Om de rijen voor de topproducten te krijgen die samen 50 procent van de totale ondersteuning uitmaken, typ je 50.
Voorbeeldresultaten:
| Model | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.29... | 0.25... |
| Waterfles | 2866 | 0.19... | 0.17... |
| Patchkit | 2113 | 0.14... | 0.13... |
| Mountainbike binnenband | 1992 | 0.133... | 0.12... |
Noot Dit voorbeeld wordt alleen gegeven om het gebruik van TopPercent te illustreren. Afhankelijk van de omvang van je dataset kan het lang duren voordat deze query wordt uitgevoerd.
Warning
De MDX-functies voor TOPPERCENT en BOTTOMPERCENT kunnen onverwachte resultaten genereren wanneer de waarden die worden gebruikt om het percentage te berekenen negatieve getallen bevatten. Dit gedrag heeft geen invloed op de DMX-functies. Voor meer informatie, zie BottomPercent (MDX).