Compartilhar via


TopSum (DMX)

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

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 é compilada usando o Tutorial de mineração de dados básico.

Para compreender como a função TopPercent 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

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

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.