PredictAssociation (DMX)

Aplica-se a: SQL Server Analysis Services

Prevê a pertença associativa.

Por exemplo, pode usar a função PredictAssociation para obter o conjunto de recomendações dado o estado atual do cesto de compras de um cliente.

Syntax

  
PredictAssociation(<table column reference>, option1, option2, n ...)  

Aplica-se a

Algoritmos que contêm tabelas aninhadas previsíveis, incluindo algoritmos de associação e alguns de classificação. Algoritmos de classificação que suportam tabelas aninhadas incluem as Microsoft Decision Trees, Microsoft Naive Bayes e Microsoft Neural Network.

Tipo de Retorno

<Expressão da tabela>

Observações

As opções para a função PredictAssociation incluem EXCLUDE_NULL, INCLUDE_NULL, INCLUSIVE, EXCLUSIVE (por defeito), INPUT_ONLY, INCLUDE_STATISTICS e INCLUDE_NODE_ID.

Note

INCLUSIVE, EXCLUSIVE, INPUT_ONLY e INCLUDE_STATISTICS aplicam-se apenas a uma referência de coluna de tabela, e EXCLUDE_NULL e INCLUDE_NULL aplicam-se apenas a uma referência de coluna escalar.

INCLUDE_STATISTICS só devolve $Probability e $AdjustedProbability.

Se o parâmetro numérico n for especificado, a função PredictAssociation devolve os n primeiros valores mais prováveis com base na probabilidade:

PredictAssociation(colref, [$AdjustedProbability], n)  

Se incluir $AdjustedProbability, a instrução devolve os n primeiros valores com base no $AdjustedProbability.

Examples

O exemplo seguinte utiliza a função PredictAssociation para devolver os quatro produtos na base de dados Adventure Works que têm maior probabilidade de serem vendidos em conjunto.

SELECT  
  PredictAssociation([Association].[v Assoc Seq Line Items],4)  
From  
  [Association]  

O exemplo seguinte demonstra como pode usar uma tabela aninhada como entrada para a função de previsão, usando a cláusula SHAPE. A consulta SHAPE cria um conjunto de linhas com customerId como uma coluna e uma tabela aninhada como segunda coluna, que contém a lista de produtos que o cliente já trouxe.

SELECT T.[CustomerId], PredictAssociation(MyNestedTable, 5) // returns top 5 associated items
FROM My Model
PREDICTION JOIN
SHAPE {
    OPENQUERY([Adventure Works DW],'SELECT CustomerID, OrderNumber
    FROM vAssocSeqOrders ORDER BY OrderNumber')
} APPEND (
    {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, model FROM 
    dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')}
  RELATE OrderNumber to OrderNumber) AS T