Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Azure Data Explorer é um serviço de exploração de dados rápido e altamente escalonável para dados telemétricos e de log. O Power BI é uma solução de análise de negócios que permite que você visualize os dados e compartilhe os resultados na sua organização. Com Parâmetros M dinâmicos, você pode criar relatórios do Power BI que dão aos visualizadores a capacidade de usar filtros ou segmentações para definir valores para parâmetros de consulta KQL.
Neste artigo, você começará com um novo projeto do Power BI e usará os dados de exemplo para criar um relatório que usa uma segmentação para filtrar dados em uma consulta M dinâmica vinculada a uma função KQL.
Pré-requisitos
Você precisará do seguinte para concluir este artigo:
- Uma conta da Microsoft ou uma identidade de usuário do Microsoft Entra para entrar no cluster de ajuda.
- Power BI Desktop (selecione DOWNLOAD GRATUITO)
- Ativando parâmetros de consulta M dinâmicos
Adicionar conexão de consulta direta à função KQL
Primeiro, configure um conector para Power BI.
No Power BI Desktop, na guia Início, selecione Obter Dados e depois Mais.
Pesquise por Azure Data Explorer, depois selecione Azure Data Explorer e Conectar.
Na tela do conector, preencha o formulário com as informações a seguir.
Configuração Valor Descrição do campo Cluster https://help.kusto.windows.net A URL do cluster de ajuda. Para outros clusters, a URL está no formato https://<NomeCluster>.<Região>.kusto.windows.net. Backup de banco de dados Deixar em branco Um banco de dados que está hospedado no cluster ao qual você está se conectando. Vamos selecioná-lo em uma etapa posterior. Nome da tabela Deixar em branco Uma das tabelas no banco de dados, ou uma consulta como StormEvents | take 1000
. Vamos selecioná-lo em uma etapa posterior.Opções avançadas Deixar em branco Opções para suas consultas, como tamanho de conjunto de resultados. Modo de conectividade de dados DirectQuery Determina se o Power BI importa os dados ou se conecta diretamente para consultas M dinâmicas. Observação
No modo de Importação, os dados são movidos para o Power BI. No modo DirectQuery, os dados são consultados diretamente do seu cluster.
Use o modo de Importação quando:
- Seu conjunto de dados é pequeno.
- Você não precisa de dados quase em tempo real.
- Seus dados já estão agregados ou você executa a agregação no Kusto
Use o modo DirectQuery quando:
- Seu conjunto de dados é muito grande.
- Você precisa de dados quase em tempo real.
Opções avançadas
Configuração Valor de exemplo Descrição do campo Limitar o número de registros de resultado de consulta 300000
O número máximo de registros a serem retornados no resultado Limitar o tamanho de dados de resultado de consulta 4194304
O tamanho máximo dos dados em bytes a serem retornados no resultado Desabilitar o truncamento do conjunto de resultados true
Você pode habilitar ou desabilitar o truncamento de resultados usando a opção de solicitação noTruncation Instruções de definição adicionais set query_datascope=hotcache
Define as propriedades da solicitação durante a consulta. As propriedades de solicitação controlam como uma consulta é executada e retorna os resultados. Caso ainda não tenha uma conexão para o cluster de ajuda, entre. Entre com uma conta organizacional, depois selecione Conectar.
Na tela Navegador, faça o seguinte:
- Expanda o banco de dados Exemplos.
- Selecione a função EventsByStates.
- Para EventTypeParam, insira Vento Forte e, em seguida, selecione Aplicar para visualizar os dados.
- Selecione Transformar Dados.
A função é aberta como uma consulta M dinâmica Editor do Power Query, em que prosseguimos para criar um parâmetro a ser usado com a consulta M dinâmica.
Observação
A função EventsByStates é uma função de exemplo somente leitura que você pode usar para testar a funcionalidade dos parâmetros de consulta M dinâmicos. Ele define a versão final que dá suporte a vários e seleciona todos os valores para o parâmetro. Se você quiser testar a funcionalidade de seleção única no próprio cluster e testar progressivamente a funcionalidade, poderá começar com a definição de seleção única da função a seguir.
.create-or-alter function EventsByStates (EventTypeParam:string) { StormEvents | where EventType == EventTypeParam | summarize Events=count() by EventType, State }
No Editor do Power Query, faça o seguinte:
Selecione Gerenciar Parâmetros>Novo Parâmetro.
Preencha os detalhes com as informações a seguir e, em seguida, selecione OK.
Configuração Valor sugerido Description Nome Type_Param O nome do parâmetro. É recomendável adicionar um sufixo, como _Param, que permite que você o reconheça e o diferencie facilmente de outros parâmetros que você pode criar. Tipo Text O tipo do parâmetro . O tipo do parâmetro deve corresponder ao tipo declarado na função KQL. O texto no Power BI é equivalente à cadeia de caracteres em KQL. Valor Atual Vento forte O valor do parâmetro. Você deve fornecer um valor padrão para este campo.
Na tela Navegação, substitua o valor do parâmetro da função M pelo novo parâmetro.
Opcionalmente, repita as etapas para criar mais parâmetros e os substituir na consulta M dinâmica.
Crie uma tabela com valores para a segmentação de relatório.
Observação
A tabela listará os tipos de evento pelos quais você deseja filtrar. Você pode importar a tabela ou criar uma tabela e inserir manualmente os dados.
Na guia Página Inicial, selecione Fontes Recentes e, em seguida, selecione o cluster de ajuda.
Na tela Navegador, expanda o banco de dados de Exemplos, selecione a tabela StormEvents e, em seguida, selecione OK.
Na caixa de diálogo Configurações de Conexão, selecione Importar e, em seguida, selecione OK.
Clique com o botão direito do mouse na coluna EventType e selecione Remover Outras Colunas.
Clique com o botão direito do mouse na coluna EventType novamente e selecione Remover Duplicatas.
Opcionalmente, adicione outra coluna para definir a ordem de classificação para os valores de segmentação.
Renomeie a tabela como SlicerValues.
Na guia Página inicial, selecione Fechar e Aplicar.
Observação
É exibida uma caixa de diálogo avisando sobre o risco de segurança. Clique em OK para continuar. O motivo pelo qual a caixa de diálogo aparece é porque o Power BI está adicionando uma segunda fonte de dados. Para obter mais informações, confira Níveis de privacidade do Power BI Desktop. No entanto, a maneira como as fontes de dados são usadas neste exemplo é perfeitamente segura.
Associe a coluna EventType na tabela SlicerValues ao parâmetro.
- Selecione a exibição de Modelo à esquerda.
- Na tabela SlicerValues, selecione a coluna EventType.
- No painel Propriedades, expanda Avançado.
- Em Associar ao Parâmetro, selecione Type_Param. Isso associa a coluna EventType ao parâmetro.
Observação
É exibida uma caixa de diálogo avisando sobre o risco de segurança. Clique em Continuar para continuar. O motivo pelo qual a caixa de diálogo aparece é porque o Power BI está enviando dados de uma fonte para outra. Para obter mais informações, confira Níveis de privacidade do Power BI Desktop. No entanto, a maneira como o parâmetro é usado neste exemplo é perfeitamente segura.
Visualizar dados em um relatório
Agora que você tem dados no Power BI Desktop, crie relatórios com base neles. Você criará um relatório simples com uma tabela que mostra o resumo de eventos por estado e uma segmentação para filtrar a tabela por tipo de evento.
Selecione a exibição de Relatório à esquerda.
Adicione uma tabela ao relatório.
- No painel Visualização, selecione Tabela. Uma tabela em branco é adicionada à tela de relatório.
- No painel Campos, expanda EventsByStates e selecione Estado e Eventos. Agora você tem uma tabela que mostra o resumo de eventos por estado.
Adicione a segmentação ao relatório.
- No painel Visualização, selecione Segmentação. Uma segmentação em branco é adicionada à tela de relatório.
- No painel Campos, expanda SlicerValues e selecione EventType. Agora você tem uma segmentação que mostra os tipos de evento.
Agora o relatório está pronto para ser exibido. Observe que, ao selecionar valores de tipo de evento na segmentação, a tabela baseada na consulta M é filtrada pelo tipo de evento que está associado ao parâmetro da consulta M.
Salve o relatório.
Aceitar vários valores de parâmetro
Se você desejar filtrar vários valores de parâmetro na segmentação, poderá fazer isso ajustando as propriedades da coluna EventType e modificando a função KQL da seguinte maneira:
Ajuste as propriedades da coluna EventType na tabela SlicerValues.
- Selecione a exibição de Modelo à esquerda.
- Na tabela SlicerValues, selecione a coluna EventType.
- No painel Propriedades, expanda Avançado e ative a configuração Multisseleção.
Modifique a função KQL, definindo o tipo de parâmetro como dinâmico e alterando a condição
where
para verificar a lista de valores de parâmetro..create-or-alter function EventsByStates (EventTypeParam:dynamic) { StormEvents | where EventType in (EventTypeParam) | summarize Events=count() by EventType, State }
Agora você pode voltar ao relatório e selecionar vários tipos de evento na segmentação.
Aceitar todos os valores de parâmetro
Se você desejar filtrar todos os valores de parâmetro na segmentação, poderá fazer isso ajustando as propriedades da coluna EventType, modificando a função KQL e atualizando o controle da segmentação da seguinte maneira:
Ajuste as propriedades da coluna EventType na tabela SlicerValues.
- Selecione a exibição de Modelo à esquerda.
- Na tabela SlicerValues, selecione a coluna EventType.
- No painel Propriedades, expanda Avançado e ative a configuração Selecionar tudo.
- Opcionalmente, altere a configuração Selecionar todos os valores. Neste exemplo, você usará o valor padrão de SelectAll.
Atualize o controle de segmentação para mostrar a opção Selecionar tudo.
- Selecione a exibição de Relatório à esquerda.
- Selecione a segmentação EventType.
- No painel Visualizações, selecione Formatar, expanda Controles de seleção e ative a configuração da Mostrar opção "Selecionar tudo". A segmentação de tipo de evento mostra a opção Selecionar tudo na parte superior da lista.
Modifique a função KQL, definindo o tipo de parâmetro como dinâmico e alterando a condição
where
para verificar o valor SelectAll ou a lista de valores de parâmetro..create-or-alter function EventsByStates (EventTypeParam:dynamic) { StormEvents | where ("__SelectAll__" in (EventTypeParam)) or (EventType in (EventTypeParam)) | summarize Events=count() by EventType, State }
Agora você pode voltar ao relatório e selecionar todos os tipos de evento na segmentação.
Considerações e limitações
Há algumas considerações e limitações a serem consideradas ao usar parâmetros de consulta M dinâmicos:
- Um único parâmetro não pode ser associado a vários campos e vice-versa.
- Não há suporte para os seguintes tipos de parâmetro:
- Qualquer
- Duration
- Verdadeiro/Falso
- Binário
- Não há suporte para os seguintes filtros:
- Segmentação ou um filtro de tempo relativo
- Data relativa
- Segmentação de hierarquia
- Filtro de inclusão de vários campos
- Excluir filtro / Não filtros
- Realce cruzado
- Filtro de drill-down
- Filtro de drill cruzado
- Filtro N superior
Limpar os recursos
Caso você não precise mais do relatório criado para este artigo, exclua o arquivo do Power BI Desktop (.pbix).