Ir para o conteúdo

Fontes de Dados e Linhagem

Cliente: Mastelaro | Responsável: Sonar

Esta página documenta de onde vêm os dados do relatório "Indicadores Financeiros & Análise de Cardápio", como são transformados e como as tabelas se relacionam no modelo semântico do Power BI.


Fonte de dados

Todas as tabelas de dados reais do modelo são importadas (modo Import) a partir de uma única origem: um SharePoint Online da Sonar.

Item Valor
Site SharePoint SharePoint Online interno da Sonar (acesso restrito por permissão)
Biblioteca de documentos Pasta interna "Planilhas BI", dentro da estrutura de documentos da Sonar
Formato dos dados Uma planilha Excel por unidade/loja Mastelaro
Modo de carga Import (dados copiados para o modelo — não é DirectQuery)

Dentro da pasta "Planilhas BI" existe uma pasta de trabalho Excel por unidade, entre elas "Casa Milà", "FOGLIA Dados PwBI", "Delivery Pesqueiro", "Pesqueiro Birigui" e "KINOSHITA Dados PwBI1". O nome do arquivo (sem a extensão .xlsx) é usado como "Nome da Origem", funcionando como a dimensão de unidade/loja em quase todas as tabelas.

Abas lidas de cada planilha

Aba na planilha Alimenta
Análise de Cardápio d_Cardápio, f_AnalisesVendas
CadastroSUBDRE d_Categorias, d_CategoriasAlertas
Saídas f_Saidas, d_CentroDeCusto
CadastroGrupo d_Grupos
Vendas_Utilizar_PBI f_Vendas
F.T (Ficha Técnica) f_Faturamento
CMV Contagem f_CMV

Exceções (não vêm de uma aba de planilha)

  • d_Cliente: derivada apenas dos nomes dos arquivos presentes na pasta "Planilhas BI" — não lê conteúdo de aba nenhuma. Funciona como lista mestre de unidades.
  • d_TipoGrupo: lista fixa embutida na própria query (dado estático, não vem do SharePoint).
  • d_Calendário: tabela calendário 100% gerada em Power Query (início em 01/01/2020, +1 ano à frente, semana iniciando na segunda-feira, com feriados nacionais brasileiros).
  • f_Att: não é dado de negócio — gera a data/hora atual (DateTimeZone.UtcNow() ajustada para UTC-3) no momento do refresh, usada para o indicador de "Última Atualização" na Home.

Lógica de transformação típica

Padrão repetido na maioria das tabelas ao carregar cada planilha:

  1. Conecta ao SharePoint e navega até a pasta "Planilhas BI" (uma linha por arquivo Excel = uma unidade).
  2. Extrai o nome do arquivo (sem extensão) como "Nome da Origem".
  3. Abre a aba de interesse de cada Excel.
  4. Promove cabeçalhos e renomeia colunas genéricas para nomes de negócio.
  5. Remove linhas de cabeçalho repetido/lixo e converte tipos de dados.
  6. Em algumas tabelas (d_Cardápio, f_Vendas, f_Faturamento), cria uma coluna "Chave" concatenando nome do prato/produto + Nome da Origem, usada para relacionar com outras tabelas.
  7. Em d_Categorias/d_CategoriasAlertas, aplica lógica de qualidade de dados (ver abaixo).

Qualidade de dados na origem

O modelo já sinaliza dois problemas de cadastro diretamente no plano de contas (d_Categorias), a partir da aba "CadastroSUBDRE":

  • ⚠️ SUBGRUPO DUPLICADO: um subgrupo de conta está cadastrado em mais de um grupo. A tabela auxiliar d_CategoriasAlertas mantém o detalhe por unidade (Nome da Origem) para localizar em qual planilha ocorre cada duplicidade.
  • NÃO IDENTIFICADO ⚠️ (índice 99): um subgrupo aparece nos lançamentos da aba "Saídas" mas não está cadastrado no plano de contas.

Essas marcações alimentam os indicadores de alerta do relatório (Icone Alerta, Cor Botao Alerta, Tooltip Alerta, HTML Alerta Invalidos — ver Dicionário de Métricas) e o filtro de "Grupo" que exclui por padrão o valor duplicado em várias abas.

De forma semelhante, d_Cardápio[TemErro] sinaliza linhas do cardápio em que o preço de venda não pôde ser lido corretamente da planilha — refletido no indicador "Status Dados" da aba Análise Geral.


Tabelas do modelo

Dimensões

Tabela Grão Descrição
d_Calendário 1 linha por dia Calendário gerado em Power Query, dimensão de tempo principal para Vendas/CMV/Saídas
d_Cardápio 1 linha por prato × unidade (cadastro mais recente) Ficha do cardápio: seção, preço de venda/custo, CMV, margem, preço sugerido
d_Categorias 1 linha por subgrupo de conta Plano de contas / estrutura da DRE, com índice de ordenação e flag de custo fixo
d_CategoriasAlertas 1 linha por subgrupo duplicado × unidade Detalhe de subgrupos duplicados, com a unidade de origem de cada ocorrência
d_CentroDeCusto 1 linha por centro de custo × unidade Centros de custo cadastrados na aba "Saídas"
d_Cliente 1 linha por unidade Lista mestre de unidades/lojas Mastelaro (hub central de filtro)
d_Grupos 1 linha por grupo × unidade Cadastro de grupos de produto/venda
d_TipoGrupo Lista fixa Valores auxiliares de classificação de grupo (estático)

Fatos

