Performance Gerencial

Análise detalhada do desempenho comercial com indicadores diários, comparação mês a mês (MoM) e visão rolling 12 meses — para acompanhamento tático da operação.

14
Tabelas
336
Colunas
38
Medidas
12
Relacionamentos
7
Hierarquias
2
Roles RLS

Introdução

Visão geral do dashboard — propósito, público-alvo e contexto de negócio.

📊 Sobre o Dashboard

O Performance Gerencial é um dashboard Power BI desenvolvido para a Camil Alimentos que oferece uma análise tática aprofundada do desempenho comercial. Diferente do One Page Estratégico, este dashboard foca no acompanhamento diário com comparações mês a mês (MoM), rolling 12 meses (R12M) e indicadores diários de análise.

Público-alvo: Gerências Regionais, de Canal e de Vendas, Supervisores e Analistas Comerciais — times que acompanham a operação no dia a dia e precisam de visão granular para agir antes do fechamento do período.

📊 Propósito de Negócio

Capacitar os times comerciais a acompanhar o desempenho diário com análise granular por cliente e produto — indicadores R12M, comparativo mês a mês e visão acumulada que permitem ações corretivas antes do fechamento do período.

  • Volume: Qual o volume líquido faturado vs. meta S&OP e ano anterior, com visão rolling 12 meses?
  • Receita: Qual o faturamento total com comparativo mensal e anual?
  • Preço Médio: Qual o preço médio praticado e sua variação mês a mês?
  • Mix Médio: Qual a profundidade de portfólio por cliente, com tendência R12M?
  • Positivação: Quantos clientes estão ativos e qual o percentual de positivação da base?
  • Análise Diária: Qual o ritmo diário de vendas no mês corrente — estamos no caminho para bater a meta?
  • Clientes: Quantos clientes compraram no período? Houve novos clientes?

📊 Métricas do Modelo

MétricaValorDetalhes
Tabelas146 dimensões, 2 fatos, 4 auxiliares/RLS, 2 Calculation Groups
Colunas336Distribuídas entre tabelas de dimensão e fato
Medidas38Volume, Receita, Preço Médio, Mix Médio, Positivação, Clientes, Análise Diária e Auxiliares
Relacionamentos129 *:1 ativos no esquema estrela, 2 *:* em metas e 1 relacionamento inativo auto-detectado
Hierarquias7Produto, Cliente (4), Força de Vendas, Geográfica
Calculation Groups2_InteligenciaTempoPadrao (13 itens) e _IntegenciaTempoCamil (11 itens)
Roles RLS2RoleOwner (grupos estáticos), RoleComercialGeral (path hierarchy)
Fontes1Databricks Lakehouse (gold layer)

📊 Especificações Técnicas

1601
Import
pt-BR
Power BI V3
Desabilitado

📝 Controle de Versão

VersãoDataResponsávelAlterações MacroStatusDetalhes
v1.0 Maio/2026 D3 Data Versão inicial do modelo e documentação. Vigente
Ver detalhes
  • Estruturação do modelo semântico com esquema estrela.
  • Criação das medidas principais com suporte a MoM, R12M e análise diária.
  • Implementação de RLS por hierarquia comercial.
  • Integração com Databricks Lakehouse (gold layer).
  • Dois Calculation Groups: inteligência padrão e calendário Camil.

Ingestão dos Dados

Como os dados são extraídos da fonte e carregados no modelo.

🔗 Fonte de Dados

O modelo consome dados do Databricks Lakehouse hospedado no Azure (adb-1447769971371242.2.azuredatabricks.net), camada gold (dev catalog). As conexões utilizam o conector nativo Databricks.Catalogs do Power Query com query folding habilitado (EnableFolding=true).

Os dados passam por tratamento na camada silver (bronze → silver → gold) antes de serem disponibilizados para o modelo. O modelo não aplica transformações adicionais significativas além daquelas necessárias para relacionamentos (expansão de chaves via merge).

🔗 Power Query Expressions

NomeTipoDescrição
Conn_databricksConexãoConexão ao Databricks via Databricks.Catalogs(severHost, httpPath, [Catalog=catalogo])
dtb_p1_SeverHostParâmetroHost do workspace Databricks: adb-1447769971371242.2.azuredatabricks.net
dtb_p2_HttpPathParâmetroHTTP Path do SQL Warehouse: /sql/1.0/warehouses/c3e1199c43dde19c
dtb_p3_catalogoParâmetroCatálogo Databricks: dev
RangeStartParâmetroData de início para filtro incremental (atualmente: 01/02/2025)
RangeEndParâmetroData de fim para filtro incremental (atualmente: 01/02/2026)

Tabelas do Modelo

Dicionário técnico das tabelas do modelo, com consulta de origem, Power Query completo e colunas.

🗃 Visão Geral das Tabelas

O modelo possui 14 tabelas com 336 colunas. Cada tabela abaixo possui três toggles: consulta enviada à fonte, Power Query completo e dicionário de colunas.

6Dimensões
2Fatos
4Auxiliares/RLS
2Calculation Groups
dim_calendario dim_cliente dim_produto dim_hierarquia_comercial dim_estabelecimento dim_natureza_op _InteligenciaTempoPadrao _IntegenciaTempoCamil fto_faturamento fto_meta_volume Medidas par_analise rls_comerc_aux_hirarquia_vendas rls_comerc_aux_usuarios_acessos
fto_faturamento

Tabela fato principal do modelo. Contém o faturamento diário por cliente, produto, representante e natureza de operação. Origem: gold.fat_comerc_faturamento.

Fato35 colunas
Consulta da Fonte
SELECT
    CAST(part_data AS TIMESTAMP) AS dt_incremental,
    *
FROM
    gold.fat_comerc_faturamento
Power Query Completo
Oculta: NãoColunas calculadas: 0
let
    Tabela =
        Value.NativeQuery(
            Conn_databricks,
            "SELECT
                CAST(part_data AS TIMESTAMP) AS dt_incremental,
                *
            FROM
                gold.fat_comerc_faturamento",
            null,
            [EnableFolding=true]
        )
in
    Tabela
