Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: Analytické služby SQL Serveru
Vrací určený počet nejvyšších řádků v sestupném pořadí podle pořadí, jak je dáno výrazem.
Syntax
TopCount(<table expression>, <rank expression>, <count>)
Platí pro
Výraz, který vrací tabulku, například <sloupcový odkaz> v tabulce, nebo funkci, která vrací tabulku.
Návratový typ
<Vyjádření v tabulce>
Remarks
Hodnota poskytnutá argumentem <výrazu> hodnosti určuje klesající pořadí řádků uvedených v <argumentu výrazu> tabulky a vrací se počet nejvyšších řádků specifikovaných v argumentu <počtu> .
Funkce TopCount byla původně zavedena pro umožnění asociativních predikcí a obecně dává stejné výsledky jako tvrzení obsahující klauzule SELECT TOP a ORDER BY . Lepší výkon pro asociativní predikce dosáhnete, pokud použijete funkci Predikce (DMX), která podporuje specifikaci určitého počtu předpovědí pro vrácení.
Nicméně jsou situace, kdy možná budete muset TopCount stále používat. Například DMX nepodporuje kvalifikátor TOP v příkazu sub-select. Funkce PredictHistogram (DMX) také nepodporuje přidání TOP.
Examples
Následující příklady jsou predikční dotazy proti modelu asociace, které vytváříte pomocí Základního tutoriálu pro dolování dat. Dotazy vracejí stejné výsledky, ale první příklad používá TopCount a druhý příklad používá funkci Predikt.
Pro pochopení fungování TopCount může být užitečné nejprve spustit predikční dotaz, který vrací pouze vnořenou tabulku.
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
V tomto příkladu obsahuje hodnota zadaná jako vstup jednu uvozovku, a proto ji je třeba předejít dalším jediným uvozovkovým znakem. Pokud si nejste jisti syntaxí pro vložení escape znaku, můžete použít Prediction Query Builder k vytvoření dotazu. Když vyberete hodnotu z rozbalovacího seznamu, vloží se za vás požadovaná postava úniku. Pro více informací viz Vytvořit dotaz pro jednorázové dotazy v návrháři dolování dat.
Příklady výsledků:
| Model | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.291283016 | 0.252695851 |
| Láhev vody | 2866 | 0.192620472 | 0.175205052 |
| Opravná sada | 2113 | 0.142012232 | 0.132389356 |
| Mountain Tire Tube | 1992 | 0.133879965 | 0.125304948 |
| Mountain-200 | 1755 | 0.117951475 | 0.111260823 |
| Silniční dušice | 1588 | 0.106727603 | 0.101229538 |
| Cyklistická čepice | 1473 | 0.098998589 | 0.094256014 |
| Fender Set - Horský | 1415 | 0.095100477 | 0.090718432 |
| Držák láhve na kolo do terénu | 1367 | 0.091874454 | 0.087780332 |
| Silniční lahvová klec | 1195 | 0.080314537 | 0.077173962 |
Funkce TopCount bere výsledky tohoto dotazu a vrací zadaný počet nejmenších řádků.
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
Prvním argumentem funkce TopCount je název sloupce tabulky. V tomto příkladu se vnořená tabulka vrátí voláním funkce Predikce a použitím argumentu INCLUDE_STATISTICS.
Druhým argumentem funkce TopCount je sloupec v vnořené tabulce, který používáte k pořadí výsledků. V tomto příkladu volba INCLUDE_STATISTICS vrací sloupce $SUPPORT, $PROBABILITY a $ADJUSTED PRAVDĚPODOBNOST. Tento příklad používá $SUPPORT k seřazení výsledků.
Třetí argument k funkci TopCount určuje počet řádků, které je třeba vrátit, jako celé číslo. Pro získání třech nejlepších produktů, jak je objednal $SUPPORT, zadáte 3.
Příklady výsledků:
| Model | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.29... | 0.25... |
| Láhev vody | 2866 | 0.19... | 0.17... |
| Opravná sada | 2113 | 0.14... | 0.13... |
Tento typ dotazu však může ovlivnit výkon v produkčním prostředí. Je to proto, že dotaz vrací množinu všech predikcí z algoritmu, třídí tyto předpovědi a vrací první tři.
Následující příklad poskytuje alternativní tvrzení, které vrací stejné výsledky, ale provádí se výrazně rychleji. Tento příklad nahrazuje TopCount funkcí Predict, která přijímá řadu predikcí jako argument. Tento příklad také používá klíčové slovo $SUPPORT k přímému načtení vnořeného sloupce tabulky.
SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)
Výsledky obsahují tři nejlepší předpovědi seřazené podle hodnoty podpory. Můžete $SUPPORT nahradit $PROBABILITY nebo $ADJUSTED_PROBABILITY a vrátit tak předpovědi seřazené podle pravděpodobnosti nebo upravené pravděpodobnosti. Další informace naleznete v tématu Predict (DMX).