TopSum (DMX)

Aplica-se a: SQL Server Analysis Services

Devolve, por ordem decrescente de classificação, as linhas mais altas de uma tabela cujo total acumulado é pelo menos um valor especificado.

Syntax

  
TopSum(<table expression>, <rank expression>, <sum>)  

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

A função TopSum devolve as linhas mais altas por ordem decrescente de rank com base no valor avaliado do <argumento de expressão> de rank para cada linha, de modo que a soma dos <valores das expressões> de rank seja pelo menos o total dado especificado pelo argumento <de soma> . O TopSum devolve o menor número possível de elementos, mantendo o valor de soma especificado.

Examples

O exemplo seguinte cria uma consulta de previsão contra o modelo de Associação que constróis usando o Tutorial Básico de Mineração de Dados.

Para compreender como funciona o TopPercent, 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 TopSum recolhe os resultados desta consulta e devolve as linhas com os maiores valores que somam a contagem especificada.

SELECT   
TopSum  
    (  
    Predict([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,10),  
    $PROBABILITY,  
    .5)  
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 TopSum é 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 TopSum é 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 $PROBABILITY para devolver linhas que somam pelo menos 50% probabilidade.

O terceiro argumento da função TopSum especifica a soma alvo, como um duplo. Para obter as linhas dos principais produtos que somam 50 por cento de probabilidade, escreve 0,5.

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...

Nota Este exemplo é fornecido apenas para ilustrar a utilização do TopSum. Dependendo do tamanho do seu conjunto de dados, esta consulta pode demorar muito tempo a ser executada.