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.
Resumo
| Item | Description |
|---|---|
| Estado da liberação | Disponibilidade geral |
| Products | Excel Power BI (modelos semânticos) Power BI (fluxos de dados) Fabric (Fluxo de dados Gen2) Power Apps (fluxos de dados) Dynamics 365 Customer Insights |
| Tipos de autenticação com suporte | Conta organizacional |
| Documentação de referência da função | — |
Observação
Alguns recursos podem estar presentes em um produto, mas não em outros devido a agendas de implantação e recursos específicos do host.
Pré-requisitos
Uma assinatura do Azure. Acesse Obter uma avaliação gratuita do Azure.
Uma conta de email organizacional que é membro da ID do Microsoft Entra. Este artigo usa essa conta para se conectar aos exemplos de cluster de ajuda do Azure Data Explorer .
Capacidades suportadas
- Import
- DirectQuery (modelos semânticos do Power BI)
- Opções avançadas
- Limitar o número do registro de resultado da consulta
- Limitar o tamanho dos dados de resultado da consulta em Bytes
- Desabilitar truncamento do conjunto de resultados
- Declarações de conjunto adicionais
Conectar-se ao Azure Data Explorer do Power Query Desktop
Para se conectar ao Azure Data Explorer do Power Query Desktop:
Selecione o Azure Data Explorer (Kusto) na experiência de obtenção de dados. A experiência para obter dados no Power Query Desktop varia entre aplicativos. Para obter mais informações sobre a experiência de obter dados do Power Query Desktop para seu aplicativo, acesse Onde obter dados.
No Azure Data Explorer (Kusto), forneça o nome do cluster do Azure Data Explorer. Para este exemplo, use
https://help.kusto.windows.netpara acessar o cluster de ajuda de exemplo. Para outros clusters, a URL está no formulário https:// <ClusterName>.<Region.kusto.windows.net>.Você também pode selecionar um banco de dados hospedado no cluster ao qual está se conectando e uma das tabelas no banco de dados ou uma consulta como
StormEvents | take 1000.Se você quiser usar as opções antecipadas, selecione a opção e insira os dados a serem usados com essa opção. Mais informações: Conectar-se usando opções avançadas
Observação
Talvez seja necessário rolar para baixo para exibir todas as opções avançadas e a seleção de conectividade de dados.
Selecione o modo de conectividade de dados Importar ou DirectQuery (somente no Power BI Desktop). Mais informações: quando usar o modo de Importação ou Consulta Direta
Selecione OK para continuar.
Se você ainda não tiver uma conexão com o cluster, selecione Entrar. Entre com uma conta organizacional e selecione Conectar.
Em Navegador, selecione as informações de banco de dados desejadas e selecione Carregar para carregar os dados ou Transformar Dados para continuar transformando os dados no editor do Power Query. Neste exemplo, StormEvents foi selecionado no banco de dados Samples.
Conectar-se ao Azure Data Explorer do Power Query Online
Para se conectar ao Azure Data Explorer do Power Query Online:
Selecione a opção Azure Data Explorer (Kusto) na interface de obtenção de dados. Diferentes aplicativos têm maneiras distintas de acessar a experiência de obter dados no Power Query Online. Para obter mais informações sobre como acessar a experiência de dados do Power Query Online a partir do seu aplicativo, acesse Onde obter dados.
Em Conectar-se à fonte de dados, forneça o nome do cluster do Azure Data Explorer. Para este exemplo, use
https://help.kusto.windows.netpara acessar o cluster de ajuda de exemplo. Para outros clusters, a URL está no formulário https:// <ClusterName>.<Region.kusto.windows.net>.Você também pode selecionar um banco de dados hospedado no cluster ao qual está se conectando e uma das tabelas no banco de dados ou uma consulta como
StormEvents | take 1000.
Se você quiser usar as opções antecipadas, selecione a opção e insira os dados a serem usados com essa opção. Mais informações: Conectar-se usando opções avançadas
Se necessário, selecione o gateway de dados local no Gateway de Dados.
Se você ainda não tiver uma conexão com o cluster, selecione Entrar. Entre com uma conta organizacional.
Depois de entrar com êxito, selecione Avançar.
Na página Escolher dados , selecione as informações de banco de dados desejadas e selecione Transformar Dados ou Avançar para continuar transformando os dados no editor do Power Query. Neste exemplo, StormEvents foi selecionado no banco de dados Samples.
Conectar usando opções avançadas
Tanto o Power Query Desktop quanto o Power Query Online fornecem um conjunto de opções avançadas que você pode adicionar à sua consulta, se necessário.
A tabela a seguir lista todas as opções avançadas que você pode definir no Power Query Desktop e no Power Query Online.
| Opção avançada | Description |
|---|---|
| Limitar o número do registro de resultado da consulta | O número máximo de registros a serem retornados no resultado. |
| Limitar o tamanho dos dados de resultado da consulta em Bytes | O tamanho máximo dos dados em bytes a serem retornados no resultado. |
| Desabilitar truncamento do conjunto de resultados | Habilite ou desabilite o truncamento de resultados usando a opção notruncation de solicitação. |
| Declarações de Conjunto Adicionais | Define as opções de consulta durante a consulta. As opções de consulta controlam como uma consulta é executada e retorna resultados. Várias instruções Set podem ser separadas por ponto-e-vírgula. |
Para obter informações sobre opções avançadas adicionais não disponíveis na interface do usuário do Power Query, acesse Configurar opções de conector do Azure Data Explorer em uma consulta M.
Quando usar o modo de Importação ou Consulta Direta
No modo De importação, os dados são movidos para o Power BI. No modo DirectQuery, os dados são consultados diretamente do 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.
Para saber mais sobre como usar o DirectQuery, acesse Sobre como usar o DirectQuery no Power BI.
Dicas para usar o conector do Azure Data Explorer para consultar dados
As seções a seguir incluem dicas e truques para usar a linguagem de consulta Kusto com o Power Query.
Consultas complexas no Power BI
Consultas complexas são expressas mais facilmente no Kusto do que no Power Query. Eles devem ser implementados como funções kusto e invocados no Power BI. Esse método é necessário ao usar o DirectQuery com let comandos em uma consulta Kusto. Como o Power BI junta duas consultas, e instruções let não podem ser usadas com o operador join, podem ocorrer erros de sintaxe. Portanto, salve cada parte da junção como uma função Kusto e permita que o Power BI una essas duas funções.
Como simular um operador relativo de data e hora
O Power Query não contém um operador relativo de data e hora, como ago().
Para simular ago(), use uma combinação de funções DateTime.FixedLocalNow e #duration Power Query M.
Em vez dessa consulta usando o operador ago():
StormEvents | where StartTime > (now()-5d)
StormEvents | where StartTime > ago(5d)
Use a seguinte consulta equivalente:
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", []),
#"Filtered Rows" = Table.SelectRows(Source, each [StartTime] > (DateTime.FixedLocalNow()-#duration(5,0,0,0)))
in
#"Filtered Rows"
Configurando opções de conector do Azure Data Explorer em uma consulta M
Você pode configurar as opções do conector do Azure Data Explorer no editor avançado do Power Query na linguagem de consulta M. Usando essas opções, você pode controlar a consulta gerada que está sendo enviada para o cluster do Azure Data Explorer.
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [<options>])
in
Source
Você pode usar qualquer uma das seguintes opções na consulta M:
| Opção | Sample | Description |
|---|---|---|
| MaxRows | [MaxRows=300000] |
Adiciona a instrução truncationmaxrecords set à consulta. Substitui o número máximo padrão de registros que uma consulta pode retornar ao chamador (truncamento). |
| MaxSize | [MaxSize=4194304] |
Adiciona a instrução truncationmaxsize set à consulta. Sobrescreve o tamanho máximo de dados padrão que uma consulta pode retornar ao chamador (truncamento). |
| NoTruncate | [NoTruncate=true] |
Adiciona a instrução notruncation set à consulta. Permite suprimir o truncamento dos resultados da consulta retornados ao chamador. |
| AdditionalSetStatements | [AdditionalSetStatements="set query_datascope=hotcache"] |
Adiciona as instruções de conjunto fornecidas à consulta. Essas instruções são usadas para definir opções de consulta durante a consulta. As opções de consulta controlam como uma consulta é executada e retorna resultados. |
| CaseInsensitive | [CaseInsensitive=true] |
Faz com que o conector gere consultas que não diferenciam maiúsculas de minúsculas— as consultas usam o =~ operador em vez do == operador ao comparar valores. |
| ForçarUsoContém | [ForceUseContains=true] |
Faz com que o conector gere consultas que usam contains em vez do padrão has ao trabalhar com campos de texto. Embora has seja muito mais eficiente, ele não lida com subcadeias de caracteres. Para obter mais informações sobre a diferença entre os dois operadores, vá para operadores de cadeia de caracteres. |
| Intervalo | [Timeout=#duration(0,10,0,0)] |
Configura o tempo limite do cliente e do servidor da consulta para a duração fornecida. |
| ClientRequestIdPrefix | [ClientRequestIdPrefix="MyReport"] |
Configura um prefixo ClientRequestId para todas as consultas enviadas pelo conector. Isso permite que as consultas sejam identificáveis no cluster como provenientes de um relatório específico e/ou fonte de dados. |
Observação
Você pode combinar várias opções para alcançar o comportamento necessário: [NoTruncate=true, CaseInsensitive=true]
Alcanzando los límites de consulta do Kusto
As consultas kusto retornam, por padrão, até 500.000 linhas ou 64 MB, conforme descrito nos limites de consulta. Você pode substituir esses padrões usando Opções Avançadas na janela de conexão do Azure Data Explorer (Kusto):
Essas opções emitem instruções de conjunto com sua consulta para alterar os limites de consulta padrão:
-
Limitar o número de registro de resultado da consulta gera um
set truncationmaxrecords -
Limitar o tamanho dos dados de resultado da consulta em Bytes gera um
set truncationmaxsize -
Desabilitar truncamento de conjunto de resultados gera um
set notruncation
Diferenciação de maiúsculas e minúsculas
Por padrão, o conector gera consultas que usam o operador == sensível a maiúsculas e minúsculas ao comparar valores de cadeia de caracteres. Se os dados não diferenciam maiúsculas de minúsculas, esse não é o comportamento desejado. Para alterar a consulta gerada, use a opção de conector CaseInsensitive.
let
Source = AzureDataExplorer.Contents("help", "Samples", "StormEvents", [CaseInsensitive=true]),
#"Filtered Rows" = Table.SelectRows(Source, each [State] == "aLaBama")
in
#"Filtered Rows"
Usando parâmetros de consulta
Você pode usar parâmetros de consulta para modificar a consulta dinamicamente.
Usar um parâmetro de consulta nas etapas de consulta
Você pode usar um parâmetro de consulta em qualquer etapa de consulta que dê suporte a ele. Por exemplo, filtre os resultados com base no valor de um parâmetro. Neste exemplo, selecione o menu suspenso no lado direito da State coluna no editor do Power Query, selecione Filtros de Texto Iguais> e, em seguida, selecione ALABAMA em Manter linhas em que 'Estado'.
Fornecer parâmetros para uma função do Azure Data Explorer
As funções kusto são uma ótima maneira de manter consultas KQL (Linguagem de Consulta Kusto) complexas. É recomendável usar funções em vez de inserir KQL no Power Query. A principal vantagem de usar a função é que a lógica é mantida uma vez em um ambiente fácil de criar e testar.
As funções também podem receber parâmetros e, portanto, adicionar muita flexibilidade ao usuário do Power BI. O Power BI tem várias maneiras de fatiar os dados. Mas todos os filtros e segmentações são adicionados após o KQL original e, em muitos casos, você desejará usar a filtragem em um estágio inicial da consulta. Usar funções e parâmetros dinâmicos é uma maneira muito eficaz de personalizar a consulta final.
Criando uma função
Você pode criar a função a seguir em qualquer cluster do Azure Data Explorer ao qual você tem acesso, incluindo um cluster gratuito. A função retorna a tabela SalesTable do cluster de ajuda, filtrada para transações de vendas maior ou menor que um número fornecido pelo usuário do relatório.
.create-or-alter function LargeOrSmallSales(Cutoff:long,Op:string=">")
{
cluster("help").database("ContosoSales").SalesTable
| where (Op==">" and SalesAmount >= Cutoff) or (Op=="<" and SalesAmount <= Cutoff)
}
Depois de criar a função, você pode testá-la usando:
LargeOrSmallSales(2000,">")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Você também pode testá-lo usando:
LargeOrSmallSales(20,"<")
| summarize Sales=tolong(sum(SalesAmount)) by Country
Usando a função no Power BI
Conecte-se ao cluster em que você criou a função.
No navegador do Power Query, selecione a função na lista de objetos. O conector analisa os parâmetros e os apresenta acima dos dados no lado direito do navegador.
Adicione valores aos parâmetros e selecione Aplicar.
Depois que a visualização for exibida, selecione Transformar Dados.
Uma vez no editor do Power Query, crie dois parâmetros, um para o valor de corte e outro para o operador.
Volte para a
LargeOrSmallSalesconsulta e substitua os valores pelos parâmetros de consulta na barra de fórmulas.
No editor, crie duas tabelas estáticas (Inserir Dados) para fornecer opções para os dois parâmetros. Para o corte, você pode criar uma tabela com valores como 10, 50, 100, 200, 500, 1000, 2000. Para
Op, uma tabela com dois valores de texto<e>.As duas colunas nas tabelas precisam ser associadas aos parâmetros de consulta usando a seleção Associar ao parâmetro .
O relatório final inclui filtros para as duas tabelas estáticas e quaisquer elementos visuais do resumo de vendas.
A tabela base é filtrada primeiro e depois agregada.
Usando um parâmetro de consulta nos detalhes da conexão
Use um parâmetro de consulta para filtrar informações na consulta e otimizar o desempenho da consulta.
No Editor Avançado:
Localize a seguinte seção da consulta:
Origem = AzureDataExplorer.Contents("<Cluster>", "<Banco de Dados>", "<Consulta>", [])
Por exemplo:
Source = AzureDataExplorer.Contents("Help", "Samples", "StormEvents | where State == 'ALABAMA' | take 100", [])Insira um parâmetro de consulta na consulta KQL (Kusto Query Language).
Se você colar uma consulta KQL diretamente na caixa de diálogo de conexão, a consulta fará parte da etapa de origem no Power Query. Você pode inserir parâmetros como parte da consulta usando o editor avançado ou ao editar a instrução de origem na barra de fórmulas. Uma consulta de exemplo pode ser
StormEvents | where State == ' " & State & " ' | take 100.Stateé um parâmetro e, em tempo de execução, a consulta será:StormEvents | where State == 'ALABAMA' | take 100Se a consulta contiver aspas, codifique-as corretamente. Por exemplo, a seguinte consulta no KQL:
"StormEvents | where State == "ALABAMA" | take 100"será exibido no Editor Avançado da seguinte maneira com duas aspas:
"StormEvents | where State == ""ALABAMA"" | take 100"Se você estiver usando um parâmetro, por
Stateexemplo, ele deverá ser substituído pela seguinte consulta, que contém três aspas:"StormEvents | where State == """ & State & """ | take 100"
Usar Value.NativeQuery para funcionalidades do Azure Data Explorer
Para usar um recurso do Azure Data Explorer que não tem suporte no Power Query, use o método Value.NativeQuery no Power Query M. Esse método insere um fragmento da Linguagem de Consulta Kusto dentro da consulta gerada e também pode ser usado para fornecer mais controle sobre a consulta executada.
O exemplo a seguir mostra como usar a percentiles função no Azure Data Explorer:
let
StormEvents = AzureDataExplorer.Contents(DefaultCluster, DefaultDatabase){[Name = DefaultTable]}[Data],
Percentiles = Value.NativeQuery(StormEvents, "| summarize percentiles(DamageProperty, 50, 90, 95) by State")
in
Percentiles
Não use o agendador de atualização de dados do Power BI para emitir comandos de controle para o Kusto
O Power BI inclui um agendador de atualização de dados que pode emitir periodicamente consultas em uma fonte de dados. Esse mecanismo não deve ser usado para agendar comandos de controle para o Kusto porque o Power BI pressupõe que todas as consultas sejam somente leitura.