Visualizar dados do Azure Cosmos DB usando o Power BI

APLICA-SE A: NoSQL

Este artigo descreve as etapas necessárias para conectar os dados do Azure Cosmos DB ao Power BI Desktop.

Você pode se conectar ao Azure Cosmos DB do desktop do Power BI usando uma destas opções:

  • Use o espelhamento no Microsoft Fabric para replicar dados do Azure Cosmos DB no Fabric OneLake. Todas as alterações em seu 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 informações de negócios importantes.

  • Use o Link do Azure Synapse para criar relatórios do Power BI sem impacto de desempenho ou custo para suas cargas de trabalho transacionais e sem pipelines de ETL.

    Você pode usar o modo do DirectQuery ou de importação. Com o DirectQuery, você pode criar painéis/relatórios usando dados ao vivo de suas contas do Azure Cosmos DB, sem precisar importar ou copiar os dados para o Power BI.

  • Conecte a conta do 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 alocadas para suas cargas de trabalho transacionais.

Observação

Relatórios criados no Power BI Desktop podem ser publicados no PowerBI.com. A extração direta dos dados do Azure Cosmos DB não pode ser executada no PowerBI.com.

Pré-requisitos

Antes de seguir as instruções neste tutorial do Power BI, certifique-se de ter acesso aos recursos seguintes:

Para compartilhar seus relatórios no PowerBI.com, você deve ter uma conta no PowerBI.com. Para saber mais sobre o Power BI e Power BI Pro, consulte https://powerbi.microsoft.com/pricing.

Vamos começar

Criar relatórios de BI usando espelhamento no Microsoft Fabric

É possível habilitar o espelhamento nos 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 o Fabric e o espelhamento, visite o tutorial de espelhamento do Azure Cosmos DB.

Com apenas alguns cliques, usando o portal do Azure Cosmos DB, você pode habilitar o Link do Azure Synapse nos contêineres existentes do Azure Cosmos DB e criar relatórios de BI com base nesses dados. O Power BI se conectará ao Azure Cosmos DB usando o modo Consulta Direta, permitindo que você consulte seus dados do Azure Cosmos DB sem afetar suas cargas de trabalho transacionais.