Colunas (35)
ColunaTipoDescrição
dt_incrementalDateTimeTimestamp de partição incremental
cd_representanteInt64Código do representante
cd_estabelecimentoInt64Código do estabelecimento
cd_clienteInt64Código do cliente
cd_produtoInt64Código do produto
cd_natureza_operacaoInt64Código da natureza de operação
cd_data_calendarioInt64SK de tempo (chave para dim_calendario)
volume_liquido_faturadoDoubleVolume líquido faturado (ton)
quantidade_unitaria_faturadaDoubleQuantidade unitária faturada
valor_unitario_itemDoubleValor unitário do item
valor_total_itemDoubleValor total do item
valor_desconto_itemDoubleValor do desconto
valor_total_faturamentoDoubleValor total do faturamento (base para FaturamentoTotal)
cd_condicao_pagamentoInt64Código da condição de pagamento
cd_nota_fiscalStringNúmero da nota fiscal
cd_seq_notaInt64Sequência da nota
cd_serieStringSérie da nota fiscal
dt_devolucaoDateTimeData de devolução
dt_entregaDateTimeData de entrega
dt_implantacaoDateTimeData de implantação
vl_aliq_cofinsDoubleAlíquota de COFINS
vl_aliq_ipiDoubleAlíquota de IPI
vl_aliq_pisDoubleAlíquota de PIS
vl_cofinsDoubleValor de COFINS
vl_icmsDoubleValor de ICMS
vl_ipiDoubleValor de IPI
vl_pisDoubleValor de PIS
vl_stDoubleValor de ST (substituição tributária)
dt_updateDateTimeData de atualização do registro
dt_processamento_ssotStringData de processamento SSOT
part_dataStringPartição de data
insert_dateDateTimeData de inserção
update_dateDateTimeData de atualização (lake)
sk_binomioStringSK do binômio cliente-produto
nk_binomioStringNK do binômio cliente-produto
fto_meta_volume

Tabela fato de metas de volume. Contém as metas S&OP por cliente, representante e SKU. Origem: bronze.ssot_input_mv_meta_forecast_orcamento.

Fato16 colunas
Consulta da Fonte
with calendario as(
  select
    left(sk_tempo,6) as ano_mes,
    count(1) as numero_dias_mes
  from
    dev.silver.corptv_calendario
  group by
    left(sk_tempo,6)
)
SELECT
  to_date(concat(a.ano_mes,'01'),'yyyyMMdd') as data_meta,
  a.ano_mes,
  cod_cliente,
  cod_representante,
  id_item as cd_sku,
  cast(cota as decimal(18,2)) as meta_cota,
  cast(orc as decimal(18,2)) as meta_orc,
  cast(orc_fin as decimal(18,2)) as meta_orc_fin,
  cast(forecast as decimal(18,2)) as meta_forecast,
  cast(try_divide(cota,numero_dias_mes) as decimal(18,2)) as meta_cota_dia,
  cast(try_divide(orc,numero_dias_mes) as decimal(18,2)) as meta_orc_dia,
  cast(try_divide(orc_fin,numero_dias_mes) as decimal(18,2)) as meta_orc_fin_dia,
  cast(try_divide(forecast,numero_dias_mes) as decimal(18,2)) as meta_forecast_dia,
  b.numero_dias_mes,
  id_grupo,
  id_filial
FROM
  dev.bronze.ssot_input_mv_meta_forecast_orcamento a
    inner join calendario b on a.ano_mes=b.ano_mes
Power Query Completo
Oculta: NãoColunas calculadas: 0
let
    Tabela =
        Value.NativeQuery(
            Conn_databricks,
            "with calendario as(...) SELECT ...",
            null,
            [EnableFolding=true]
        )
in
    Tabela
Colunas (16)
ColunaTipoDescrição
data_metaDateData de referência da meta (primeiro dia do mês)
ano_mesStringAnoMês no formato yyyyMM
cod_clienteStringCódigo do cliente
cod_representanteStringCódigo do representante
cd_skuStringCódigo do SKU
meta_cotaDoubleMeta cota (volume)
meta_orcDoubleMeta orçamento
meta_orc_finDoubleMeta orçamento financeiro
meta_forecastDoubleMeta forecast
meta_cota_diaDoubleMeta cota diária
meta_orc_diaDoubleMeta orçamento diária
meta_orc_fin_diaDoubleMeta orçamento financeiro diária
meta_forecast_diaDoubleMeta forecast diária
numero_dias_mesInt64Número de dias no mês
id_grupoStringIdentificador do grupo
id_filialStringIdentificador da filial
dim_calendario

Dimensão temporal completa. Contém calendário padrão (ano, mês, dia), calendário Camil (safra), feriados e indicadores de dia útil. Inclui coluna calculada FiltroPeriodo para destaque do mês atual.

Dimensão61 colunas
Consulta da Fonte
SELECT a.*,
  current_timestamp() AS DataUltimaAtualizacaoModelo,
  CONCAT('SF ', SUBSTRING(a.AnoSafra,3,2), '/', RIGHT(a.AnoSafra,2)) AS AnoSafraC,
  CONCAT(LEFT(a.AnoSafra,4), RIGHT(a.AnoSafra,4)) AS AnoSafraN
FROM gold.dim_tempo a
Power Query Completo
Oculta: NãoColunas calculadas: 2
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT a.*,current_timestamp() AS DataUltimaAtualizacaoModelo,
       CONCAT('SF ', SUBSTRING(a.AnoSafra,3,2), '/', RIGHT(a.AnoSafra,2)) AS AnoSafraC,
       CONCAT(LEFT(a.AnoSafra,4), RIGHT(a.AnoSafra,4)) AS AnoSafraN
      FROM gold.dim_tempo a",
      null, [EnableFolding=true])
in
    Source
