Pular para o conteúdo principal

Consultar visualizações de métricas com modo de compatibilidade BI

info

Beta

Este recurso está em versão Beta.

O modo de compatibilidade BI permite consultar a visualização de métricasUnity Catalog a partir de ferramentas BI externas. Quando ativado, Databricks reescreve as consultas geradas pela ferramenta BI para avaliar corretamente as métricas view .

Esta página explica como ativar o modo de compatibilidade com BI, como ele funciona, os cenários suportados e as limitações conhecidas.

Modo de compatibilidade de BI é uma das várias maneiras de consultar views de métricas de ferramentas de BI. Para uma visão geral de todas as abordagens, incluindo SQL personalizado com a função MEASURE(), consulte Usar views de métricas com ferramentas de BI externas.

Requisitos

atenção

A Microsoft removeu a opção de **modo de compatibilidade de BI**, que permite consultar views de métricas do Unity Catalog no Power BI, do conector do Power BI para o Databricks. Relatórios que usam esta opção de conector deixaram de funcionar. Como alternativa, você pode consultar views de métricas do Unity Catalog no Power BI usando a MEASURE() função com a opção **Native query** do conector no modo DirectQuery. Consulte Use view de métricas com ferramentas de BI externas. Para solicitar suporte restaurado para views de métricas do Databricks no Power BI, vote e forneça feedback na publicação da comunidade Fabric Ideas. Você também pode usar os dashboards de AI/BI do Databricks, que funcionam nativamente com views de métricas.

  • Um Databricks SQL warehouse, ou um cluster que executa Databricks Runtime 18.0 ou acima.
  • Uma ferramenta de BI que suporta conexões SQL ou DirectQuery diretas com o Databricks.
  • A capacidade de executar configurações SQL em nível de sessão na ferramenta BI (por exemplo, por meio de um script SQL inicial ou comando startup ).

Ativar o modo de compatibilidade com BI

Habilite o modo de compatibilidade de BI executando o seguinte comando de configuração SQL no início da sua sessão. O comando depende do compute ao qual você se conecta:

  • Em um warehouse do Databricks SQL:

    SQL
    SET metric_view_bi_compatibility_mode = true;
  • Em um cluster:

    SQL
    SET spark.databricks.sql.metricView.bi.compatibilityMode.enabled = true;

A forma de configurar depende da sua ferramenta de BI. Por exemplo, no Tableau, você pode usar o campo SQL inicial na caixa de diálogo de conexão.

O modo de compatibilidade com BI aplica-se apenas à sessão em que foi configurado. Cada nova conexão deve ser configurada novamente.

Modo DirectQuery

O modo de compatibilidade BI exige que as consultas sejam executadas no mecanismo Databricks SQL . Se a sua ferramenta de BI oferece modos de importação e consulta direta, use a consulta direta (ou conexão em tempo real) para que as consultas sejam encaminhadas para o Databricks, onde o mecanismo de reescrita pode ser aplicado.

Como funciona o modo de compatibilidade com BI

As métricas aparecem como tabelas comuns para as ferramentas BI . Quando o modo de compatibilidade BI está ativado, Databricks reescreve as consultas geradas pela ferramenta BI para consultar corretamente a view de métricas.

O modo de compatibilidade com BI lida automaticamente com dois tipos de consultas:

  • Consultas de agregação : Quando uma ferramenta BI gera uma consulta com funções de agregação padrão (como SUM) em métricas, o modo de compatibilidade BI reescreve essas agregações para se adequarem às definições de métrica na sua view de métricas. Use sempre SUM como tipo de agregação para colunas de medidas. O mecanismo SQL sempre aplica a lógica de medida subjacente correta.
  • Visualização prévia de dados e descoberta de esquema : Quando a ferramenta de BI solicita dados não agregados (por exemplo, visualizações prévias de colunas ou amostras de dados), as colunas de medida retornam valores nulos em vez de um erro. As colunas de dimensão retornam seus valores normalmente.

Cenários suportados

A lista de recursos da ferramenta BI a seguir funciona para a maioria das ferramentas BI quando o modo de compatibilidade BI está ativado.

Cenário

Descrição

Visualização de medidas básicas

Utilize uma medida em um gráfico ou campo de valor de tabela para exibir resultados agregados.