Para compilar um relatório/painel do Power BI:

  1. Entre no portal do Azure e navegue até a sua conta Microsoft Azure Cosmos DB.

  2. Na seção Integrações, abra o painel Power BI e selecione Começar.

    Observação

    No momento, essa opção só está disponível para contas da API para NoSQL. Você pode criar exibições do T-SQL diretamente em pools de SQL sem servidor do Synapse e compilar painéis de BI para o Azure Cosmos DB for MongoDB. Consulte "Usar o Power BI e o pool de SQL do Synapse sem servidor para analisar os dados do Azure Cosmos DB com o Link do Synapse" para obter mais informações.

  3. Na guia Habilitar Link do Azure Synapse, você pode habilitar o Link do Synapse na sua conta pela seção Habilitar o Link do Azure Synapse para esta conta. Se o Link do Synapse já estiver habilitado em sua conta, essa guia não será exibida. Essa etapa é um pré-requisito para começar a habilitar o Link do Synapse em seus contêineres.

    Observação

    Habilitar o Link do Azure Synapse tem implicações de custo. Confira a seção Preços do Link do Azure Synapse para obter mais detalhes.

  4. Em seguida, na seção Habilitar o Link do Azure Synapse para os seus contêineres, escolha os contêineres necessários para habilitar o Link do Synapse.

    • Caso já tenha habilitado o Link do Synapse em alguns contêineres, você verá que a caixa de seleção ao lado do nome do contêiner está selecionada. Você pode optar por desmarcá-la com base nos dados que você gostaria de visualizar no Power BI.

    • Se o Link do Synapse não estiver habilitado, você poderá habilitá-lo nos seus contêineres existentes.

      Se a habilitação do Link do Synapse estiver em andamento em qualquer um dos contêineres, os dados desse contêiner não serão incluídos. Retorne posteriormente a essa guia mais tarde e importe dados quando os contêineres estiverem habilitados.

    Andamento da habilitação do Link do Synapse nos contêineres existentes.

  5. A depender da quantidade de dados em seus contêineres, pode demorar um pouco para habilitar o Link do Synapse. Para saber mais, consulte o artigo Habilitar o Link do Synapse em contêineres existentes.

    Você pode verificar o progresso no portal, conforme mostrado na tela a seguir. Os contêineres estarão habilitados para o Link do Synapse quando o progresso atingir 100%.

    Link do Synapse habilitado com êxito nos contêineres selecionados.

  6. Na guia Selecionar espaço de trabalho, escolha o espaço de trabalho do Azure Synapse Analytics e selecione Próximo. Essa etapa criará automaticamente exibições T-SQL no Synapse Analytics para os contêineres selecionados anteriormente. Para obter mais informações sobre as exibições T-SQL necessárias para conectar o Azure Cosmos DB ao Power BI, confira o artigo Preparar exibições.

    Observação

    As propriedades do contêiner do Azure Cosmos DB serão representadas como colunas em exibições T-SQL, incluindo dados JSON aninhados em profundidade. Este é um guia de início rápido para seus dashboard de BI. Essas exibições estarão disponíveis no seu workspace/banco de dados do Azure Synapse. Você também pode usar exatamente as mesmas exibições no workspace do Azure Synapse 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 um ajuste fino dessas exibições, para um melhor desempenho. Para obter mais informações. Confira o artigo Melhores práticas para o Link do Synapse ao usar pools de SQL sem servidor do Azure Synapse.

  7. Você pode escolher um espaço de trabalho existente ou criar um. Para selecionar um espaço de trabalho existente, forneça os detalhes de 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 workspace do Synapse e criar exibições T-SQL. Certifique-se de que você tem permissões de "administrador do Synapse" nesse espaço de trabalho.

    Conectar-se ao workspace do Link do Synapse e criar exibições.

  8. Em seguida, selecione Download do .pbids para fazer o download do arquivo de fonte de dados do Power BI. Abra o arquivo baixado. Ele contém as informações de conexão necessárias e abre um desktop do Power BI.

    Baixar os arquivos do Power BI Desktop no formato .pbids.

  9. Agora você pode se conectar aos dados do Azure Cosmos DB a partir do desktop do Power BI. É exibida uma lista de exibições T-SQL correspondentes aos dados em cada contêiner.

    Por exemplo, a tela a seguir mostra dados da frota do veículo. Você pode carregar esses dados para análise posterior ou transformá-los antes de carregá-los.

    Exibições T-SQL correspondentes aos dados em cada contêiner.

  10. Agora você pode começar a criar o relatório usando dados analíticos do Azure Cosmos DB. Qualquer alteração nos dados será refletidas no relatório assim que os dados forem replicados para o armazenamento analítico, o que normalmente acontece em alguns minutos.

Compilando relatórios de BI usando o conector do Power BI

Observação

