Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för: SQL Server Analysis Services
Returnerar det specificerade antalet översta rader i fallande rangordning enligt ett uttryck.
Syntax
TopCount(<table expression>, <rank expression>, <count>)
Gäller för
Ett uttryck som returnerar en tabell, såsom en <tabellkolumnreferens>, eller en funktion som returnerar en tabell.
Returtyp
<Tabelluttryck>
Remarks
Värdet som tillhandahålls av ranguttrycksargumentet <> bestämmer den minskande rangordningen för de rader som anges i <tabelluttrycksargumentet>, och antalet översta rader som anges i <räkneargumentet> returneras.
TopCount-funktionen introducerades ursprungligen för att möjliggöra associativa förutsägelser och generellt ger den samma resultat som en sats som inkluderar SELECT TOP och ORDER BY-klausuler . Du får bättre prestanda för associativa prediktioner om du använder Predict (DMX)- funktionen, som stödjer specifikation av ett antal prediktioner att returnera.
Det finns dock situationer där du fortfarande kan behöva använda TopCount. Till exempel stöder DMX inte TOP-kvalificeringen i ett subselect-uttalande. Funktionen PredictHistogram (DMX) stöder inte heller tillägg av TOP.
Exempel
Följande exempel är prediktionsfrågor mot associationsmodellen som du bygger med hjälp av Basic Data Mining-tutorialen. Frågorna ger samma resultat, men det första exemplet använder TopCount och det andra exemplet använder funktionen Predict.
För att förstå hur TopCount 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 |
TopCount-funktionen tar resultaten från denna fråga och returnerar det angivna antalet rader med minsta värde.
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
Det första argumentet till TopCount-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 TopCount-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 för att rangordna resultaten.
Det tredje argumentet till TopCount-funktionen specificerar antalet rader som ska returneras, som ett heltal. För att få de tre bästa produkterna, som beställda av $SUPPORT, skriver du 3.
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... |
Denna typ av förfrågan kan dock påverka prestandan i en produktionsmiljö. Detta beror på att frågan returnerar en uppsättning av alla förutsägelser från algoritmen, sorterar dessa förutsägelser och returnerar de tre översta.
Följande exempel ger ett alternativt uttalande som returnerar samma resultat men körs betydligt snabbare. Detta exempel ersätter TopCount med funktionen Predict, som accepterar ett antal prediktioner som argument. Detta exempel använder också nyckelordet $SUPPORT för att direkt hämta kolumnen i den nästlade tabellen.
SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)
Resultaten innehåller de tre främsta förutsägelserna sorterade efter stödvärdet. Du kan ersätta $SUPPORT med $PROBABILITY eller $ADJUSTED_PROBABILITY för att returnera förutsägelser rankade efter sannolikhet eller justerad sannolikhet. Mer information finns i Förutsäga (DMX).