Filtros

Aplique filtros às colunas de dimensão ou medida em seus visuais.

Fatiadores dimensionais

Use colunas de dimensão como controles de segmentação ou filtro.

Filtragem cruzada

Clique em um valor em um visual para filtrar visuais relacionados na mesma página.

Perfuração

Acesse uma página de detalhes filtrada por um valor específico.

Filtragem TopN

Exibir os N valores superiores ou inferiores classificados por coluna.

Pré-visualização de dados

Utilize a pré-visualização de dados e a descoberta de esquemas. As medidas aparecem como nulas nas pré-visualizações.

Cálculos visuais

Cálculos realizados no lado do cliente, aplicados a resultados já agregados (por exemplo, totais acumulados e classificação).

Dimensões versus medidas

A visualização de métricas contém dois tipos de colunas: medidas e dimensões. Compreender a diferença é importante na elaboração de relatórios.

  • Medidas : A lógica de agregação de uma medida é definida na view de medidas (por exemplo, SUM(price * quantity) ou COUNT(DISTINCT customer_id)). Na sua ferramenta de BI, deixe sempre a agregação definida como SUM para colunas de medidas. O mecanismo SQL aplica automaticamente a lógica de medida correta. Se você precisar de uma agregação diferente, modifique a definição da métrica na própria view de métricas. Não altere a agregação no lado da ferramenta de BI.
  • Dimensões : As dimensões comportam-se como colunas de tabela comuns. Você pode aplicar qualquer operação padrão BI às dimensões, incluindo agregações, agrupamentos, filtragem, classificação e categorização. Se um campo numérico funcionar como uma dimensão (e não como uma medida), todos os tipos de agregação padrão funcionarão normalmente nesse campo.

Melhores práticas

  • Inclua sempre uma única view de métricas em seu conjunto de dados. A view métrica é a sua definição semântica.
  • Crie pastas para organizar as colunas de dimensão (por exemplo, uma pasta "Data" para cada coluna da dimensão Data).
  • Renomeie as dimensões para que tenham nomes mais fáceis de usar.
  • Alterar as colunas de dimensão numérica para um tipo de sumarização não agregada.
  • Crie medidas de encapsulamento usando SUM() para cada coluna de medida e oculte as colunas de medida originais (por exemplo, Total Sales = SUM('Store Sales'[total_sales])).
  • Organize as medidas em uma pasta específica.
  • Utilize apenas medidas de contêiner em seus elementos visuais.

Limitações

O modo de compatibilidade com BI tem controle limitado sobre como as ferramentas de BI geram e processam consultas. Aplicam-se as seguintes limitações.

Utilize a função SUM somente para agregações de medidas.

Deixe sempre o tipo de agregação definido como SUM para colunas de medida. Todas as funções de agregação (SUM, COUNT, MIN, MAX) são reescritas para a definição da medida subjacente, então todas retornam o mesmo resultado. Selecionar um tipo de agregação diferente pode levar a comportamentos inesperados:

  • AVG mostra 1.0 porque algumas ferramentas BI compute AVG como SUM / COUNT internamente, e ambos retornam o mesmo valor de medida.
  • Contagem (distinta), Desvio Padrão, Variância e Mediana geram padrões de consulta incompatíveis com o mecanismo de reescrita e produzem erros ou resultados incorretos.

Se você precisar de uma agregação diferente, modifique a definição da métrica na view de métricas. Todos os tipos de agregação são totalmente suportados nas definições view de métricas.

Totais gerais para medidas não aditivas

Algumas ferramentas de BI calculam os totais gerais reagregando os valores por grupo no lado do cliente, em vez de emitir uma consulta separada. Isso produz resultados corretos para medidas aditivas (por exemplo, SUM(revenue)) porque a reagregação local fornece a resposta correta.

Entretanto, para medidas não aditivas (por exemplo, SUM(revenue) / COUNT(DISTINCT customer), ou qualquer razão, percentagem ou expressão envolvendo DISTINCT), os totais gerais podem apresentar valores incorretos porque somar razões pré-agrupadas não é matematicamente equivalente a calcular a razão sobre o conjunto de dados completo.

Segmentadores quantitativos em colunas de medidas

