Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
SQL Server 2019 e anteriores Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Importante
A mineração de dados foi preterida no SQL Server 2017 Analysis Services e agora descontinuada no SQL Server 2022 Analysis Services. A documentação não é atualizada para recursos preteridos e descontinuados. Para saber mais, consulte Compatibilidade com versões anteriores do Analysis Services.
O objetivo de um projeto típico de mineração de dados é usar o modelo de mineração para fazer previsões. Por exemplo, pode querer prever o tempo de inatividade esperado para um determinado grupo de servidores, ou gerar uma pontuação que indique se segmentos de clientes têm probabilidade de responder a uma campanha publicitária. Para fazer tudo isto, criaria uma consulta de previsão.
Funcionalmente, existem diferentes tipos de consultas de previsão suportadas no SQL Server, dependendo do tipo de entradas para a consulta:
| Tipo de consulta | Opções de Consulta |
|---|---|
| Consultas de previsão singleton | Use uma consulta singleton quando quiser prever resultados para um único caso novo, ou para vários casos novos. Fornece os valores de entrada diretamente na consulta, e a consulta é executada como uma única sessão. |
| Previsões em lote | Use previsões em lote quando tiver dados externos que queira introduzir no modelo, para usar como base para previsões. Para fazer previsões para um conjunto completo de dados, mapeias os dados da fonte externa para as colunas do modelo e depois especificas o tipo de dados preditivos que queres gerar. A consulta para todo o conjunto de dados é executada numa única sessão, tornando esta opção muito mais eficiente do que enviar múltiplas consultas repetidas. |
| Previsões de Séries Temporais | Use uma consulta de série temporal quando quiser prever um valor ao longo de vários passos futuros. O SQL Server Data Mining também fornece a seguinte funcionalidade em consultas de séries temporais: Pode estender um modelo existente adicionando novos dados como parte da consulta e fazer previsões baseadas na série composta. Pode aplicar um modelo existente a uma nova série de dados usando a opção REPLACE_MODEL_CASES. Pode realizar previsões cruzadas. |
As secções seguintes descrevem a sintaxe geral das consultas de previsão, os diferentes tipos de consultas de previsão e como trabalhar com os resultados das consultas de previsão.
Conceção Básica de Consultas de Previsão
Trabalhar com os Resultados das Consultas
Conceção Básica de Consultas de Previsão
Quando cria uma previsão, normalmente fornece algum dado novo e pede ao modelo que gere uma previsão com base nesses novos dados.
Numa consulta de previsão por lote, mapeia o modelo para uma fonte externa de dados usando uma junção de predição.
Numa consulta de previsão de singleton, introduz um ou mais valores para usar como entradas. Pode criar múltiplas previsões usando uma consulta de previsão única. No entanto, se precisares de criar muitas previsões, o desempenho é melhor quando usas uma consulta em lote.
Tanto as consultas singleton como as de previsão em lote usam a sintaxe PREDICTION JOIN para definir os novos dados. A diferença está na forma como o lado de entrada da junção de previsão é especificado.
Numa consulta de previsão em lote, os dados vêm de uma fonte de dados externa especificada usando a sintaxe OPENQUERY.
Numa consulta de previsão singleton, os dados são fornecidos em linha como parte da consulta.
Para modelos de séries temporais, os dados de entrada nem sempre são necessários; é possível fazer previsões apenas usando os dados já existentes no modelo. No entanto, se especificar novos dados de entrada, deve decidir se vai usar esses novos dados para atualizar e estender o modelo, ou para substituir a série original de dados que foi usada no modelo. Para mais informações sobre estas opções, consulte Exemplos de Consultas de Modelos de Séries Temporais.
Adição de Funções de Previsão
Para além de prever um valor, pode personalizar uma consulta de previsão para devolver vários tipos de informação relacionada com a previsão. Por exemplo, se a previsão cria uma lista de produtos para recomendar a um cliente, pode também querer devolver a probabilidade de cada previsão, para poder classificá-las e apresentar apenas as principais recomendações ao utilizador.
Para isso, adiciona-se funções de previsão à consulta. Cada modelo ou tipo de consulta suporta funções específicas. Por exemplo, os modelos de agrupamento suportam funções especiais de predição que fornecem detalhes adicionais sobre os agrupamentos criados pelo modelo, enquanto os modelos de séries temporais têm funções que calculam diferenças ao longo do tempo. Existem também funções gerais de predição que funcionam com quase todos os tipos de modelos. Para uma lista das funções de predição suportadas em diferentes tipos de consultas, veja este tópico a referência DMX: Funções Gerais de Previsão (DMX).
Criação de Consultas de Previsão Singleton
Uma consulta de previsão do tipo singleton é útil quando se quer criar previsões rápidas em tempo real. Um cenário comum pode ser que tenha obtido informação de um cliente, talvez através de um formulário num site, e queira submeter esses dados como entrada para uma consulta de previsão singleton. Por exemplo, quando um cliente escolhe um produto de uma lista, pode usar essa seleção como entrada para uma consulta que prevê os melhores produtos a recomendar.
As consultas de previsão singleton não requerem uma tabela separada que contenha entradas. Em vez disso, fornece uma ou várias linhas de valores como entrada para o modelo, e a previsão ou previsões são devolvidas em tempo real.
Advertência
Apesar do nome, as consultas de previsão singleton não fazem apenas previsões individuais — pode gerar múltiplas previsões para cada conjunto de entradas. Fornece múltiplos casos de entrada criando uma instrução SELECT para cada caso de entrada e combinando-os com o operador UNION.
Quando se cria uma consulta de previsão singleton, é necessário fornecer os dados novos ao modelo na forma de uma PREDICTION JOIN. Isto significa que, mesmo que não esteja a mapear para uma tabela real, deve garantir que os novos dados correspondem às colunas existentes no modelo de mineração. Se as novas colunas de dados e os novos dados coincidirem exatamente, o SQL Server Analysis Services irá mapear as colunas por si. Isto chama-se NATURAL PREDICTION JOIN. No entanto, se as colunas não coincidirem, ou se os novos dados não conterem o mesmo tipo e quantidade de dados que o modelo, deve especificar quais as colunas do modelo que correspondem aos novos dados, ou especificar os valores em falta.
Consultas de Previsão em Batch
Uma consulta de previsão em lote é útil quando tem dados externos que pretende usar para fazer previsões. Por exemplo, pode ter criado um modelo que categoriza os clientes pela sua atividade online e histórico de compras. Pode aplicar esse modelo a uma lista de leads recém-adquiridos, criar projeções de vendas ou identificar alvos para campanhas propostas.
Quando realiza uma junção de previsão, deve mapear as colunas do modelo para as colunas da nova fonte de dados. Portanto, a fonte de dados que escolher para uma entrada deve conter dados um pouco semelhantes aos do modelo. A nova informação não tem de corresponder exatamente e pode ser incompleta. Por exemplo, suponha que o modelo foi treinado usando informação sobre rendimento e idade, mas a lista de clientes que está a usar para previsões tem idade mas nada sobre rendimento. Neste cenário, ainda pode mapear os novos dados para o modelo e criar uma previsão para cada cliente. No entanto, se o rendimento fosse um preditor importante para o modelo, a falta de informação completa afetaria a qualidade das previsões.
Para obter os melhores resultados, deve juntar o maior número possível de colunas correspondentes entre os novos dados e o modelo. No entanto, a consulta terá sucesso mesmo que não haja correspondências. Se nenhuma coluna for unida, a consulta devolverá a previsão marginal, que é equivalente à afirmação SELECT <predictable-column> FROM <model> sem uma cláusula PREDICTION JOIN.
Depois de mapear com sucesso todas as colunas relevantes, executa a consulta, e o SQL Server Analysis Services faz previsões para cada linha dos novos dados com base em padrões do modelo. Podes guardar os resultados numa nova tabela na vista da fonte de dados que contenha os dados externos, ou podes copiar e colar os dados se estiveres a usar SQL Server Data Tools ou SQL Server Management Studio.
Advertência
Se usar o designer nas Ferramentas de Dados do SQL Server, a fonte de dados externa deve primeiro ser definida como uma vista de fonte de dados.
Se usar DMX para criar uma junção de previsão, pode especificar a fonte de dados externa usando os comandos OPENQUERY, OPENROWSET ou SHAPE. O método padrão de acesso a dados nos templates DMX é o OPENQUERY. Para informações sobre estes métodos, consulte <a consulta> de dados de origem.
Previsões em Modelos de Mineração de Séries Temporais
Os modelos de séries temporais são diferentes de outros tipos de modelos; Pode usar o modelo tal como está para criar previsões, ou pode fornecer novos dados ao modelo para o atualizar e criar previsões baseadas em tendências recentes. Se adicionares novos dados, podes especificar a forma como esses novos dados devem ser usados.
Estender os casos do modelo significa adicionar os novos dados à série de dados existente no modelo de séries temporais. Doravante, as previsões baseiam-se na nova série combinada. Esta opção é boa quando se quer simplesmente adicionar alguns pontos de dados a um modelo existente.
Por exemplo, suponha que tem um modelo de séries temporais existente que foi treinado com os dados de vendas do ano anterior. Depois de recolher vários meses de novos dados de vendas, decide atualizar as suas previsões de vendas para o ano em curso. Pode criar uma junção de previsão que atualiza o modelo adicionando novos dados e estende o modelo para fazer novas previsões.
Substituir os casos do modelo significa manter o modelo treinado, mas substituir os casos subjacentes por um novo conjunto de dados de casos. Esta opção é útil quando se quer manter a tendência no modelo, mas aplicá-la a um conjunto diferente de dados.
Por exemplo, o seu modelo original pode ter sido treinado com um conjunto de dados com volumes de vendas muito elevados; Quando substitui os dados subjacentes por uma nova série (talvez de uma loja com menor volume de vendas), preserva a tendência, mas as previsões começam pelos valores da série de substituição.
Independentemente da abordagem que uses, o ponto de partida para as previsões é sempre o fim da série original.
Para mais informações sobre como criar junções de previsão em modelos de séries temporais, consulte Exemplos de Consulta de Modelos de Séries Temporais ou PredictTimeSeries (DMX).
Trabalhar com os Resultados de uma Consulta de Previsão
As suas opções para guardar os resultados de uma consulta de previsão de mineração de dados são diferentes dependendo de como cria a consulta.
Quando constrói uma consulta usando o Prediction Query Builder no SQL Server Management Studio ou SQL Server Data Tools, pode guardar os resultados de uma consulta de previsão numa fonte de dados existente do SQL Server Analysis Services. Para mais informações, consulte Visualizar e Guardar os Resultados de uma Consulta de Previsão.
Quando cria consultas de previsão usando DMX no painel de Consultas do SQL Server Management Studio, pode usar as opções de saída de consulta para guardar os resultados num ficheiro, ou no painel de Resultados de Consulta como texto ou numa grelha. Para obter mais informações, consulte Editores de Consulta e Texto (SQL Server Management Studio).
Quando executa uma consulta de previsão usando os componentes de Serviços de Integração, a tarefa permite escrever os resultados para uma base de dados utilizando um gestor de conexões ADO.NET disponível ou gestor de conexões OLEDB. Para mais informações, consulte Tarefa de Consulta de Mineração de Dados.
É importante compreender que os resultados de uma consulta de previsão não são como os resultados de uma consulta numa base de dados relacional, que devolve sempre uma única linha de valores relacionados. Cada função de predição DMX que adiciona a uma consulta devolve o seu próprio conjunto de linhas. Portanto, quando faz uma previsão sobre um único caso, o resultado pode ser um valor previsto juntamente com várias colunas de tabelas aninhadas contendo detalhes adicionais.
Se combinares várias funções numa consulta, os resultados de retorno são combinados como um conjunto de linhas hierárquico. Por exemplo, suponha que usa um modelo de séries temporais para prever valores futuros para o montante e a quantidade de vendas, usando uma consulta como esta instrução DMX:
SELECT
PredictTimeSeries([Forecasting].[Amount]) as [PredictedAmount]
, PredictTimeSeries([Forecasting].[Quantity]) as [PredictedQty]
FROM
[Forecasting]
Os resultados desta consulta são duas colunas, uma para cada série prevista, onde cada linha contém uma tabela aninhada com os valores previstos:
Quantidade Prevista
| $TIME | Montante |
|---|---|
| 201101 | 172067.11 |
| $TIME | Montante |
|---|---|
| 201102 | 363390.68 |
Quantidade prevista
| $TIME | Quantidade |
|---|---|
| 201101 | 77 |
| $TIME | Quantidade |
|---|---|
| 201102 | 260 |
Se o seu fornecedor não conseguir lidar com conjuntos de linhas hierárquicos, pode achatar os resultados usando a palavra-chave FLATTEN na consulta de previsão. Para mais informações, incluindo exemplos de conjuntos de linhas achatados, veja SELECT (DMX).
Ver também
Consultas de Conteúdo (Mineração de Dados)
Consultas de Definição de Dados (Mineração de Dados)