Tabela Grão Descrição
f_AnalisesVendas 1 linha por lançamento de análise de cardápio Detalhe de linha (sem agregação) da aba "Análise de Cardápio"
f_Att 1 linha (técnica) Timestamp de atualização do modelo
f_CMV 1 linha por contagem de estoque Contagem mensal de estoque por classificação/produto/centro de custo
f_Faturamento 1 linha por insumo × prato Ficha técnica: custo unitário de matéria-prima por prato
f_Saidas 1 linha por lançamento de saída Base da DRE: custos e despesas por conta/centro de custo/unidade
f_Vendas 1 linha por venda Vendas realizadas (PDV), com turno, grupo e quantidade

Tabelas auxiliares/calculadas

Tabela Descrição
Medidas Tabela técnica "vazia" — contêiner de todas as 53 medidas DAX do modelo
TabelaMediasMargemLucro Tabela calculada (via SUMMARIZE) com médias de margem por unidade/seção, usada no gráfico de quadrante
TabelaMediasPercentualVendas Tabela calculada com médias de percentual de vendas por seção, usada como linha de corte no quadrante

Além dessas, existem tabelas de calendário técnicas (LocalDateTable_*, DateTableTemplate_*), geradas automaticamente pelo Power BI para suportar hierarquias de data — não contêm lógica de negócio e não precisam ser consultadas diretamente.


Relacionamentos

O diagrama abaixo mostra apenas quais tabelas se relacionam — os detalhes de cada relacionamento (coluna, cardinalidade, se está ativo) estão na tabela logo em seguida. Linhas tracejadas são relacionamentos inativos por padrão (só entram em ação dentro de medidas específicas); a linha com seta dupla é o único relacionamento bidirecional do modelo.

flowchart LR
    subgraph Dimensões
        dCli[d_Cliente]
        dCal[d_Calendário]
        dCard[d_Cardápio]
        dCat[d_Categorias]
        dCatAl[d_CategoriasAlertas]
        dCC[d_CentroDeCusto]
        dGrp[d_Grupos]
        dTipo[d_TipoGrupo]
    end

    subgraph Fatos
        fVen[f_Vendas]
        fCMV[f_CMV]
        fSai[f_Saidas]
        fAV[f_AnalisesVendas]
        fFat[f_Faturamento]
    end

    dCli --> fVen
    dCli --> fCMV
    dCli --> dCard
    dCli -.-> dGrp
    dCli -.-> fFat
    dCli -.-> dCC

    dCal --> fVen
    dCal --> fCMV
    dCal --> fSai
    dCal --> fAV

    dCard --> fAV
    dCard --> fFat

    dCat --> fSai
    dCat <--> dCatAl

    dCC --> fSai
    dCC --> fCMV
    dCC --> fVen

    dGrp --> fVen
    dTipo --> fCMV
Tabela (De) Coluna (De) Tabela (Para) Coluna (Para) Cardinalidade Ativo
f_AnalisesVendas Data d_Calendário Data Muitos-para-um Sim
f_CMV Data d_Calendário Data Muitos-para-um Sim
f_Saidas data d_Calendário Data Muitos-para-um Sim
f_Vendas Data d_Calendário Data Muitos-para-um Sim
d_Cardápio Nome da Origem d_Cliente Nome da Origem Muitos-para-um Sim
f_AnalisesVendas Chave d_Cardápio Chave Muitos-para-um Sim
f_Faturamento Chave d_Cardápio Chave Muitos-para-um Sim
f_CMV Nome Origem d_Cliente Nome da Origem Muitos-para-um Sim
f_Vendas Nome da Origem d_Cliente Nome da Origem Muitos-para-um Sim
d_Grupos Nome da Origem d_Cliente Nome da Origem Muitos-para-um Não (inativo)
f_Faturamento Nome da Origem d_Cliente Nome da Origem Muitos-para-um Não (inativo)
d_CentroDeCusto Nome da Origem d_Cliente Nome da Origem Muitos-para-um Não (inativo)
f_Saidas Centro de custo d_CentroDeCusto Centro de Custo Muitos-para-um Sim
f_CMV Centro de custo d_CentroDeCusto Centro de Custo Muitos-para-um Sim
f_Vendas Fonte de Receita d_CentroDeCusto Centro de Custo Muitos-para-um Sim
f_CMV tipo d_TipoGrupo GrupoAUX Muitos-para-um Sim
f_Vendas Grupo d_Grupos Grupo Muitos-para-um Sim
f_Saidas SUBGRUPO d_Categorias Sub Grupo Muitos-para-um Sim
d_CategoriasAlertas Sub Grupo d_Categorias Sub Grupo Um-para-um (bidirecional) Sim

Observações sobre os relacionamentos

  • d_Cliente é o hub central de "unidade/loja", recebendo relacionamentos de quase todas as tabelas fato por "Nome da Origem". Três desses relacionamentos estão inativos por padrão (d_Grupos, f_Faturamento, d_CentroDeCustod_Cliente) e são ativados pontualmente em medidas específicas via USERELATIONSHIP() (ex.: a medida Média CMV ativa d_Cardápio → d_Cliente).
  • d_Calendário é a dimensão de tempo principal para Vendas, CMV e Saídas. As tabelas d_Cardápio, f_Faturamento e f_Saidas[Dia] têm cada uma sua própria tabela de datas local automática, separada de d_Calendário.
  • O relacionamento d_CategoriasAlertas ↔ d_Categorias é o único bidirecional do modelo (um-para-um, cross-filter em ambos os sentidos).

Linhagem resumida (ponta a ponta)

flowchart LR
    A[Planilhas Excel por unidade<br/>SharePoint Sonar] --> B[Power Query<br/>transformação por aba]
    B --> C[Tabelas do modelo<br/>dimensões e fatos]
    C --> D[Medidas DAX<br/>tabela Medidas]
    D --> E[Visuais do relatório<br/>13 páginas]

Referências