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çã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.
Consulte também