Colunas (61)
ColunaTipoDescrição
sk_tempoInt64Chave surrogate temporal (YYYYMMDD).
DataCalendarioDateTimeData completa no formato DateTime.
AnoInt64Ano do calendário padrão.
MesInt64Mês do calendário padrão (1-12).
DiaInt64Dia do mês (1-31).
AnoCamilInt64Ano no calendário safra Camil (abril a março).
MesCamilInt64Mês no calendário safra Camil.
AnoSafraStringAno-safra descritivo (ex: 2024/2025).
DiaSemanaInt64Número do dia da semana (1=Domingo a 7=Sábado).
DiaAnoInt64Número sequencial do dia no ano (1-366).
AnoBissextoStringIndica se o ano é bissexto (S/N).
DiaUtilStringIndica se a data é dia útil (S/N).
FinalDeSemanaStringIndica se a data é final de semana (S/N).
FeriadoStringIndica se a data é feriado (S/N).
DescFeriadoStringNome do feriado, quando aplicável.
PreFeriadoStringIndica se a data antecede um feriado (S/N).
PosFeriadoStringIndica se a data sucede um feriado (S/N).
DiaSemandaStringNome do dia da semana por extenso (ex: Segunda-feira).
DiaSemanaAbrevStringAbreviação do dia da semana (ex: Seg, Ter).
DescMesStringNome do mês por extenso no calendário padrão.
DescMesCamilStringNome do mês por extenso no calendário Camil.
DescMesAbrevStringAbreviação do mês (Jan, Fev...) no calendário padrão.
DescMesAbrevCamilStringAbreviação do mês no calendário Camil.
QuinzenaInt64Número da quinzena no mês (1 ou 2).
BimestreDoubleNúmero do bimestre no calendário padrão (1-6).
TrimestreInt64Número do trimestre no calendário padrão (1-4).
TrimestreCamilDoubleNúmero do trimestre no calendário Camil.
SemestreInt64Número do semestre (1 ou 2).
SemanaMesInt64Número da semana dentro do mês.
SemanaAnoInt64Número da semana dentro do ano (1-53).
EstacaoStringEstação do ano (Verão, Outono, Inverno, Primavera).
DataCompletaStringData formatada por extenso (ex: 09 de Abril de 2026).
DiaSemanaInglesStringNome do dia da semana em inglês.
DiaSemanaEspanholStringNome do dia da semana em espanhol.
DescMesInglesStringNome do mês em inglês.
DescMesEspanholStringNome do mês em espanhol.
DataCamilDateTimeData de referência no calendário Camil (safra).
AnoMesStringAno e mês concatenados no calendário padrão (YYYY-MM).
AnoMesCamilStringAno e mês concatenados no calendário Camil.
DescMesOrdemCamilStringDescrição do mês com ordenação pelo calendário Camil.
DescMesAbrevOrdemCamilStringAbreviação do mês com ordenação pelo calendário Camil.
DataUltimaAtualizacaoModeloDateTimeData/hora da última atualização do modelo semântico.
DataInicioSafraDateTimeData de início do ano-safra Camil para a linha.
DataFimSafraDateTimeData de fim do ano-safra Camil para a linha.
BimestreCamilDoubleNúmero do bimestre no calendário Camil.
SemestreCamilDoubleNúmero do semestre no calendário Camil.
RangeSemanaStringFaixa/range da semana (ex: 01/04 - 07/04).
ProximoDiaUtilDateTimePróximo dia útil após a data da linha.
PrimeiroDiaMesDateTimePrimeiro dia do mês da data da linha.
UltimoDiaMesDateTimeÚltimo dia do mês da data da linha.
insert_dateDateTimeData de inserção do registro no Data Lake.
update_dateDateTimeData da última atualização do registro no Data Lake.
nk_tempoDateTimeChave natural temporal (data original da fonte).
DsTrimestreStringDescrição do trimestre (ex: 1º Trimestre).
DsTrimestreCamilStringDescrição do trimestre no calendário Camil.
FiltroPeriodoStringColuna calculada para filtro de período nos slicers do relatório. Combina mês/ano de forma amigável.
FiltroMesesFechadosBooleanFlag booleana indicando se o mês já está encerrado (TRUE) ou ainda em andamento (FALSE).
MesAnoAbreStringMês e ano abreviados para exibição (ex: Jan/26).
AnoSafraCStringAno-safra formatado para exibição (ex: SF 24/25).
AnoSafraNStringAno-safra em formato numérico.
MesOrdemInt64Coluna auxiliar para ordenação cronológica de meses (formato YYYYMM).
dim_cliente

Dimensão de clientes. Contém dados cadastrais, hierarquia comercial (diretoria, gerência, canal, representante), canais de venda e classificações. Origem: gold.dim_comerc_cliente.

Dimensão63 colunas
Consulta da Fonte
SELECT DISTINCT *,
  CONCAT(Endereco, ', ', Bairro, ', ', Cidade, '/', UF, '-', CEP) AS EnderecoCompleto,
  CONCAT(Comerc_DsNomeFantasia, UF) AS `NmFantasia+UF`
FROM gold.dim_comerc_cliente
WHERE DtProcessamentoSsot is not null
Power Query Completo
Oculta: NãoColunas calculadas: 1
let
    Source = Value.NativeQuery(Conn_databricks, "...", null, [EnableFolding=true]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"CdRep", Int64.Type}}),
    #"Merged Queries" = Table.NestedJoin(#"Changed Type", {"CdRep"},
      dim_hierarquia_comercial, {"CdRepresentante"}, "dim_hierarquia_comercial", JoinKind.LeftOuter),
    #"Expanded dim_hierarquia_comercial" = Table.ExpandTableColumn(
      #"Merged Queries", "dim_hierarquia_comercial", {"DsSetor"}, {"dim_hierarquia_comercial.DsSetor"})
in
    #"Expanded dim_hierarquia_comercial"
Colunas (63)
ColunaTipoDescrição
SK_ClienteInt64Chave surrogate do cliente.
CdClienteInt64Código do cliente no ERP.
DsClienteStringNome/descrição do cliente.
ClienteStringCódigo + nome do cliente concatenados.
DsNomeAbrevStringNome abreviado do cliente.
CNPJStringCNPJ do cliente.
PaisStringPaís do cliente.
UFStringUnidade Federativa (estado) do cliente.
CidadeStringCidade/município do cliente.
BairroStringBairro do cliente.
EnderecoStringEndereço completo do cliente.
CEPStringCEP do cliente.
RazaoSocialStringRazão social do cliente.
CdMatrizInt64Código da matriz do cliente (para filiais).
DsMatrizStringNome da matriz do cliente.
ClienteMatrizStringCódigo + nome da matriz concatenados.
CdCanalVendaInt64Código do canal de venda do cliente.
DsCanalVendaStringDescrição do canal de venda (Varejo, Atacado, etc.).
CdGrupoClienteInt64Código do grupo de clientes.
DsGrupoClienteStringDescrição do grupo de clientes.
Comerc_DsBandeiraStringBandeira do cliente (visão comercial).
Comerc_DsClienteScanntechStringNome do cliente na base Scanntech.
Comerc_DsAreaNielsenStringÁrea Nielsen do cliente.
Comerc_DsCanalAgrupadoStringCanal agrupado (visão comercial simplificada).
Comerc_DsCanalDetalhadoStringCanal detalhado (visão comercial granular).
Comerc_DsCanalDashStringCanal para exibição em dashboards.
Comerc_CdCvmixInt64Código CVMix do cliente.
Comerc_DsCanalMixStringCanal de mix do cliente.
Comerc_DsClienteAcceraStringNome do cliente na base Accera.
Comerc_DsClienteTop60StringIdentificação do cliente no Top 60 (maiores contas).
Comerc_DsNomeFantasiaStringNome fantasia do cliente.
CS_DsClassificacaoStringClassificação do cliente no Customer Service (CS).
DsAgendadoStringIndica se o cliente opera com entrega agendada (S/N).
DsTipoGestaoStringTipo de gestão comercial do cliente.
FlDistribuidorMtrixBooleanFlag indicando se é distribuidor matriz.
FlClienteScanntechBooleanFlag indicando se o cliente está na base Scanntech.
FlClienteJbpBooleanFlag indicando se o cliente participa de JBP (Joint Business Plan).
DsSetorStringSetor de atuação do cliente.
CdRepInt64Código do representante.
DataImplatacaoDateTimeData de implantação do cliente.
DtProcessamentoSsotStringData de processamento SSOT.
insert_dateDateTimeData de inserção do registro no Data Lake.
update_dateDateTimeData da última atualização do registro no Data Lake.
EstadoCompletoStringNome completo do estado.
RegiãoStringRegião geográfica do cliente (Norte, Nordeste, Centro-Oeste, Sudeste, Sul).
DsClassificacaoJBPStringClassificação do cliente JBP.
OrdemJBPInt64Ordem de classificação JBP.
DiretoriaRegionalStringDiretoria regional do cliente.
NomeDiretoriaRegionalStringNome da diretoria regional.
GerenciaRegionalStringGerência regional do cliente.
NomeGerenciaRegionalStringNome da gerência regional.
GerenciaCanalStringGerência de canal do cliente.
NomeGerenciaCanalStringNome da gerência de canal.
GerenciaVendasStringGerência de vendas do cliente.
RepIndiretoStringRepresentante indireto.
DsRepIndiretoStringNome do representante indireto.
DsRepAbrevStringNome abreviado do representante.
DsRepresentanteStringNome do representante.
dim_hierarquia_comercial.DsSetorStringSetor comercial (via dim_hierarquia_comercial).
EnderecoCompletoStringEndereço completo formatado.
NmFantasia+UFStringNome fantasia + UF concatenados.
NomeGerenteComercialStringNome do gerente comercial.
TipoComercialStringTipo comercial do cliente.
dim_produto

