Proposta de site feita pela Genesis Innovation · conteúdo do LinkedIn de Daniel Santos

Pular para o conteúdo
Daniel Santos

Wiki Power BI

Power BI para quem entrega os dados

Modelo em estrela, Import ou DirectQuery, e medida em vez de coluna calculada. O que a engenharia entrega define se o relatório voa ou se arrasta.

O Power BI lê melhor um modelo em estrela: tabelas fato estreitas e longas, dimensões largas, relações de um para muitos da dimensão para a fato. É o que a camada gold deve entregar (veja Modelagem dimensional).

Import, DirectQuery e o meio-termo

  • Import: os dados são copiados para o modelo e comprimidos em memória. Consulta muito rápida; os dados têm a idade da última atualização (*refresh*).
  • DirectQuery: cada visual vira uma consulta na fonte (um SQL warehouse do Databricks, por exemplo). Dado sempre atual; a velocidade depende da fonte, e cada clique custa compute lá.
  • Composto: dimensões em Import e a fato grande em DirectQuery, ou agregações importadas sobre uma fato em DirectQuery.

Medida, não coluna calculada

Uma coluna calculada é computada no refresh e guardada linha a linha (ocupa memória). Uma medida é calculada na hora, no contexto do filtro do visual. Totais e taxas são medidas.

DAXRoda no Power BI.
Receita = SUM ( fato_itens[receita] )

Receita Entregue =
CALCULATE ( [Receita], pedidos[status] = "entregue" )

Ticket Médio = DIVIDE ( [Receita], DISTINCTCOUNT ( fato_itens[pedido_id] ) )

CALCULATE muda o contexto de filtro da medida; DIVIDE trata a divisão por zero sem erro.

O que a engenharia pode fazer pelo relatório

  • Entregar a gold já no grão e com os nomes que o negócio usa, em vez de o relatório refazer a modelagem no Power Query.
  • Uma dimensão de data contínua (sem buracos), marcada como tabela de datas.
  • Reduzir cardinalidade: ID de alta cardinalidade que ninguém filtra não precisa ir para o modelo.
  • No Databricks, conectar pelo conector nativo a um SQL warehouse, com o Unity Catalog cuidando de quem vê o quê.

Fontes

Conhecimento compartilhado pela Genesis Innovation.