Um filtro quantitativo (de intervalo) em uma coluna de medida pode não funcionar como esperado. Algumas ferramentas de BI podem consultar os valores MIN e MAX da medida para determinar o intervalo do controle deslizante, mas ambos são reescritos para o mesmo valor da medida subjacente, reduzindo o intervalo a um único ponto. Os filtros nas métricas ainda funcionam. Apenas os fatiadores de intervalo são afetados.

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

Se você usar uma coluna de medida como um valor categórico (por exemplo, como um eixo, legenda ou segmentador de dados), a consulta falhará e retornará o seguinte erro:

Text
[METRIC_VIEW_MEASURE_IN_GROUP_BY] '<measure>' 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. SQLSTATE: 42K0E

Vários recursos de ferramentas de BI dependem de tratar uma coluna de medida como uma dimensão discreta, portanto, produzem o mesmo erro. Por exemplo, no Tableau:

  • Um histograma construído em uma coluna de medida (por exemplo, de Show Me ) falha porque ele compartimenta a medida.
  • Compartimentos criados a partir de uma coluna de medida parecem ter êxito, mas falham com o erro precedente ao adicioná-los a uma visualização.

Para usar uma medida nestes recursos, defina uma dimensão ou medida equivalente na definição da view de métricas.

Campos calculados com múltiplas medidas

Os campos calculados que fazem referência a uma única medida funcionam corretamente. Algumas ferramentas de BI primeiro buscam o resultado agregado e depois realizam o cálculo no lado do cliente (por exemplo, categorizando a receita em níveis baixo, médio e alto).

No entanto, expressões que combinam várias colunas de medidas dentro de um único agregado (por exemplo, SUM(m1 + m2)) não são reescritas pelo modo de compatibilidade de BI e produzem erros ou resultados inesperados.

Recursos que exigem joins

Views de métricas não podem ser unidas com outras tabelas ou com outra view de métricas. Qualquer consulta que une uma view de métrica falha devido ao seguinte erro:

Text
[METRIC_VIEW_JOIN_NOT_SUPPORTED] The metric view is not allowed to use joins.

Isso afeta mais do que apenas junções explícitas. Alguns recursos de ferramentas de BI geram automaticamente SQL que faz um join a uma subconsulta ou tabela temporária, portanto, falham com o mesmo erro mesmo quando você não adiciona um join. No Tableau, os seguintes recursos podem ser compilados em junções e podem não funcionar com o modo de compatibilidade de BI. Para usar cada um deles, modele a lógica equivalente na definição da view métrica:

  • Joins e relacionamentos definidos na fonte de dados. Modele o join na própria definição da view de métrica.
  • Filtros Top N, filtros condicionais, conjuntos e conjuntos condicionais, que o Tableau implementa como uma subconsulta que join à consulta principal. Modele o valor pelo qual você classifica ou filtra como uma dimensão separada na view de métricas.
  • Expressões de nível de detalhe (LOD) (FIXED, INCLUDE, EXCLUDE), que o Tableau frequentemente computa usando uma subconsulta separada que faz join à consulta principal. O sucesso de uma determinada expressão depende da consulta que o Tableau gera. É possível modelar muitas expressões LOD como medidas na view de métrica.

Visão materializada de Mesh

O modo de compatibilidade de BI oferece suporte para consulta de view de métricas que usam materializações. Ao consultar uma view de métricas materializada, o otimizador de consultas automaticamente roteia a consulta para uma materialização adequada para um desempenho mais rápido, ou recorre aos dados de origem quando nenhuma materialização adequada está disponível. Este roteamento é transparente e não altera a forma de construir relatórios.

Considere as seguintes ressalvas:

  • Atualização de dados : os resultados da query podem refletir dados do refresh de materialização mais recente, em vez dos dados de origem mais recentes. No modo default de reescrita de query relaxed, o otimizador usa uma materialização sem verificar se ela está atualizada.
  • Comportamento do Refresh : as materializações são atualizadas na programação definida na view de métricas. Você também pode acionar um refresh manual executando REFRESH MATERIALIZED VIEW. A atualização de uma materialização deve ser concluída antes que o otimizador a utilize para reescrita de query.

Para mais informações sobre como a materialização funciona, incluindo programações de refresh e reescrita de consulta, consulte Materialização para views de métricas.

Recursos adicionais