Dimensão de produtos. Contém a hierarquia completa de classificação: linha, família, subfamília, grupo estratégico, grupo, subgrupo e SKU. Origem: gold.dim_comerc_produto.

Dimensão55 colunas
Consulta da Fonte
SELECT DISTINCT * FROM gold.dim_comerc_produto
Power Query Completo
Oculta: NãoColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT DISTINCT * FROM gold.dim_comerc_produto",
      null, [EnableFolding=true])
in
    Source
Colunas (55)
ColunaTipoDescrição
insert_dateDateTimeData de inserção do registro no Data Lake.
update_dateDateTimeData da última atualização do registro no Data Lake.
SK_ProdutoInt64Chave surrogate do produto.
CdProdutoStringCódigo do produto no ERP.
DsProdutoStringDescrição completa do produto.
ProdutoStringCódigo + descrição do produto concatenados.
DsUnidadeItemStringUnidade de medida do item (KG, UN, CX, etc.).
QtPesoLiquidoDoublePeso líquido do item (kg).
QtPesoBrutoDoublePeso bruto do item (kg).
DsUnidadeNegocioStringDescrição da unidade de negócio do produto.
CdUnidadeNegocioStringCódigo da unidade de negócio.
DsFamiliaComercialStringFamília comercial do produto.
CdGrupoEstoqueInt64Código do grupo de estoque.
DsGrupoEstoqueStringDescrição do grupo de estoque.
DsTipoGrupoEstoqueInt64Tipo do grupo de estoque.
CdCategoriaItemStringCódigo da categoria fiscal do item.
DsDepositoPadItemStringDepósito padrão do item.
CdClassFiscalItemStringClassificação fiscal (NCM) do item.
DataImplantacaoDateTimeData de implantação/cadastro do produto no ERP.
DataObsolescenciaDateTimeData de obsolescência/descontinuação do produto.
DsFamiliaProdutoStringFamília de produção do produto.
FlCurvaAbcFamiliaProdutoBooleanFlag de curva ABC da família de produto.
QtFatorConversaoFamiliaProdutoDoubleFator de conversão da família de produto.
DsUnidadeFamiliaProdutoStringUnidade de medida da família de produto.
QtLinhaProducaoFamiliaProdutoInt64Quantidade de linhas de produção da família.
Comerc_DsLinhaComercialStringLinha comercial do produto (visão comercial).
Comerc_CdProdComercialStringCódigo do produto comercial.
Comerc_DsProdComercialStringDescrição do produto comercial.
Comerc_DsFamiliaComercialStringFamília comercial (visão comercial).
Comerc_DsSubFamiliaStringSubfamília do produto (visão comercial).
Comerc_DsFamiliaSisStringFamília SIS do produto.
Comerc_DsGrupoEstrategicoStringGrupo estratégico do produto.
Comerc_DsGrupoStringGrupo comercial do produto.
Comerc_DsMarcaStringMarca do produto.
Comerc_DsSaborStringSabor/variante do produto.
Comerc_DsCapacidadeDoubleCapacidade/gramatura do produto (g ou ml).
Comerc_QtFatorConversaoDoubleFator de conversão comercial (ex: caixas para unidades).
Comerc_QtPesoStringPeso comercial do produto.
Comerc_DsUnidadeStringUnidade de medida comercial.
Comerc_DsCategoriaAStringCategoria A do produto (nível 1 da hierarquia comercial).
Comerc_DsCategoriaBStringCategoria B do produto (nível 2 da hierarquia comercial).
Comerc_DsCategoriaCDoubleCategoria C do produto (nível 3 da hierarquia comercial).
Comerc_QtMultiploStringMúltiplo de venda do produto.
Comerc_DsGrupoBStringGrupo B do produto (agrupamento comercial secundário).
Comerc_DsLinhaDashStringLinha para exibição em dashboards (visão A).
Comerc_DsLinhaDashBStringLinha para exibição em dashboards (visão B).
Comerc_DsLancamentoStringIndicador de lançamento (novo produto).
Comerc_DsGrupoCapacidadeStringAgrupamento por capacidade/gramatura do produto.
CdEanStringCódigo EAN/código de barras do produto.
DsPaletizacaoDoubleQuantidade de unidades por palete (paletização).
DtProcessamentoSsotStringData do processamento SSOT do produto.
IdProdutoInt64ID numérico do produto (chave alternativa).
DsTipoCategoriaStringClassificação do tipo de categoria (Alto Giro, Valor Agregado, etc.).
DsCategoriaStringCategoria do produto.
DsCategoriaFormatStringCategoria formatada do produto.
dim_estabelecimento

Dimensão de estabelecimentos (filiais). Contém dados cadastrais e hierarquia organizacional dos estabelecimentos Camil. Origem: gold.dim_comerc_estabelecimento.

Dimensão23 colunas
Consulta da Fonte
SELECT * FROM gold.dim_comerc_estabelecimento
Power Query Completo
Oculta: NãoColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT * FROM gold.dim_comerc_estabelecimento",
      null, [EnableFolding=true])
in
    Source
Colunas (23)
ColunaTipoDescrição
sk_estabelecimentoInt64Chave surrogate do estabelecimento.
CodEstabelecimentoStringCódigo identificador do estabelecimento/filial no ERP.
DescFilialStringNome descritivo da filial.
RazaoSocialStringRazão social da pessoa jurídica do estabelecimento.
EnderecoStringEndereço completo do estabelecimento.
BairroStringBairro do estabelecimento.
CidadeStringCidade/município do estabelecimento.
UFStringUnidade Federativa (estado) do estabelecimento.
CEPStringCódigo de Endereçamento Postal.
PaisStringPaís do estabelecimento.
CNPJStringCNPJ do estabelecimento.
IncricaoEstadualStringInscrição Estadual do estabelecimento.
FlagEstabelecimentoAtivoStringFlag indicando se o estabelecimento está ativo (S/N).
CapacidadeDoubleCapacidade produtiva do estabelecimento.
TipoEstabelecimentoStringTipo do estabelecimento (fábrica, CD, etc.).
Suprimentos_RegiaoStringRegional de Suprimentos responsável pelo estabelecimento.
Comercial_RegionalStringRegional Comercial responsável pelo estabelecimento.
GenteGestao_NegocioStringUnidade de negócio na visão de Gente & Gestão.
insert_dateDateTimeData de inserção do registro no Data Lake.
update_dateDateTimeData da última atualização do registro no Data Lake.
GenteGestao_NomeUnidadeStringNome da unidade na visão de Gente & Gestão.
GenteGestao_NomeCodigoUnidadeStringNome e código da unidade concatenados (Gente & Gestão).
Logist_RegionalStringRegional Logística responsável pelo estabelecimento.
dim_natureza_op

