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:
- Conecta ao SharePoint e navega até a pasta "Planilhas BI" (uma linha por arquivo Excel = uma unidade).
- Extrai o nome do arquivo (sem extensão) como "Nome da Origem".
- Abre a aba de interesse de cada Excel.
- Promove cabeçalhos e renomeia colunas genéricas para nomes de negócio.
- Remove linhas de cabeçalho repetido/lixo e converte tipos de dados.
- 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. - 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 auxiliard_CategoriasAlertasmanté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_CentroDeCusto→d_Cliente) e são ativados pontualmente em medidas específicas viaUSERELATIONSHIP()(ex.: a medidaMédia CMVativad_Cardápio → d_Cliente).d_Calendárioé a dimensão de tempo principal para Vendas, CMV e Saídas. As tabelasd_Cardápio,f_Faturamentoef_Saidas[Dia]têm cada uma sua própria tabela de datas local automática, separada ded_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¶
- Regras de Refresh — como e quando os dados são atualizados
- Dicionário de Métricas — medidas calculadas a partir destas tabelas
- Documentação de Abas — onde cada tabela/medida aparece no relatório