No momento, há suporte à conexão do Azure Cosmos DB com o conector do Power BI apenas em contas do Azure Cosmos DB for NoSQL e da API para Gremlin.

  1. Execute o Power BI Desktop.

  2. Você pode Obter dados, consultar Fontes Recentes Sources ou Abrir outros relatórios diretamente na tela de boas-vindas. Selecione o "X" no canto superior direito para fechar a tela. A exibição de Relatório do Power BI Desktop é exibida.

    Exibição de relatório do Power BI Desktop — conector do Power BI

  3. Selecione a faixa de opções Página Inicial e clique em Obter Dados. A janela Obter Dados deve ser exibida.

  4. Clique em Azure, selecione Azure Cosmos DB (Beta) e clique em Conectar.

    Obtenção de dados do Power BI Desktop — conector do Power BI

  5. Na página de Visualizar Conector, clique em Continuar. A janela do Azure Cosmos DB é exibida.

  6. Especifique a URL do ponto de extremidade da conta do Azure Cosmos DB da qual você deseja recuperar os dados, conforme mostrado abaixo e clique em OK. Para usar sua própria conta, você pode recuperar a URL na caixa de URI na folha Chaves do portal do Azure. Opcionalmente, é possível 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 são provenientes.

  7. Se estiver se conectando a este ponto de extremidade pela primeira vez, a chave de conta será solicitada. Para sua própria conta, recupere a chave na caixa Chave Primária na folha Chaves Somente Leitura do portal do Azure. Insira a chave apropriada e, em seguida, 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 no portal do Azure.

  8. Quando a conta é conectada com êxito, o painel Navegador é exibido. O Navegador mostra uma lista de bancos de dados na conta.

  9. Clique e expanda, no banco de dados de origem, os dados do relatório. Agora, selecione uma coleção que contenha os dados a serem recuperados.

    O painel Visualização mostra uma lista dos itens de Registro . Um Documento é representado como um tipo Registro no Power BI. Da mesma forma, um bloco JSON aninhado dentro de um documento é também um Registro. Para exibir 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.

  10. A exibição de Relatório do Power BI Desktop é aquela em que você pode começar a criar relatórios para visualizar dados. Você pode criar relatórios arrastando e soltando campos na tela Relatório .

  11. Há duas maneiras de atualizar os dados: agendamento e ad hoc. Clique em Atualizar Agora para atualizar os dados. Verifique a documentação do Power BI para obter mais informações sobre a opção de atualização agendada.

Limitações e problemas conhecidos

  • Para contêineres do Cosmos DB particionados, uma consulta SQL com uma função agregada será transmitida ao 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á realizada 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 agregada é aplicada sobre esse conjunto de resultados:

    SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

  • Se DISTINCT for fornecido em uma função agregada, o conector não transmite a função agregada para o Cosmos DB se uma cláusula DISTINCT for fornecida em uma função agregada. Quando presente em uma função agregada, DISTINCT não é compatível com a API SQL do Cosmos DB.

  • Para a função agregada SUM, o Cosmos DB retorna indefinido como o conjunto de resultados se algum dos argumentos em SUM for string, booliano ou nulo. Contudo, se existirem valores nulos, o conector transmite a consulta para o Cosmos DB de modo a solicitar à fonte de dados que substitua um valor nulo por zero como parte do cálculo SUM.

  • Para a função agregada AVG, o Cosmos DB retorna indefinido como o conjunto de resultados se algum dos argumentos em SUM for string, booliano ou nulo. O conector expõe uma propriedade de conexão para desabilitar a transmissão da função agregada do AVG para o Cosmos DB caso esse comportamento padrão do Cosmos DB precise ser substituído. Quando a transmissão do AVG está desabilitada, ela não é transmitida ao Cosmos DB e o conector realiza a própria operação de agregação do AVG. Para obter mais informações, acesse "Habilitar transmissão da função AVERAGE" em Opções avançadas.

  • No momento, não há suporte a contêineres do Azure Cosmos DB com chave de partição grande no conector.

  • A transmissão de agregação está desabilitada para a seguinte sintaxe por limitações do servidor:

    • Quando a consulta não está filtrando 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, elas aparecem em uma cláusula IS NOT NULL na cláusula WHERE.

  • O conector V2 não oferece suporte a tipos de dados complexos, como matrizes, objetos e estruturas hierárquicas. Recomendamos utilizar o recurso [Espelhamento do Fabric para Azure Cosmos DB](/articles/cosmos-db/analytics-and-business-intelligence-overview.md.

  • O conector V2 usa a amostragem dos primeiros 1.000 documentos para criar o esquema inferido. Seu uso 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 utilizar o recurso Espelhamento do Fabric para Azure Cosmos DB para esses cenários.

  • No momento, o conector V2 não oferece suporte a valores não strings nas propriedades do objeto.

  • A transmissão de filtro está desabilitada para a seguinte sintaxe devido a limitações do servidor:

  • Quando a consulta contendo uma ou mais colunas agregadas é referenciada na cláusula WHERE.

Próximas etapas