Dimensão de natureza de operação. Classifica os tipos de operação fiscal das notas fiscais de faturamento. Origem: gold.dim_comerc_natureza_operacao.

Dimensão31 colunas
Consulta da Fonte
SELECT * FROM gold.dim_comerc_natureza_operacao
Power Query Completo
Oculta: NãoColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT * FROM gold.dim_comerc_natureza_operacao",
      null, [EnableFolding=true])
in
    Source
Colunas (31)
ColunaTipoDescrição
Sk_NatOperacaoInt64Chave surrogate da natureza de operação.
NkNatOperacaoStringChave natural da natureza de operação (código original do ERP).
DsNatOperacaoStringDescrição da natureza de operação.
NatOperacaoStringCódigo + descrição da natureza de operação concatenados.
CdCfopStringCódigo CFOP (Código Fiscal de Operações e Prestações).
DsCfopStringDescrição do CFOP.
CfopStringCódigo + descrição do CFOP concatenados.
TipoCfopStringTipo do CFOP (Entrada, Saída, etc.).
DsCfopDetalhadaStringDescrição detalhada do CFOP.
CdCanalVendaStringCódigo do canal de venda vinculado à natureza.
CdGrupoStringCódigo do grupo da natureza.
DsGrupoStringDescrição do grupo da natureza.
GrupoStringCódigo + descrição do grupo concatenados.
SubgrupoComercialStringSubgrupo comercial da natureza de operação.
CdSituacaoStringCódigo de situação da natureza (Ativa/Inativa).
CdTipoStringCódigo do tipo da natureza de operação.
DsEspecieDocumentoStringEspécie do documento fiscal (NF-e, NFS-e, etc.).
CdNatVinculadaStringCódigo da natureza vinculada (para operações complementares).
EmiteDuplicataBooleanFlag indicando se a natureza emite duplicata.
CdMercadoStringCódigo de mercado (interno/externo).
TerceirosBooleanFlag indicando operação com terceiros.
AtualizaEstatisticaBooleanFlag indicando se atualiza estatísticas de venda.
AtualizaBIBooleanFlag indicando se a operação alimenta o BI.
NarrativaStringTexto narrativo/observação sobre a natureza de operação.
CdNatComparavelStringCódigo da natureza comparável (para análises de agrupamento).
NaturezaAtivaBooleanFlag indicando se a natureza está ativa.
VendaAtivaBooleanFlag indicando se é uma natureza de venda ativa.
CodTipoCompraStringCódigo do tipo de compra.
AgrupamentoComercialStringAgrupamento comercial da natureza de operação.
insert_dateDateTimeData de inserção do registro no Data Lake.
update_dateDateTimeData da última atualização do registro no Data Lake.
dim_hierarquia_comercial

Dimensão da força de vendas. Contém a hierarquia comercial (diretoria, gerência regional, gerência canal, gerência vendas, setor, representante). Origem: gold.dim_comerc_hierarquia_vendas.

Dimensão23 colunas
Consulta da Fonte
SELECT * FROM gold.dim_comerc_hierarquia_vendas
Power Query Completo
Oculta: NãoColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT * FROM gold.dim_comerc_hierarquia_vendas",
      null, [EnableFolding=true])
in
    Source
Colunas (23)
ColunaTipoDescrição
SK_RepresentanteInt64Chave surrogate do representante.
CdRepresentanteInt64Código do representante no ERP.
DsRepresentanteStringNome completo do representante.
RepresentanteStringCódigo + nome do representante concatenados.
DsRepAbrevStringNome abreviado do representante.
TipoComercialStringTipo comercial do representante (Direto, Indireto, etc.).
StatusComercialStringStatus do representante (Ativo/Inativo).
CodRepIndiretoInt64Código do representante indireto vinculado.
DsRepIndiretoStringNome do representante indireto.
RepIndiretoStringCódigo + nome do representante indireto concatenados.
DsRepIndiretoAbrevStringNome abreviado do representante indireto.
GerenciaVendasStringCódigo da gerência de vendas na hierarquia.
GerenciaCanalStringCódigo da gerência de canal na hierarquia.
GerenciaRegionalStringCódigo da gerência regional na hierarquia.
DiretoriaRegionalStringCódigo da diretoria regional na hierarquia.
NomeGerenteComercialStringNome do gerente comercial responsável.
NomeGerenciaCanalStringNome do gerente de canal.
NomeGerenciaRegionalStringNome do gerente regional.
NomeDiretoriaRegionalStringNome do diretor regional.
insert_dateDateTimeData de inserção do registro no Data Lake.
update_dateDateTimeData da última atualização do registro no Data Lake.
DsSetorStringSetor comercial do representante.
DsTipoGestaoStringTipo de gestão comercial.
_InteligenciaTempoPadrao

Tabela de inteligência de tempo para suporte a cálculos de períodos comparativos (MTD, QTD, YTD, mesma data do ano anterior). Contém as datas e indicadores de período para navegação temporal padrão.

Dimensão4 colunas
Consulta da Fonte
SELECT DISTINCT Data, Ano, Semestre FROM gold.dim_tempo
Power Query Completo
Oculta: SimColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT DISTINCT Data, Ano, Semestre FROM gold.dim_tempo",
      null, [EnableFolding=true])
in
    Source
Colunas (4)
ColunaTipoDescrição
DataDateData de referência
AnoInt64Ano da data
SemestreInt64Semestre da data (1 ou 2)
insert_dateDateTimeData de inserção
_IntegenciaTempoCamil

Tabela de inteligência de tempo para o calendário Camil (safra). Suporta cálculos de períodos comparativos baseados no calendário agrícola da companhia.

Dimensão4 colunas
Consulta da Fonte
SELECT DISTINCT DataCamil, AnoCamil, SemestreCamil FROM gold.dim_tempo
Power Query Completo
Oculta: SimColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT DISTINCT DataCamil, AnoCamil, SemestreCamil FROM gold.dim_tempo",
      null, [EnableFolding=true])
in
    Source
Colunas (4)
ColunaTipoDescrição
DataCamilDateData de referência (calendário Camil)
AnoCamilInt64Ano Camil da data
SemestreCamilInt64Semestre Camil (1 ou 2)
insert_dateDateTimeData de inserção
Medidas

Tabela calculada que contém as medidas do modelo organizadas por categoria para uso em visuais de matriz/seleção. A tabela não possui linhas — apenas colunas calculadas que referenciam as medidas DAX do modelo.

