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.
Importante
A partir de 20 de setembro de 2023, não poderá criar novos recursos do Detetor de Anomalias. O serviço de Detetores de Anomalias será retirado a 1 de outubro de 2026. Recomendamos migrar para Microsoft Fabric, que integra o projeto open-source microsoft/anomaly-detector, ou diretamente para o projeto open-source anomaly-detector.
Utilize este tutorial para encontrar anomalias dentro de um conjunto de dados de séries temporais em lote. Usando o Power BI Desktop, irá abrir um ficheiro Excel, preparar os dados para a API do Detetor de Anomalias e visualizar anomalias estatísticas ao longo deste.
Neste tutorial, irá aprender a:
- Use o Power BI Desktop para importar e transformar um conjunto de dados de séries temporais
- Integrar o Power BI Desktop com a API do Detetor de Anomalias para deteção de anomalias em lote
- Visualize anomalias encontradas em seus dados, incluindo valores esperados e vistos e limites de deteção de anomalias.
Pré-requisitos
- Uma subscrição Azure
- Microsoft Power BI Desktop, disponível gratuitamente.
- Um ficheiro excel (.xlsx) que contém pontos de dados de séries cronológicas.
- Depois de teres a tua subscrição de Azure, criar um recurso de Detetor de Anomalias no portal de Azure para obter a tua chave e endpoint.
- Vai precisar da chave e do endpoint do recurso que criar para ligar a sua aplicação à API do Detetor de Anomalias. Fará isto mais adiante no início rápido.
Nota
Para obter melhores resultados ao usar o API do Detetor de Anomalias, os seus dados de séries temporais em formato JSON devem incluir:
- pontos de dados separados pelo mesmo intervalo, faltando não mais de 10% do número esperado de pontos.
- pelo menos 12 pontos de dados se os seus dados não tiverem um padrão sazonal claro.
- pelo menos 4 ocorrências de padrão se os seus dados tiverem um padrão sazonal claro.
Carregar e formatar os dados das séries cronológicas
Para começar, abra o Power BI Desktop e carregue os dados de séries temporais que descarregou dos pré-requisitos. Este ficheiro Excel contém uma série de pares de marca temporal e valor no Tempo Universal Coordenado (UTC).
Nota
Power BI pode usar dados de uma grande variedade de fontes, como ficheiros .csv, bases de dados SQL, armazenamento de blobs Azure e mais.
Na janela principal Power BI Ambiente de Trabalho, selecione a fita Home. No grupo Dados Externos da barra de ferramentas, abra o menu suspenso Obter Dados e selecione Excel.
Depois que a caixa de diálogo aparecer, navegue até a pasta onde você baixou o arquivo de .xlsx de exemplo e selecione-o. Depois que a caixa de diálogo Navegador for exibida, selecione Planilha1 e Editar.
Power BI converterá as marcas temporais na primeira coluna para um tipo de dados Date/Time. Estes carimbos temporais devem ser convertidos em texto para serem enviados para a API do Detetor de Anomalias. Se o editor de Power Query não abrir automaticamente, selecione Editar Consultas no separador inicial.
Selecione a fita Transform na Editor do Power Query. No grupo Qualquer Coluna, abra o menu suspenso Tipo de Dados: e selecione Texto.
Quando receber um aviso sobre como alterar o tipo de coluna, selecione Substituir atual. Depois, selecione Fechar & Aplicar ou Aplicar no separador 'Página Inicial'.
Criar uma função para enviar os dados e formatar a resposta
Para formatar e enviar o ficheiro de dados para a API do Detetor de Anomalias, pode invocar uma consulta na tabela criada acima. No Editor do Power Query, a partir do friso Home, abra o menu suspenso Nova Fonte e selecione Consulta em Branco.
Certifica-te de que a tua nova consulta está selecionada e depois seleciona Editor Avançado.
No Editor Avançado, use o seguinte excerto do Power Query M para extrair as colunas da tabela e enviá-las para a API. Depois, a consulta criará uma tabela a partir da resposta JSON e a retornará. Substitui a variável apiKey pela tua chave de API do Detetor de Anomalias válida, e endpoint pelo teu endpoint. Depois de inserir a consulta no Editor Avançado, selecione Feito.
(table as table) => let
apikey = "[Placeholder: Your Anomaly Detector resource access key]",
endpoint = "[Placeholder: Your Anomaly Detector resource endpoint]/anomalydetector/v1.0/timeseries/entire/detect",
inputTable = Table.TransformColumnTypes(table,{{"Timestamp", type text},{"Value", type number}}),
jsontext = Text.FromBinary(Json.FromValue(inputTable)),
jsonbody = "{ ""Granularity"": ""daily"", ""Sensitivity"": 95, ""Series"": "& jsontext &" }",
bytesbody = Text.ToBinary(jsonbody),
headers = [#"Content-Type" = "application/json", #"Ocp-Apim-Subscription-Key" = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody, ManualStatusHandling={400}]),
jsonresp = Json.Document(bytesresp),
respTable = Table.FromColumns({
Table.Column(inputTable, "Timestamp")
,Table.Column(inputTable, "Value")
, Record.Field(jsonresp, "IsAnomaly") as list
, Record.Field(jsonresp, "ExpectedValues") as list
, Record.Field(jsonresp, "UpperMargins")as list
, Record.Field(jsonresp, "LowerMargins") as list
, Record.Field(jsonresp, "IsPositiveAnomaly") as list
, Record.Field(jsonresp, "IsNegativeAnomaly") as list
}, {"Timestamp", "Value", "IsAnomaly", "ExpectedValues", "UpperMargin", "LowerMargin", "IsPositiveAnomaly", "IsNegativeAnomaly"}
),
respTable1 = Table.AddColumn(respTable , "UpperMargins", (row) => row[ExpectedValues] + row[UpperMargin]),
respTable2 = Table.AddColumn(respTable1 , "LowerMargins", (row) => row[ExpectedValues] - row[LowerMargin]),
respTable3 = Table.RemoveColumns(respTable2, "UpperMargin"),
respTable4 = Table.RemoveColumns(respTable3, "LowerMargin"),
results = Table.TransformColumnTypes(
respTable4,
{{"Timestamp", type datetime}, {"Value", type number}, {"IsAnomaly", type logical}, {"IsPositiveAnomaly", type logical}, {"IsNegativeAnomaly", type logical},
{"ExpectedValues", type number}, {"UpperMargins", type number}, {"LowerMargins", type number}}
)
in results
Invoque a consulta na folha de dados selecionando Sheet1 abaixo de Inserir parâmetro e selecione Invocar.
Importante
Lembre-se de remover a chave do seu código quando terminar e nunca publicá-la publicamente. Para produção, usa uma forma segura de armazenar e aceder às tuas credenciais, como Azure Key Vault. Consulte o artigo Serviços de IA do Azure segurança para mais informações.
Privacidade e autenticação da fonte de dados
Nota
Esteja ciente das políticas de privacidade e acesso a dados da sua organização. Consulte Power BI Níveis de privacidade do ambiente de trabalho para mais informações.
Você pode receber uma mensagem de aviso ao tentar executar a consulta, pois ela utiliza uma fonte de dados externa.
Para corrigir isso, selecione Arquivo e Opções e configurações. Em seguida, selecione Opções. Abaixo de Ficheiro Atual, selecione Privacidade e Ignorar os níveis de privacidade e potencialmente melhorar o desempenho.
Além disso, você pode receber uma mensagem solicitando que especifique como deseja se conectar à API.
Para corrigir isso, selecione Editar credenciais na mensagem. Depois que a caixa de diálogo for exibida, selecione Anônimo para se conectar à API anonimamente. Em seguida, selecione Conectar.
Depois, selecione Fechar & Aplicar na faixa de opções Página Inicial para aplicar as alterações.
Visualize a resposta do API do Detetor de Anomalias
No ecrã principal do Power BI, comece a usar as consultas criadas acima para visualizar os dados. Primeiro, selecione Gráfico de linhas em Visualizações. Em seguida, adicione o carimbo de data/hora da função invocada ao Eixo do gráfico de linhas. Clique com o botão direito do mouse nele e selecione Carimbo de data/hora.
Adicione os seguintes campos da Função Invocada ao campo Valores do gráfico. Use a captura de tela abaixo para ajudar a criar seu gráfico.
- Valor
- Margens superiores
- Margens mais baixas
- Valores Esperados
Depois de adicionar os campos, selecione no gráfico e redimensione-o para mostrar todos os pontos de dados. Seu gráfico será semelhante à captura de tela abaixo:
Exibir pontos de dados de anomalia
No lado direito da janela Power BI, abaixo do painel FIELDS, clique com o botão direito em Value abaixo da consulta Invoked Function, e selecione Nova medida rápida.
Na tela exibida, selecione Valor filtrado como cálculo. Defina o valor base como Sum of Value. Em seguida, arraste IsAnomaly dos campos de Função Invocada para Filtro. Selecione True no menu pendente Filtro.
Depois de selecionar Ok, você terá um Value for True campo, na parte inferior da lista de seus campos. Clique com o botão direito do mouse nele e renomeie-o para Anomalia. Adicione-o aos Valores do gráfico. Em seguida, selecione a ferramenta Formatar e defina o tipo de eixo X como Categórico.
Aplique cores ao gráfico selecionando a ferramenta Formatar e Cores de dados. Seu gráfico deve ter a seguinte aparência: