Conectar views de métrica ao Power BI
Visualização
Esse recurso está na Prévia privada. Para testar, entre em contato com o seu contato do Databricks.
Você pode publicar uma view de métricas do Unity Catalog no Power BI como um modelo semântico. O modelo semântico faz referência à view de métricas, para que o Power BI faça query na própria view de métricas e não leia as tabelas base. As dimensões da view de métricas se tornam colunas na tabela do Power BI, e as medidas elegíveis da view de métricas se tornam medidas calculadas de Data Analysis Expressions (DAX).
Requisitos
Antes de publicar uma view de métricas no Power BI, confirme o seguinte:
- Seu workspace está inscrito na Preview Privada, e um administrador de workspace ativou a preview Publicar visões de métricas no Power BI . Consulte Gerenciar prévias do Databricks.
- Você cumpre os requisitos para publicar no serviço do Power BI. Consulte Requisitos.
- Você tem acesso de leitura às tabelas e esquemas de origem e permissão para gerenciar ou visualizar a view de métricas. Veja Referência de privilégios do Unity Catalog.
- Sua view de métrica cumpre os requisitos de view de métrica.
Requisitos da view de métricas
A definição da view de métricas deve atender aos seguintes requisitos:
- Entradas de medida : Cada coluna que uma medida usa é declarada como uma dimensão na seção
fields. O Power BI calcula medidas das colunas da tabela do modelo semântico, portanto, uma medida que lê uma coluna não exposta como uma dimensão é descartada. - Nomes : Cada medida e dimensão tem um nome. Medidas sem nome, as quais o YAML versão 1.0 permite, são descartadas. Para regras de nomenclatura, consulte Derivar nomes de colunas de expressões.
A seguinte view de métricas está pronta para ser publicada. As colunas unit_price e quantity são ambas declaradas como campos, portanto total_revenue pode ser calculado.
version: 1.1
name: sales_metrics_mv
source: main.sales.orders
fields:
- name: unit_price
expr: unit_price
- name: quantity
expr: quantity
measures:
- name: total_revenue
expr: SUM(unit_price * quantity)
A seguinte view de métricas não está pronta para publicação. A medida total_revenue lê quantity, mas quantity não está declarada em fields, então total_revenue é descartada.
version: 1.1
name: sales_metrics_mv
source: main.sales.orders
fields:
- name: unit_price
expr: unit_price
measures:
- name: total_revenue
expr: SUM(unit_price * quantity)
Publicar a view de métricas
Você pode publicar uma view de métrica uma vez pelo Catalog Explorer ou ao programar com uma tarefa do Power BI em um Job. Ambas as opções solicitam que você escolha um modo de armazenamento para o modelo semântico:
- DirectQuery (default) : o Power BI envia queries para a view de métricas por meio do Databricks SQL quando um visual está em execução. Os controles de acesso e as políticas de segurança do Unity Catalog se aplicam.
- Importar : o Power BI copia os dados para o modelo semântico. Os controles de acesso e as políticas de segurança do Unity Catalog não se aplicam aos dados importados. Após publicar, refresh o modelo semântico no Power BI. Até você dar refresh, o modelo mostra valores vazios e os endpoints de visuais e XML for análise (XMLA) não podem query os dados.
Para obter mais informações sobre cada modo, consulte Modos de modelo semântico no serviço do Power BI.
Opção 1: Publicar uma vez do Catalog Explorer
Siga os passos em Publicar no serviço do Power BI a partir do Databricks. Selecione a metric view ou o schema que a contém, em vez de uma tabela. No Dataset Mode , selecione DirectQuery ou Import.
Opção 2: Publicar programar em um Job
Use esta opção para publicar ou fazer refresh do modelo semântico como parte de um pipeline de dados. Configure uma tarefa do Power BI conforme descrito em tarefa do Power BI para jobs e defina as seguintes propriedades:
- Tabelas para atualizar : Selecione a view de métrica ou o esquema que a contém.
- Modo de query do Power BI : Selecione DirectQuery ou Import.
- Tipo de refresh : (Opcional) Se você escolheu DirectQuery, selecione Refresh de metadados .
Cada vez que o Job é executado, a tarefa do Power BI publica ou refresh o modelo semântico no workspace de destino.
Validar o modelo semântico
Abra o modelo semântico no Power BI Desktop ou no serviço do Power BI e verifique o seguinte:
- A view de métricas aparece como uma única tabela com o mesmo nome que a view de métricas, por exemplo,
sales_metrics_mv. - As dimensões aparecem como colunas. As dimensões de tabelas joined aparecem como colunas na mesma tabela. O Power BI não cria relacionamentos para os joins.
- As medidas aparecem como medidas DAX calculadas explicitamente, por exemplo
[total_revenue].
Os campos do Power BI mantêm os nomes das dimensões e das medidas da view de métricas. Se uma medida tiver um display_name no Unity Catalog, o nome é armazenado como uma anotação no campo do Power BI e não é mostrado no Power BI. As descrições do Unity Catalog, juntamente com os formatos de moeda e porcentagem, são mapeados para as propriedades do campo do Power BI. Para saber como definir nomes de exibição e formatos, consulte Metadados de agente em views de métricas.
Atualizar o modelo semântico
Depois de alterar a definição da view de métricas, publique a view de métricas novamente no mesmo modelo semântico. A republicação atualiza as medidas DAX existentes, adiciona novas medidas e dimensões declaradas e mantém os campos existentes.
Se publicar com uma tarefa do Power BI num Job, cada execução agendada publica novamente a view de métricas, pelo que não precisa de executar passos adicionais.
Padrões de view de métricas com suporte
As medidas elegíveis da view de métricas são convertidas para DAX. Os seguintes padrões de view de métricas têm suporte:
- Agregações padrão:
SUM,COUNT,AVG,MIN,MAX,MEDIAN,STDDEVeVARIANCE, incluindoCOUNT(*),COUNT(1),COUNT(DISTINCT x)eCOUNT_IF. - Expressões em nível de linha dentro de um agregado, como
SUM(price * qty)ouSUM(CASE ...). - Agregados filtrados, como
SUM(x) FILTER (WHERE p). - Razões de agregados, como
SUM(a) / SUM(b). MEASURE(x)composição dentro da mesma métricas view, incluindoMEASURE(x) FILTER (WHERE p).- Medidas de janela com um intervalo
current,trailing(incluindoinclusive),cumulativeouall, incluindo janelas que usamoffsete medidas derivadas de medidas de janela. - Dimensões derivadas, como
DATE_TRUNC('MONTH', source.order_date). - Dimensões de tabelas combinadas.
- Filtros de view, fontes SQL em linha e blocos
materialization. - Dimensões de curinga, como
source.*e<join>.*.
Para padrões que não são suportados, veja Limitações.
Limitações
Publicar views de métricas no Power BI tem as seguintes limitações.
Algumas views de métricas não são publicadas
A publicação falhou para as seguintes visualizações de métricas:
- view de métricas sem dimensões : Declare pelo menos uma dimensão em
fields. - Views de métricas de vários fatos : views de métricas que combinam mais de uma tabela de fatos, como com uma tabela ponte. Views de métricas com joins em tabelas de dimensão têm suporte.
- Views de métricas que definem a mesma medida de forma diferente : Publicar duas views de métricas juntas falhará quando ambas definirem uma medida com o mesmo nome, mas com definições diferentes. Definições de medida idênticas são mergeadas. Renomeie uma das medidas ou publique cada view de métrica em seu próprio modelo semântico.
Algumas medidas e dimensões foram descartadas
O processo de publicação descarta as medidas e dimensões que usam os seguintes padrões e publica o restante da metric view.
Padrão | O que foi descartado |
|---|---|
Medidas de janela principal | A medida |
Métricas com mais de uma especificação de janela, como acumulado no ano (YTD) | A medida |
Medidas de janela cuja coluna de ordem é combinada com outras colunas em uma dimensão | A medida |
Uma coluna lida fora de um agregado, como | A medida |
Um campo de struct ou caminho de join aninhado usado como uma entrada de medida | A medida |
Uma contagem de linhas em um join um-para-muitos | A medida |
| A medida |
Medidas construídas sobre uma medida descartada | A medida |
Medidas cíclicas que fazem referência a si mesmas | A medida |
| A medida |
Medidas curinga ( | A medida |
Percentis, funções definidas pelo usuário (UDFs) e funções geoespaciais | A medida |
Colunas de dimensão struct, map, array e variant | A dimensão e as medidas que a utilizam |
Parâmetros da view de métricas | O parâmetro e as medidas que o leem |