Auxiliar2 colunas
Colunas (2)
ColunaTipoDescrição
IndicadorStringNome do indicador para exibição em visuais
OrdemInt64Ordem de exibição do indicador
par_analise

Tabela de parâmetro do tipo Field Parameter para o gráfico de análise diária. Permite ao usuário selecionar qual métrica visualizar no eixo Y: Receita, Volume, Positivação-Matriz, Mix Médio ou Preço Médio.

Auxiliar3 colunas
Colunas (3)
ColunaTipoDescrição
medidasStringNome da medida para exibição no seletor
Parameter Fields-Campo oculto gerado pelo Field Parameter
Parameter OrderInt64Ordem de exibição do parâmetro (oculto)
rls_comerc_aux_hirarquia_vendas

Tabela auxiliar de RLS que mapeia a hierarquia comercial completa em formato de path para aplicação de segurança. Cada linha representa um nó na hierarquia com seu path completo (ex: Diretoria|Gerência|Supervisor).

RLS10 colunas
Consulta da Fonte
SELECT * FROM silver.rls_comerc_aux_hirarquia_vendas
Power Query Completo
Oculta: SimColunas calculadas: 1 (path_hierarquia)
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT * FROM silver.rls_comerc_aux_hirarquia_vendas",
      null, [EnableFolding=true])
in
    Source
Colunas (10)
ColunaTipoDescrição
tipo_acessoStringTipo de acesso do nó
sk_itemInt64SK do nó hierárquico (chave primária)
nk_itemStringNK do nó hierárquico
ds_itemStringNome do nó hierárquico
item_paiInt64SK do nó pai na hierarquia
tipo_acesso_paiStringTipo de acesso do nó pai
nivelInt64Nível do nó na hierarquia
path_hierarquiaStringPath completo da hierarquia (separador |) Calculada
insert_dateDateTimeData de inserção
update_dateDateTimeData de atualização
rls_comerc_aux_usuarios_acessos

Tabela auxiliar de RLS que mapeia usuários (UPN) aos nós hierárquicos que cada um pode acessar. O filtro RLS verifica se o USERPRINCIPALNAME() do usuário logado existe nesta tabela e aplica o path correspondente.

RLS6 colunas
Consulta da Fonte
SELECT * FROM silver.rls_comerc_aux_usuarios_acessos
Power Query Completo
Oculta: SimColunas calculadas: 0
let
    Source = Value.NativeQuery(Conn_databricks,
      "SELECT * FROM silver.rls_comerc_aux_usuarios_acessos",
      null, [EnableFolding=true])
in
    Source
Colunas (6)
ColunaTipoDescrição
usuarioStringUPN do usuário (oculta)
tipo_acessoStringTipo de acesso (oculta)
acessoStringIdentificador de acesso (oculta)
filtro_rls_acessoStringFiltro RLS aplicado (oculta)
insert_dateDateTimeData de inserção
update_dateDateTimeData de atualização

Modelagem de Dados

Estrutura do modelo — tabelas, relacionamentos e hierarquias.

🗃 Diagrama do Modelo

O modelo segue o padrão esquema estrela com duas tabelas fato (fto_faturamento e fto_meta_volume) conectadas a dimensões compartilhadas. O RLS é aplicado via tabelas auxiliares com hierarquia de path.

Dimensões

dim_calendario dim_cliente dim_produto dim_hierarquia_comercial dim_estabelecimento dim_natureza_op _InteligenciaTempoPadrao _IntegenciaTempoCamil

Fatos

fto_faturamento fto_meta_volume

Tabelas Auxiliares

Medidas par_analise rls_comerc_aux_hirarquia_vendas rls_comerc_aux_usuarios_acessos

🔗 Relacionamentos

O modelo possui 12 relacionamentos, sendo 9 *:1 no esquema estrela, 2 *:* na tabela de metas e 1 inativo. A tabela fto_faturamento se conecta a 6 dimensões; fto_meta_volume se conecta a 4 dimensões.

fto_faturamento
cd_data_calendario
dim_calendario
sk_tempo
*:1
fto_faturamento
cd_estabelecimento
dim_estabelecimento
sk_estabelecimento
*:1
fto_faturamento
cd_natureza_operacao
dim_natureza_op
Sk_NatOperacao
*:1
fto_faturamento
cd_representante
dim_hierarquia_comercial
SK_Representante
*:1
fto_faturamento
cd_cliente
dim_cliente
SK_Cliente
*:1
fto_faturamento
cd_produto
dim_produto
SK_Produto
*:1
fto_meta_volume
data_meta
dim_calendario
DataCalendario
*:1
→→
fto_meta_volume
cod_representante
dim_hierarquia_comercial
CdRepresentante
*:*
fto_meta_volume
cod_cliente
dim_cliente
CdCliente
*:1
→→
fto_meta_volume
cd_sku
dim_produto
CdProduto
*:*
dim_hierarquia_comercial
SK_Representante
rls_comerc_aux_hirarquia_vendas
sk_item
*:1
Suporte ao RLS hierárquico
dim_cliente
DsRepAbrev
dim_hierarquia_comercial
DsRepAbrev
Auto
Inativo / auto-detected

Os relacionamentos *:* (destacados com borda tracejada laranja) ocorrem porque fto_meta_volume se conecta a dim_hierarquia_comercial e dim_produto por colunas não únicas (cod_representante/CdRepresentante e cd_sku/CdProduto).

📂 Hierarquias

O modelo possui 7 hierarquias distribuídas entre as dimensões de produto, cliente e força de vendas, permitindo drill-down e análise hierárquica nos visuais.

Hierarquia de Produto

  • Linha Comerc_DsLinhaComercial
  • Família Comercial Comerc_DsFamiliaComercial
  • Sub Família Comerc_DsSubFamilia
  • Grupo Estratégico Comerc_DsGrupoEstrategico
  • Grupo Comerc_DsGrupo
  • Produto Produto

Força de Vendas (dim_cliente)

  • Diretoria DiretoriaRegional
  • Gerência Regional GerenciaRegional
  • Canal GerenciaCanal
  • Supervisor GerenciaVendas
  • Setor DsSetor
  • Representante DsRepAbrev

Hierarquia Geográfica

  • Região Região
  • UF UF
  • Cidade Cidade

Hierarquia Canal

  • Canal Agrupado Comerc_DsCanalAgrupado
  • Canal Detalhado Comerc_DsCanalDetalhado
  • Canal Venda DsCanalVenda

Hierarquia de Cliente

  • Nome Fantasia Comerc_DsNomeFantasia
  • Matriz ClienteMatriz
  • Cliente Cliente
  • CNPJ CNPJ

Hierarquia Cliente JBP

  • Nome Fantasia
  • Matriz
  • Cliente

Força de Vendas (dim_hierarquia_comercial)

  • Diretoria Regional
  • Gerência Regional
  • Gerência Canal
  • Gerência Vendas
  • Setor
  • Representante

