Pular para o conteúdo principal

Visualização de métricas de consulta no Power BI

info

Beta

Este recurso está em versão Beta.

O modo de compatibilidade BI permite consultar a visualização de métricasUnity Catalog no Power BI usando funções de agregação SQL padrão, sem exigir alterações nos seus relatórios ou modelos de dados Power BI .

Esta página aborda os requisitos, como ativar o modo de compatibilidade com BI, como ele funciona, os padrões de consulta suportados e as limitações conhecidas.

Requisitos

  • Um SQL warehouse executando Databricks Runtime 18.0 ou superior.
  • As conexões Power BI utilizam o driver ADBC, que está habilitado por default para novas conexões. Para obter mais informações, consulte Configurar driver ADBC ou ODBC para Power BI.
  • Se estiver usando Power BI Desktop, é necessária a versão 2.151.1052.0 ou superior (lançamento de fevereiro de 2025).

Ativar o modo de compatibilidade com BI

Ative o modo de compatibilidade com BI ao criar manualmente uma nova conexão com o Databricks no Power BI Desktop ou no serviço:

  1. No Power BI Desktop ou no serviço, crie uma nova conexão com o Databricks.
  2. Insira o nome do host do seu servidor Databricks e o caminho HTTP do seu data SQL warehouse .
  3. Em Opções Avançadas , defina Modede Compatibilidade BI da visualização de métricas como Ativado em Configurações avançadas .
  4. Conclua a configuração da conexão. Para obter instruções detalhadas sobre como criar manualmente uma conexão Power BI , consulte Como conectar-se ao serviçoPower BI ou Power BI Desktop.

Como funciona o modo de compatibilidade com BI

As ferramentas de BI frequentemente falham em diferenciar entre medidas e dimensões, tratando cada coluna como um campo de dados padrão. Isso acarreta diversos problemas:

  • Incompatibilidade de agregação : Para consultar uma medida, os usuários usam a função MEASURE() (por exemplo, SELECT region, MEASURE(totalrevenue) FROM mv GROUP BY region), mas as ferramentas de BI geram SQL padrão como SELECT region, SUM(totalrevenue) FROM mv GROUP BY region.
  • Consultas desagregadas : as ferramentas BI usam consultas SELECT * ou não agregadas para preencher pré-visualizações de dados, buscar domínios de colunas ou executar "operações view de dados". Sem o modo de compatibilidade, essas consultas falham porque as medidas exigem um contexto de agregação.

O modo de compatibilidade com BI lida com todos esses casos automaticamente dentro do Databricks Runtime. Quando habilitado, aplica as seguintes transformações às consultas na visualização de métricas.

Reescrita agregada

As funções de agregação padrão aplicadas às colunas de medidas são automaticamente reescritas para MEASURE():

A ferramenta de BI envia

Databricks reescreve para

SUM(measure_col)

MEASURE(measure_col)

COUNT(measure_col)

MEASURE(measure_col)

MAX(measure_col)

MEASURE(measure_col)

MIN(measure_col)

MEASURE(measure_col)

Isso significa que a definição original da métrica da view é sempre respeitada, independentemente da função de agregação que a ferramenta BI utilize. Por exemplo, se uma medida for definida como SUM(price * quantity), então COUNT(total_revenue), AVG(total_revenue) e SUM(total_revenue) retornam o mesmo resultado, que é o SUM(price * quantity) subjacente.

Consultas desagregadas

Quando colunas de medida são selecionadas sem uma função de agregação (por exemplo, SELECT * ou SELECT measure1, measure2 FROM model), valores nulos são retornados em vez de gerar um erro.

As colunas de dimensão retornam seus valores normalmente. Apenas as colunas de medida são afetadas.

Padrões de consulta suportados

Os seguintes padrões de consulta são executados conforme o esperado quando o modo de compatibilidade BI está ativado.

Cenário

Exemplo

Consultas básicas de agregação

SELECT dim, SUM(measure) FROM mv GROUP BY dim, com SUM reescrito para MEASURE().

ORDENAR POR com medidas

SELECT region, SUM(total_cost) FROM mv GROUP BY region ORDER BY SUM(total_cost) DESC

Cláusulas que contêm medidas

SELECT region, SUM(total_cost) FROM mv GROUP BY region HAVING SUM(total_cost) > 20

Funções de janela sobre medidas

SUM(SUM(total_cost)) OVER (PARTITION BY region ORDER BY sku)

Chamadas existentes MEASURE()

Se uma consulta já usa MEASURE(), ela é executada sem encapsulamento duplo.

Agregados não-medidos

As agregações padrão em colunas que não são de medida, como COUNT(DISTINCT sku), funcionam como esperado e não são reescritas.

SELECT * e consultas desagregadas

As colunas de medida retornam valores nulos, o que facilita a visualização de dados e a descoberta de esquemas.

Melhores práticas

  • Deixe a agregação default como SUM para todas as colunas de medida. A mudança para outras agregações, como COUNT, DISTINCT, VARIANCE, pode causar erros.
  • Não utilize medidas como valores categóricos. Em vez disso, arraste as colunas de medição para campos de valor ou quantitativos em seus visuais.

Limitações

As seguintes limitações se aplicam ao usar o modo de compatibilidade com BI no Power BI.

Resultados de agregação idênticos

Como SUM, COUNT, MIN e MAX são todos reescritos para MEASURE(), eles retornam valores idênticos. Isso tem dois efeitos colaterais:

  • Os totais gerais em gráficos de tabela dinâmica e matriz podem exibir valores inesperados. Por exemplo, selecionar COUNT como agregação mostra uma soma na linha do total geral.
  • A agregação AVG mostra 1.0. Power BI calcula AVG como SUM / COUNT internamente. Como ambos retornam o mesmo valor de medida, o resultado é aproximadamente 1.

Para evitar totais e médias inesperados, use SUM como agregação default para todas as colunas de medidas no Power BI.

Agregações não suportadas geram erros

Os seguintes tipos de agregação enviam consultas sem um encapsulador de agregação, o que a visualização de métricas não suporta para colunas de medidas:

  • Contagem (distinta)
  • Desvio padrão
  • Variância
  • Mediana

As medidas não podem ser usadas como valores categóricos ou dimensionais.

Se você arrastar uma coluna de medida para um eixo, legenda, GROUP BY ou segmentador como um valor categórico, a consulta falhará com este erro:

Text
Measure columns cannot be used in GROUP BY clause or as categorical values. We recommend wrapping them with an aggregate function such as SUM() for the expected behavior.

Não utilize colunas de medida como dimensões, campos de agrupamento ou destinos de filtro.

Campos calculados com múltiplas medidas

Expressões como SUM(m1 + m2) combinam várias colunas de medidas em um único agregado e não são reescritas pelo modo de compatibilidade de BI. Essas expressões produzem erros ou resultados inesperados.

Os segmentadores quantitativos do Power BI em colunas de medidas falham silenciosamente.

Um segmentador quantitativo em uma coluna de medida parece funcionar, mas não aplica o filtro porque a visualização de medidas não suporta o uso de medidas como predicados de filtro.

Filtragem e fatiamento de dimensões

Ao usar o modo de compatibilidade com BI, os visuais do Power BI não oferecem suporte às seguintes operações em colunas de dimensão:

  • Aplicando filtros às dimensões
  • Utilizando dimensões como controles de fatiamento
  • Filtragem cruzada de valores dimensionais entre elementos visuais

Recursos adicionais