TopSum (DMX)

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

Sintaxe

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

Aplica-se a

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 do argumento <expressão de classificação> de cada linha, de modo que a soma dos valores de <expressão de classificação> seja no mínimo o total dado, que é especificado pelo argumento <soma>. TopSum retorna o menor número possível de elementos, embora ainda assim atenda o valor de soma especificado.

Exemplos

O exemplo a seguir cria uma consulta de previsão no modelo de associação que é compilado usando o Tutorial de mineração de dados básico.

Para compreender como a função TopSum funciona, talvez seja ú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çãoObservaçã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 Como criar uma consulta Singleton no Designer de Mineração de Dados.

Resultados do exemplo:

Modelo

$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

1588

0.106727603

0.101229538

Capacete para Ciclismo

1473

0.098998589

0.094256014

Conjunto de pára-lamas - Montanha

1415

0.095100477

0.090718432

Cantil para Mountain Bike

1367

0.091874454

0.087780332

Cantil de estrada

1195

0.080314537

0.077173962

A função TopSum utiliza os resultados desta consulta e retorna as linhas com os maiores valores que totalizam 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 é retornada chamando-se a função Predict e usando-se o argumento INCLUDE_STATISTICS.

O segundo argumento para a função TopSum é a coluna na tabela aninhada que você pode usar para ordenar os resultados. Neste exemplo, a opção de 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 dobro. Para obter as linhas dos principais produtos que somam até 50 por cento de probabilidade, digite .5.

Resultados do exemplo:

Modelo

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.29…

0.25…

Garrafa de água

2866

0.19…

0.17…

Kit de conserto

2113

0.14…

0.13…

ObservaçãoObservação

Este exemplo é fornecido apenas para ilustrar o uso do [TopSum]. Dependendo do tamanho do conjunto de dados, a execução dessa consulta pode ser demorada.