Medidas DAX

Conjunto completo de 38 medidas organizadas por categoria de negócio.

📦 Volume 10 medidas

MedidaDAX (resumo)Formato
VolumeTotalCALCULATE(SUM(fto_faturamento[volume_liquido_faturado]))#,0
VolumeTotal.LYCALCULATE([VolumeTotal], SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))#,0
DeltaVolume.LYDIVIDE([VolumeTotal] - [VolumeTotal.LY], [VolumeTotal.LY])0.00%
DeltaVolume.LY.CardDelta para exibição em card KPI0.00%
VolumeMetaSUM(fto_meta_volume[meta_cota])#,0
PercentMetaVolumeDIVIDE([VolumeTotal], [VolumeMeta])0%
MetaVolume.Percent.CardPercentual de meta para card KPI0%
VolumeTotal.CardVolume formatado para card KPI#,0
VolumeTotal.LMCALCULATE([VolumeTotal], PREVIOUSMONTH(dim_calendario[DataCalendario]))#,0
DeltaVolume.LMDIVIDE([VolumeTotal] - [VolumeTotal.LM], [VolumeTotal.LM])0.00%
VolumeTotal.R12MVolume rolling 12 meses#,0
VolumeRotuloRótulo de volume para exibiçãoString

📊 Receita 7 medidas

MedidaDAX (resumo)Formato
FaturamentoTotalCALCULATE(SUM(fto_faturamento[valor_total_faturamento]))R$ #.00 (dinâmico K/Mi/Bi)
FaturamentoTotal.LYCALCULATE([FaturamentoTotal], SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))R$ #.00 (dinâmico)
DeltaFaturamento.LYDIVIDE([FaturamentoTotal] - [FaturamentoTotal.LY], [FaturamentoTotal.LY])0.00%
DeltaFaturamento.LY.CardDelta para exibição em card KPI0.00%
FaturamentoMetaSUM(fto_meta_volume[meta_orc_fin])R$ #.00
PercentMetaFaturamentoDIVIDE([FaturamentoTotal], [FaturamentoMeta])0%
MetaFaturamento.Percent.CardPercentual de meta para card KPI0%
FaturamentoTotal.LMCALCULATE([FaturamentoTotal], PREVIOUSMONTH(dim_calendario[DataCalendario]))R$ #.00
DeltaFaturamento.LMDIVIDE([FaturamentoTotal] - [FaturamentoTotal.LM], [FaturamentoTotal.LM])0.00%
FaturamentoTotal.R12MFaturamento rolling 12 mesesR$ #.00

💰 Preço Médio 4 medidas

MedidaDAX (resumo)Formato
PrecoMedioDIVIDE([FaturamentoTotal], SUM(fto_faturamento[volume_liquido_faturado]))R$ #,0.00
PrecoMedio.LYCALCULATE([PrecoMedio], SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))R$ #,0.00
DeltaPrecoMedio.LYDIVIDE([PrecoMedio] - [PrecoMedio.LY], [PrecoMedio.LY])0.00%
DeltaPrecoMedio.LY.CardDelta para exibição em card KPI0.00%
PrecoMedio.LMCALCULATE([PrecoMedio], PREVIOUSMONTH(dim_calendario[DataCalendario]))R$ #,0.00
DeltaPrecoMedio.LMDIVIDE([PrecoMedio] - [PrecoMedio.LM], [PrecoMedio.LM])0.00%
PrecoMedio.R12MPreço médio rolling 12 mesesR$ #,0.00

📊 Mix Médio 4 medidas

MedidaDAX (resumo)Formato
MixMedioDIVIDE(TotalSKUs, ClientesAtivos) janela 3 meses#.00
MixMedio.LYCALCULATE([MixMedio], SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))#.00
DeltaMixMedio.LYDIVIDE([MixMedio] - [MixMedio.LY], [MixMedio.LY])0.00%
DeltaMixMedio.LY.CardDelta para exibição em card KPI0.00%
MixMedio.LMCALCULATE([MixMedio], PREVIOUSMONTH(dim_calendario[DataCalendario]))#.00
DeltaMixMedio.LMDIVIDE([MixMedio] - [MixMedio.LM], [MixMedio.LM])0.00%
MixMedio.R12MMix médio rolling 12 meses#.00

✅ Positivação 5 medidas

MedidaDAX (resumo)Formato
PositivacaoTotalSUMX(VALUES(fto_faturamento[cd_cliente]), IF([VolumeTotal] > 0, 1, 0))#,0
PositivacaoMetaCALCULATE(DISTINCTCOUNT(fto_faturamento[cd_cliente]), ALL(dim_calendario))#,0
PositivacaoPercentualDIVIDE([PositivacaoTotal], [PositivacaoMeta])0.00%
PositivacaoTotal.LYCALCULATE([PositivacaoTotal], SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))#,0
DeltaPositivacao.LYDIVIDE([PositivacaoTotal] - [PositivacaoTotal.LY], [PositivacaoTotal.LY])0.00%
DeltaPositivacao.LY.CardDelta para exibição em card KPI0.00%
PositivacaoTotal.LMCALCULATE([PositivacaoTotal], PREVIOUSMONTH(dim_calendario[DataCalendario]))#,0
DeltaPositivacao.LMDIVIDE([PositivacaoTotal] - [PositivacaoTotal.LM], [PositivacaoTotal.LM])0.00%
PositivacaoTotal.R12MPositivação rolling 12 meses#,0

👥 Clientes 2 medidas

MedidaDAX (resumo)Formato
ClientesDISTINCTCOUNT(fto_faturamento[cd_cliente])#,0
Clientes NovosClientes sem compras em períodos anteriores#,0

📊 Análise Diária 3 medidas

MedidaDescriçãoFormato
_Valor SelecionadoRetorna o valor da medida selecionada no Field Parameter par_analise (Receita, Volume, Positivação, Mix, Preço).Dinâmico
_Cor HighlightCor de destaque (verde/vermelho) baseada na variação do valor selecionado vs. período anterior.String
_Valor Selecionado R12MRolling 12 meses do valor selecionado no Field Parameter para linha de tendência.Dinâmico

࡛️ Medidas Auxiliares 2 medidas

MedidaDescrição
FiltrosAplicadosConcatena dinamicamente todos os filtros ativos (safra, mês, diretoria, cliente, produto) em uma única string para exibição em visuais.
UltimaAtualizacaoLakeExibe a data/hora da última atualização do lake: "Lake Atualizado em: DD/MM/AAAA HH:mm"
Data Ultima Atualização ModeloMAX de DataUltimaAtualizacaoModelo na dim_calendario

📊 Cards KPI HTML 5 medidas

