Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server Analysis Services
Devolve o número especificado de linhas superiores por ordem decrescente de posição, conforme especificado por uma expressão.
Syntax
TopCount(<table expression>, <rank expression>, <count>)
Aplica-se a
Uma expressão que devolve uma tabela, como uma <referência> de coluna de tabela, ou uma função que devolve uma tabela.
Tipo de Retorno
<Expressão da tabela>
Observações
O valor fornecido pelo <argumento da expressão> de rank determina a ordem decrescente de classificação para as linhas fornecidas no <argumento da expressão> da tabela, e o número de linhas mais altas especificadas no <argumento de contagem> é devolvido.
A função TopCount foi originalmente introduzida para permitir previsões associativas e, em geral, produz os mesmos resultados que uma afirmação que inclui as cláusulas SELECT TOP e ORDER BY . Obterá melhor desempenho para previsões associativas se usar a função Predict (DMX ), que suporta a especificação de várias previsões para devolver.
No entanto, há situações em que ainda pode precisar de usar o TopCount. Por exemplo, o DMX não suporta o qualificador TOP numa instrução sub-select. A função PredictHistogram (DMX) também não suporta a adição de TOP.
Examples
Os exemplos seguintes são consultas de previsão contra o modelo de Associação que constróis usando o Tutorial Básico de Mineração de Dados. As consultas devolvem os mesmos resultados, mas o primeiro exemplo usa TopCount, e o segundo exemplo usa a função Predict.
Para compreender como funciona o TopCount, pode ser útil primeiro executar uma consulta de previsão que devolve apenas a tabela aninhada.
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
Neste exemplo, o valor fornecido como entrada contém uma única aspas, e por isso deve ser evitado precedendo-o com outra aspas simples. Se não tiver a certeza da sintaxe para inserir um carácter de escape, pode usar o Prediction Query Builder para criar a consulta. Quando selecionas o valor na lista suspensa, o carácter de escape necessário é inserido para ti. Para mais informações, consulte Criar uma Consulta Singleton no Data Mining Designer.
Exemplos de resultados:
| Modelo | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.291283016 | 0.252695851 |
| Garrafa de Água | 2866 | 0.192620472 | 0.175205052 |
| Kit de patch | 2113 | 0.142012232 | 0.132389356 |
| Câmara de pneu de montanha | 1992 | 0.133879965 | 0.125304948 |
| Mountain-200 | 1755 | 0.117951475 | 0.111260823 |
| Câmara de Ar para Pneus de Estrada | 1588 | 0.106727603 | 0.101229538 |
| Boné de ciclismo | 1473 | 0.098998589 | 0.094256014 |
| Fender Set - Montanha | 1415 | 0.095100477 | 0.090718432 |
| Gaiola de Garrafas da Montanha | 1367 | 0.091874454 | 0.087780332 |
| Gaiola de Garrafas de Estrada | 1195 | 0.080314537 | 0.077173962 |
A função TopCount recolhe os resultados desta consulta e devolve o número especificado das linhas de menor valor.
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
O primeiro argumento para a função TopCount é o nome de uma coluna de tabela. Neste exemplo, a tabela aninhada é devolvida chamando a função Predict e usando o argumento INCLUDE_STATISTICS.
O segundo argumento para a função TopCount é a coluna na tabela aninhada que usas para ordenar os resultados. Neste exemplo, a opção INCLUDE_STATISTICS devolve as colunas $SUPPORT, $PROBABILITY e $ADJUSTED PROBABILIDADE. Este exemplo usa $SUPPORT para classificar os resultados.
O terceiro argumento da função TopCount especifica o número de linhas a devolver, como um inteiro. Para obter os três produtos principais, conforme encomendado pela $SUPPORT, escreve 3.
Exemplos de resultados:
| Modelo | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.29... | 0.25... |
| Garrafa de Água | 2866 | 0.19... | 0.17... |
| Kit de patch | 2113 | 0.14... | 0.13... |
No entanto, este tipo de consulta pode afetar o desempenho num contexto de produção. Isto acontece porque a consulta devolve um conjunto de todas as previsões do algoritmo, ordena essas previsões e devolve as 3 superiores.
O exemplo seguinte fornece uma instrução alternativa que devolve os mesmos resultados, mas executa significativamente mais rapidamente. Este exemplo substitui o TopCount pela função Predict, que aceita um número de previsões como argumento. Este exemplo também utiliza a palavra-chave $SUPPORT para recuperar diretamente a coluna da tabela aninhada.
SELECT Predict ([Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3, $SUPPORT)
Os resultados contêm as 3 principais previsões ordenadas pelo valor de suporte. Pode substituir $SUPPORT por $PROBABILITY ou $ADJUSTED_PROBABILIDADE para devolver previsões ordenadas por probabilidade ou probabilidade ajustada. Para mais informações, consulte Prever (DMX).