-- V2 Faturamento das empresas (RF) — agregado por ano x granularidade CNAE x codigo x regime.
-- O build escolhe a granularidade MAIS FINA presente em cada ano (classe > grupo > divisao),
-- normaliza o codigo CNAE e aplica o crosswalk cnae_to_segmento.csv (override por classe -> base por divisao).
-- Metricas reais (RF nao publica lucro/despesas): receita_bruta + complementares.
-- regime: 'simples' quando is_simples_nacional, senao 'normal'.
SELECT
  ano,
  granularity,
  COALESCE(cnae_classe, cnae_grupo, cnae_divisao) AS cnae_code,
  ANY_VALUE(COALESCE(cnae_classe_descricao, cnae_grupo_descricao, cnae_divisao_descricao)) AS cnae_desc,
  CASE WHEN is_simples_nacional THEN 'simples' ELSE 'normal' END AS regime,
  SUM(receita_bruta) AS receita_bruta,
  SUM(quantidade_cnpj) AS n_cnpj,
  SUM(COALESCE(massa_salarial_empregados_esocial, massa_salarial_total_gfip, 0)) AS massa_salarial,
  SUM(COALESCE(quantidade_empregados_esocial, quantidade_total_vinculos_gfip, quantidade_empregados_gfip, 0)) AS n_empregados,
  SUM(COALESCE(valor_exportacoes, 0)) AS exportacoes,
  SUM(COALESCE(valor_importacoes, 0)) AS importacoes,
  SUM(COALESCE(arrecadacao_total_darf_e_gps, arrecadacao_total_darf, 0)
      + COALESCE(arrecadacao_simples_nacional_das_sn, 0)
      + COALESCE(arrecadacao_mei_das_mei, 0)) AS arrecadacao_total
FROM `menumind-450015.aiDataset.rfb_setoriais`
WHERE granularity IN ('classe','grupo','divisao')
GROUP BY ano, granularity, cnae_code, regime
