Visualizar dados do Azure Cosmos DB usando o Power BI
APLICA-SE A: NoSQL
Este artigo descreve as etapas necessárias para conectar dados do Azure Cosmos DB ao Power BI Desktop.
Você pode se conectar ao Azure Cosmos DB a partir da área de trabalho do Power BI usando uma destas opções:
Use o espelhamento no Microsoft Fabric para replicar dados do Azure Cosmos DB no Fabric OneLake. Quaisquer alterações no banco de dados são sincronizadas automaticamente com o Fabric OneLake quase em tempo real, sem afetar o desempenho do banco de dados de origem ou consumir Unidades de Recursos (RUs).
Os relatórios do Power BI podem acessar dados diretamente do OneLake usando o modo DirectLake. Com os recursos aprimorados do Copilot no Power BI no Fabric, você pode aproveitar a IA generativa para obter insights de negócios importantes.
Use o Azure Synapse Link para criar relatórios do Power BI sem impacto no desempenho ou no custo de suas cargas de trabalho transacionais e sem pipelines de ETL.
Você pode usar o DirectQuery ou o modo de importação . Com o DirectQuery, você pode criar painéis/relatórios usando dados em tempo real de suas contas do Azure Cosmos DB, sem importar ou copiar os dados para o Power BI.
Conecte o Power BI Desktop à conta do Azure Cosmos DB com o conector do Azure Cosmos DB para Power BI. Essa opção só está disponível no modo de importação e consumirá RUs alocados para suas cargas de trabalho transacionais.
Nota
Os relatórios criados no Power BI Desktop podem ser publicados no PowerBI.com. A extração direta de dados do Azure Cosmos DB não pode ser executada a partir do PowerBI.com.
Pré-requisitos
Antes de seguir as instruções neste tutorial do Power BI, verifique se você tem acesso aos seguintes recursos:
Crie uma conta de banco de dados do Azure Cosmos DB e adicione dados aos contêineres do Azure Cosmos DB.
Para partilhar os seus relatórios no PowerBI.com, tem de ter uma conta no PowerBI.com. Para saber mais sobre o Power BI e o Power BI Pro, consulte https://powerbi.microsoft.com/pricing.
Vamos começar
Criando relatórios de BI usando o espelhamento no Microsoft Fabric
Você pode habilitar o espelhamento em seus contêineres existentes do Azure Cosmos DB e criar relatórios/painéis de BI nesses dados, quase em tempo real. Para obter instruções sobre como começar a usar a malha e o espelhamento, visite o tutorial de espelhamento do Azure Cosmos DB.
Criando relatórios de BI usando o Azure Synapse Link
Você pode habilitar o Azure Synapse Link em seus contêineres existentes do Azure Cosmos DB e criar relatórios de BI sobre esses dados, em apenas alguns cliques usando o portal do Azure Cosmos DB. O Power BI se conectará ao Azure Cosmos DB usando o modo de Consulta Direta, permitindo que você consulte seus dados do Azure Cosmos DB ao vivo, sem afetar suas cargas de trabalho transacionais.
Para criar um relatório/dashboard do Power BI:
Entre no portal do Azure e navegue até sua conta do Azure Cosmos DB.
Na seção Integrações , abra o painel Power BI e selecione Introdução.
Nota
Atualmente, essa opção só está disponível para API para contas NoSQL. Você pode criar exibições T-SQL diretamente em pools SQL sem servidor Synapse e criar painéis de BI para o Azure Cosmos DB para MongoDB. Consulte "Usar o Power BI e o pool SQL Synapse sem servidor para analisar dados do Azure Cosmos DB com Synapse" para obter mais informações.
Na guia Habilitar Link de Sinapse do Azure, você pode habilitar o Link de Sinapse em sua conta em Habilitar o link de Sinapse do Azure para esta seção de conta. Se o Synapse Link já estiver ativado para sua conta, você não verá essa guia. Esta etapa é um pré-requisito para começar a habilitar o Synapse Link em seus contêineres.
Nota
Habilitar o Azure Synapse Link tem implicações de custo. Consulte a seção de preços do Azure Synapse Link para obter mais detalhes.
Em seguida, na seção Habilitar o Azure Synapse Link para seus contêineres , escolha os contêineres necessários para habilitar o Synapse Link.
Se você já ativou o Synapse Link em alguns contêineres, você verá a caixa de seleção ao lado do nome do contêiner está selecionado. Opcionalmente, você pode desmarcá-los, com base nos dados que deseja visualizar no Power BI.
Se o Synapse Link não estiver habilitado, você poderá ativá-lo em seus contêineres existentes.
Se a ativação do Synapse Link estiver em andamento em qualquer um dos contêineres, os dados desses contêineres não serão incluídos. Você deve voltar a essa guia mais tarde e importar dados quando os contêineres estiverem habilitados.
Dependendo da quantidade de dados em seus contêineres, pode demorar um pouco para ativar o Synapse Link. Para saber mais, consulte o artigo habilitar o Synapse Link em contêineres existentes.
Você pode verificar o progresso no portal como mostrado na tela a seguir. Os contêineres são habilitados com o Synapse Link quando o progresso atinge 100%.
Na guia Selecionar espaço de trabalho, escolha o espaço de trabalho do Azure Synapse Analytics e selecione Avançar. Esta etapa criará automaticamente exibições T-SQL no Synapse Analytics para os contêineres selecionados anteriormente. Para obter mais informações sobre modos de exibição T-SQL necessários para conectar seu Azure Cosmos DB ao Power BI, consulte o artigo Preparar modos de exibição .
Nota
Suas propriedades de contêiner do Azure Cosmos DB serão representadas como colunas em exibições T-SQL, incluindo dados JSON aninhados profundamente. Este é um início rápido para seus painéis de BI. Estas vistas estarão disponíveis na sua área de trabalho/base de dados Synapse; você também pode usar essas mesmas visualizações no Synapse Workspace para exploração de dados, ciência de dados, engenharia de dados, etc. Observe que cenários avançados podem exigir exibições mais complexas ou ajustes finos dessas exibições, para um melhor desempenho. Para obter mais informações. consulte as práticas recomendadas para o artigo Synapse Link ao usar pools SQL sem servidor Synapse.
Você pode escolher um espaço de trabalho existente ou criar um novo. Para selecionar um espaço de trabalho existente, forneça os detalhes Assinatura, Espaço de trabalho e Banco de dados. O portal do Azure usará suas credenciais do Microsoft Entra para se conectar automaticamente ao seu espaço de trabalho Synapse e criar exibições T-SQL. Certifique-se de que tem permissões de "administrador Sinapse" para esta área de trabalho.
Em seguida, selecione Baixar .pbids para baixar o arquivo de fonte de dados do Power BI. Abra o ficheiro transferido. Ele contém as informações de conexão necessárias e abre a área de trabalho do Power BI.
Agora você pode se conectar aos dados do Azure Cosmos DB a partir do Power BI desktop. Uma lista de exibições T-SQL correspondentes aos dados em cada contêiner é exibida.
Por exemplo, a tela a seguir mostra os dados da frota de veículos. Você pode carregar esses dados para análise adicional ou transformá-los antes de carregá-los.
Agora você pode começar a criar o relatório usando os dados analíticos do Azure Cosmos DB. Quaisquer alterações nos dados serão refletidas no relatório, assim que os dados forem replicados para o armazenamento analítico, o que normalmente acontece em alguns minutos.
Criando relatórios de BI usando o conector do Power BI
Nota
A conexão ao Azure Cosmos DB com o conector do Power BI é atualmente suportada apenas para contas do Azure Cosmos DB para NoSQL e API para Gremlin.
Execute o Power BI Desktop.
Você pode Obter dados, ver Fontes recentes ou Abrir outros relatórios diretamente na tela de boas-vindas. Selecione o "X" no canto superior direito para fechar a tela. O modo de exibição Relatório do Power BI Desktop é exibido.
Selecione a faixa de opções Página Inicial e clique em Obter Dados. A janela Obter dados deve aparecer.
Clique em Azure, selecione Azure Cosmos DB (Beta) e clique em Conectar.
Na página Conector de Pré-visualização, clique em Continuar. A janela do Azure Cosmos DB é exibida.
Especifique a URL do ponto de extremidade da conta do Azure Cosmos DB da qual você gostaria de recuperar os dados, conforme mostrado abaixo, e clique em OK. Para usar sua própria conta, você pode recuperar a URL da caixa URI na folha Chaves do portal do Azure. Opcionalmente, você pode fornecer o nome do banco de dados, o nome da coleção ou usar o navegador para selecionar o banco de dados e a coleção para identificar de onde os dados vêm.
Se você estiver se conectando a esse ponto de extremidade pela primeira vez, será solicitada a chave da conta. Para sua própria conta, recupere a chave da caixa Chave Primária na folha Chaves Somente Leitura do portal do Azure. Insira a chave apropriada e clique em Conectar.
Recomendamos que você use a chave somente leitura ao criar relatórios. Isso evita a exposição desnecessária da chave primária a potenciais riscos de segurança. A chave somente leitura está disponível na folha Chaves do portal do Azure.
Quando a conta é conectada com êxito, o painel Navegador é exibido. O Navigator mostra uma lista de bases de dados sob a conta.
Clique e expanda o banco de dados de onde vêm os dados para o relatório. Agora, selecione uma coleção que contenha os dados a serem recuperados.
O painel Visualizar mostra uma lista de itens de Registro . Um documento é representado como um tipo de registro no Power BI. Da mesma forma, um bloco JSON aninhado dentro de um documento também é um Registro. Para visualizar os documentos de propriedades como colunas, clique no botão cinza com duas setas em direções opostas que simbolizam a expansão do registro. Ele está localizado à direita do nome do contêiner, no mesmo painel de visualização.
O modo de exibição Relatório do Power BI Desktop é onde você pode começar a criar relatórios para visualizar dados. Você pode criar relatórios arrastando e soltando campos na tela Relatório .
Há duas maneiras de atualizar dados: ad hoc e agendada. Basta clicar em Atualizar agora para atualizar os dados. Consulte a documentação do Power BI para obter mais informações sobre a opção de atualização agendada.
Problemas e limitações conhecidos
Para contêineres particionados do Cosmos DB, uma consulta SQL com uma função agregada é passada para o Cosmos DB se a consulta também contiver um filtro (cláusula WHERE) na Chave de Partição. Se a consulta agregada não contiver um filtro na Chave de Partição, a agregação será executada pelo conector.
O conector não transmite uma função agregada se for chamado após a aplicação de TOP ou LIMIT. O Cosmos DB processa a operação TOP no final ao processar uma consulta. Por exemplo, na consulta a seguir, TOP é aplicado na subconsulta, enquanto a função de agregação é aplicada sobre esse conjunto de resultados:
SELECIONE COUNT(1) DE (SELECIONE TOP 4 * DE EMP) E
Se DISTINCT é fornecido em uma função agregada, o conector não passa a função agregada para o Cosmos DB se uma cláusula DISTINCT é fornecida em uma função agregada. Quando presente em uma função agregada, DISTINCT não é suportado pela API SQL do Cosmos DB.
Para a função de agregação SOMA, o Cosmos DB retorna undefined como o conjunto de resultados se qualquer um dos argumentos em SUM for string, booleano ou null. No entanto, se houver valores nulos, o conector passa a consulta para o Cosmos DB de tal forma que pede à fonte de dados para substituir um valor nulo por zero como parte do cálculo de SOMA.
Para a função de agregação AVG, o Cosmos DB retorna undefined como conjunto de resultados se qualquer um dos argumentos em SUM for string, booleano ou null. O conector expõe uma propriedade de conexão para desabilitar a transmissão da função de agregação do AVG para o Cosmos DB caso esse comportamento padrão do Cosmos DB precise ser substituído. Quando a passagem do AVG é desativada, ela não é passada para o Cosmos DB e o conector lida com a execução da operação de agregação do AVG em si. Para obter mais informações, vá para "Ativar a função MÉDIA Passdown" em Opções avançadas.
Os contêineres do Azure Cosmos DB com chave de partição grande não são suportados atualmente no conector.
O passdown de agregação está desabilitado para a seguinte sintaxe devido a limitações do servidor:
Quando a consulta não está filtrando em uma chave de partição ou quando o filtro de chave de partição usa o operador OR com outro predicado no nível superior na cláusula WHERE.
Quando a consulta tem uma ou mais chaves de partição aparecem em uma cláusula IS NOT NULL na cláusula WHERE.
O conector V2 não suporta tipos de dados complexos, como matrizes, objetos e estruturas hierárquicas. Recomendamos o recurso [Espelhamento de malha para Azure Cosmos DB](/articles/cosmos-db/analytics-and-business-intelligence-overview.md para esses cenários.
O conector V2 usa a amostragem dos primeiros 1.000 documentos para chegar ao esquema inferido. Não é recomendado para cenários de evolução de esquema quando apenas parte dos documentos é atualizada. Por exemplo, uma propriedade recém-adicionada a um documento em um contêiner com milhares de documentos pode não ser incluída no esquema inferido. Recomendamos o recurso Espelhamento de malha para Azure Cosmos DB para esses cenários.
Atualmente, o conector V2 não suporta valores que não sejam de cadeia de caracteres nas propriedades do objeto.
A passagem de filtro está desativada para a seguinte sintaxe devido a limitações do servidor:
Quando a consulta que contém uma ou mais colunas agregadas é referenciada na cláusula WHERE.
Próximos passos
- Para saber mais sobre o Power BI, consulte Introdução ao Power BI.
- Para saber mais sobre o Azure Cosmos DB, consulte a página inicial da documentação do Azure Cosmos DB.