TopSum (DMX)

Aplica-se a: SQL Server Analysis Services

Retorna, em ordem decrescente de classificação, as linhas mais altas de uma tabela, cujo total cumulativo é, no mínimo, um valor especificado.

Sintaxe

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

Aplica-se A

Uma expressão que retorna uma tabela, como uma referência> de <coluna de tabela ou uma função que retorna uma tabela.

Tipo de retorno

<Expressão de tabela>

Comentários

A função TopSum retorna as linhas mais altas em ordem decrescente de classificação com base no valor avaliado do argumento de expressão> de <classificação para cada linha, de modo que a <soma dos valores da expressão> de classificação seja pelo menos o total especificado pelo <argumento de soma>. TopSum retorna o menor número possível de elementos enquanto ainda atende ao valor de soma especificado.

Exemplos

O exemplo a seguir cria uma consulta de previsão no modelo de Associação que você cria usando o Tutorial de Mineração de Dados Básicos.

Para entender como TopPercent funciona, pode ser útil primeiro executar uma consulta de previsão que retorne 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  

Observação

Neste exemplo, o valor fornecido como entrada contém uma única aspa e, portanto, deve ser precedido por outra aspa. Se você não tiver certeza da sintaxe para inserção de um caractere de escape, use o Construtor de Consultas de Previsão para criar a consulta. Quando você seleciona o valor da lista suspensa, o caractere de escape exigido é inserido. Para obter mais informações, consulte Criar uma consulta singleton no Designer de Mineração de Dados.

Resultados do exemplo:

Modelar $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291283016 0.252695851
Water Bottle 2866 0.192620472 0.175205052
Patch kit 2113 0.142012232 0.132389356
Mountain Tire Tube 1992 0.133879965 0.125304948
Mountain-200 1755 0.117951475 0.111260823
Tubo de pneu de estrada 1.588 0.106727603 0.101229538
Capacete para Ciclismo 1473 0.098998589 0.094256014
Fender Set - Mountain 1415 0.095100477 0.090718432
Mountain Bottle Cage 1367 0.091874454 0.087780332
Road Bottle Cage 1195 0.080314537 0.077173962

A função TopSum usa os resultados dessa consulta e retorna 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 da tabela. Neste exemplo, a tabela aninhada é retornada 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 você usa para ordenar os resultados. Neste exemplo, a opção INCLUDE_STATISTICS retorna as colunas $SUPPORT, $PROBABILTY e $ADJUSTED PROBABILITY. Este exemplo usa $PROBABILITY para retornar linhas que totalizam pelo menos 50% de probabilidade.

O terceiro argumento para a função TopSum especifica a soma de destino, como um duplo. Para obter as linhas dos principais produtos que somam até 50 por cento de probabilidade, digite .5.

Resultados do exemplo:

Modelar $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.29... 0.25...
Water Bottle 2866 0.19... 0.17...
Patch kit 2113 0.14... 0.13...

Observação Este exemplo é fornecido apenas para ilustrar o uso de TopSum. Dependendo do tamanho do conjunto de dados, esta consulta pode demorar muito para ser executada.

Confira também

Funções (DMX)
Funções de previsão gerais (DMX)
TopPercent (DMX)