MedidaDescrição
06. CARD - KPI HTML VolumeCard HTML com SVG inline para Volume — valor principal, badge de variação vs LY e indicador de meta S&OP.
07. CARD - KPI HTML ReceitaCard HTML com SVG inline para Receita — valor principal, badge de variação vs LY e indicador de meta S&OP.
08. CARD - KPI HTML PositivaçãoCard HTML com SVG inline para Positivação — valor principal, badge de variação vs LY e indicador de meta S&OP.
09. CARD - KPI HTML Mix MédioCard HTML com SVG inline para Mix Médio — valor principal, badge de variação vs LY e indicador de meta S&OP.
10. CARD - KPI HTML Preço MédioCard HTML com SVG inline para Preço Médio — valor principal, badge de variação vs LY e indicador de meta S&OP.

5 medidas que geram cards HTML via DAX para exibição de KPIs com SVG inline e badges de variação.

Visuais do Relatório

Capturas de tela e descrição dos principais visuais do dashboard.

📊 Layout do Dashboard

O Performance Gerencial utiliza um layout de página única com fundo SVG personalizado. A página contém aproximadamente 40+ visuais organizados em seções de KPI cards, gráficos de tendência, análise diária e tabelas de detalhamento.

Os visuais utilizam HTML Content (custom visual) para renderizar cards KPI com estilo próprio, e visuais nativos Power BI para os gráficos. O dashboard inclui um gráfico de Análise Diária com field parameter para alternar entre métricas.

📊 Principais Visuais

📊

Cards KPI HTML: 5 cards com valor principal, badge de variação vs LY e indicador de meta S&OP. Incluem MoM (mês a mês) além do YoY tradicional. Utilizam medidas DAX que geram HTML+CSS+SVG inline.

📸 Substitua este placeholder pelo print real do visual
📊

Gráficos de Tendência R12M: Evolução rolling 12 meses de Volume, Receita, Preço Médio, Mix Médio e Positivação com comparação mês a mês.

📸 Substitua este placeholder pelo print real do visual
📊

Análise Diária: Gráfico interativo com field parameter (par_analise) que permite alternar entre Receita, Volume, Positivação, Mix Médio e Preço Médio para visualização diária.

📸 Substitua este placeholder pelo print real do visual
📊

Tabela de Detalhamento: Visão tabular por diretoria/gerência/representante com métricas consolidadas, variação MoM e YoY, e indicadores visuais de performance.

📸 Substitua este placeholder pelo print real do visual
📊

Filtros: Slicers de Safra, Mês, Diretoria, Gerência, Canal, Cliente, UF, Linha Comercial e Representante com seleção múltipla.

📸 Substitua este placeholder pelo print real do visual
📊

Indicadores de Clientes: Cards de total de clientes ativos e novos clientes no período, com comparativo mensal.

📸 Substitua este placeholder pelo print real do visual

Nota: Substitua os placeholders acima pelas screenshots reais do dashboard, exportando imagens do Power BI para screenshots/.

Calculation Groups

Grupos de cálculo que aplicam inteligência temporal às medidas do modelo via SELECTEDMEASURE().

⏰ _InteligenciaTempoPadrao

13 items | Precedence: 20

Precedence: 20 — Inteligência temporal padrão (calendário gregoriano). Permite alternar entre períodos corrente, YTD, QTD, LastYear e variações (delta absoluto e percentual).

ItemDAX ExpressionFormat
Período CorrenteSELECTEDMEASURE()Herdado
LastYearCALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))Herdado
Last MonthCALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario]))Herdado
Last Month ΔSELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario]))Herdado
Last Month Δ%DIVIDE(SELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario])), CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario])))0.00%
Last Year ΔSELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))Herdado
Last Year Δ%DIVIDE(SELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])), CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])))0.00%
YTDCALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario]))Herdado
YTD LastYearCALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])))Herdado
YTD ΔCALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario])) - CALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])))Herdado
YTD Δ%DIVIDE(CALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario])) - CALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))), CALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))))0.00%
QTDCALCULATE(SELECTEDMEASURE(), DATESQTD(dim_calendario[DataCalendario]))Herdado
QTD LastYearCALCULATE(SELECTEDMEASURE(), DATESQTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])))Herdado
QTD ΔCALCULATE(SELECTEDMEASURE(), DATESQTD(dim_calendario[DataCalendario])) - CALCULATE(SELECTEDMEASURE(), DATESQTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])))Herdado
QTD Δ%DIVIDE(CALCULATE(SELECTEDMEASURE(), DATESQTD(dim_calendario[DataCalendario])) - CALCULATE(SELECTEDMEASURE(), DATESQTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))), CALCULATE(SELECTEDMEASURE(), DATESQTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))))0.00%
YTD CamilCALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario], MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28"))Herdado

⏰ _IntegenciaTempoCamil

11 items | Precedence: 15

Precedence: 15 — Inteligência temporal com calendário fiscal Camil (safra encerrando em Fev/28-29). Inclui variações MoM, YoY e YTD safra.

ItemDAX ExpressionFormat
Período Corrente CamilSELECTEDMEASURE()Herdado
Last Month CamilCALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario]))Herdado
MoM CamilSELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario]))Herdado
MoM % CamilDIVIDE(SELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario])), CALCULATE(SELECTEDMEASURE(), PREVIOUSMONTH(dim_calendario[DataCalendario])))0.00%
Last Year CamilCALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))Herdado
Last Year YoY CamilSELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]))Herdado
Last Year YoY % CamilDIVIDE(SELECTEDMEASURE() - CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])), CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(dim_calendario[DataCalendario])))0.00%
YTD CamilCALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario], MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28"))Herdado
YTD Last Year CamilCALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]), MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28"))Herdado
YTD YoY CamilCALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario], MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28")) - CALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]), MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28"))Herdado
YTD YoY % CamilDIVIDE(CALCULATE(SELECTEDMEASURE(), DATESYTD(dim_calendario[DataCalendario], MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28")) - CALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]), MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28")), CALCULATE(SELECTEDMEASURE(), DATESYTD(SAMEPERIODLASTYEAR(dim_calendario[DataCalendario]), MAX(dim_calendario[AnoBissexto]) = "Sim" ? "02-29" : "02-28")))0.00%

RLS — Segurança

Regras de segurança em nível de linha implementadas no modelo.

👑 RoleOwner

Admin

Permissão: read

Membros: 3 grupos de segurança (Azure AD) — acesso irrestrito a todos os dados do modelo. Destinada a administradores e proprietários do modelo.

👥 RoleComercialGeral

Filtro Hierárquico

Permissão: read

Mecanismo: RLS dinâmico baseado em hierarquia comercial com path. O usuário logado (USERPRINCIPALNAME()) é verificado na tabela rls_comerc_aux_usuarios_acessos, que mapeia usuários a nós hierárquicos. A tabela rls_comerc_aux_hirarquia_vendas contém o path hierárquico completo e filtra os dados da dim_hierarquia_comercial via relacionamento sk_item → SK_Representante.

rls_comerc_aux_usuarios_acessos
rls_comerc_aux_hirarquia_vendas
PATHCONTAINS
sk_item → SK_Representante

FAQ

Perguntas frequentes sobre o modelo semântico.