Pular para conteúdo

Lineage do ETL — QlikSense PMPA

Gerado a partir de wiki/lineage.json (produzido por raw/build_lineage.py, parsing determinístico dos 67 scripts reais em raw/scripts/). Este arquivo é derivado — para regenerar os fatos, rode o script; para atualizar a narrativa abaixo depois de um novo pull, peça ao Claude para reconciliar com o JSON.

Achados relevantes

  • Não há duplicação dev/prod ativa. O T2_Consolidador.qvs referencia lib://QlikSenseDev/... várias vezes, mas todas as ocorrências estão comentadas (código morto de quando a app estava em desenvolvimento) — só o path de produção (lib://QlikSense/) está de fato ativo. Suspeita inicial descartada após parsing com remoção de comentários.

  • Camada não é confiável só pelo prefixo do nome. E_Simples_Nacional.qvs (prefixo E_, normalmente extract) na verdade grava em 4.DadosTransformados via Store_T/Store_T_Retry — a camada de cada app abaixo foi inferida pelo que ela lê/escreve, não pelo prefixo.

  • 22 escritas de confiança baixa: chamadas Call Store_E/Store_T(...) onde o nome do QVD é montado por variável dentro de um loop (ex.: E_RFB.qvs, E_NFSE.qvs, E_RM.qvs), resolvida em tempo de execução — não perseguidas automaticamente (o Dicionario_PMPA.xlsx só cobre uma fração desses casos). Aparecem na tabela como QVD literal com $(...) — revisar à mão se precisar da cadeia exata dessas.

Streams isoladas / clusters fora do pipeline fiscal

  • Seleção_EPFI/ (12 apps): stream paralela que lê boletins/planilhas externas (.xlsx de SFMC, censo escolar, malhas geográficas) e QVDs próprios — conectada ao pipeline ETL/ apenas pontualmente (ex.: Malha_Geral_v1_0.qvs também lê T2_Empresas_NFSE.qvd), não é uma camada extract/transform/final da cadeia fiscal principal.

  • Extrator_Lineage.qvs / Lineage.qvs / Tranformador_Lineage.qvs: meta-tooling que faz lineage dentro do próprio Qlik (parseia logs de reload) — não fazem parte do pipeline fiscal, tratar como ferramentas de operação.

Cadeia por assunto

NFSE

App Stream Camada Gera
E_NFSE ETL indefinida $(vQVD); $(vQVDGrava)
E_NFSE_Nacional ETL extract NfseNacional_{periodo}.qvd NfseNacional_{periodo}.qvd
E_NFSE_Nacional_DEV ETL extract NfseNacional_{periodo}.qvd NfseNacional_{periodo}.qvd
T1_Detalhado_NFSE ETL transform T1_Nfse_{periodo}.qvd; Item_Lista.qvd; NfseNacional_{periodo}{periodo}.qvd; T2_Empresas_NFSE.qvd NFSE_Detalhado_{periodo}.qvd
T2_Cadastro_Empresas_NFSE ETL transform SIG_Intimacao.qvd; SIG_Atendimento.qvd; T1_Empresas_Siat.qvd; T1_Empresas_Novo_??_Dados_Abertos_RFB.qvd ... T2_Empresas_Creative.qvd; T2_LinhaTempo.qvd; T2_SN_Vigente.qvd; T2_LinhaTempoSN_Ult5.qvd ...
T_NFSE ETL indefinida CNAE.qvd; CNAE_Divisao.qvd $(vQVDGrava)
Alerta_NFSE Everyone final NFSE_Detalhado_{periodo}{periodo}.qvd
NFSE Everyone final T1_Nfse_Tomador_Aggr_{periodo}{periodo}.qvd; T2_Simples_Nacional.qvd; Tributacao_ISS.qvd; T2_SN_Vigente.qvd ...
NFSE__nota_a_nota__-_Versão_Beta Everyone final T1_Nfse_{periodo}{periodo}.qvd
PGDAS_x_NFSE Everyone final {periodo}Fat_Cruzamentos_PGDAS_NFSE_EMPRESA.qvd; {periodo}Fat_Cruzamentos_PGDAS_NFSE_FILIAL.qvd
Análise_NFSe_X_PGDAS__desatualizado_ Seleção_EPFI final
PGDAS_x_NFSE__cópia_temporária_ Seleção_EPFI final {periodo}Fat_Cruzamentos_PGDAS_NFSE_EMPRESA.qvd; {periodo}Fat_Cruzamentos_PGDAS_NFSE_FILIAL.qvd
Relatório_NFSe_Média Seleção_EPFI final T1_Nfse_{periodo}{periodo}.qvd

PGDAS

App Stream Camada Gera
Consiste_QVD_x_TXT_PGDAS ETL extract Inconsistencias_qvd_txt.qvd Inconsistencias_qvd_txt.qvd
E_PGDAS ETL indefinida Inconsistencias_qvd_txt.qvd $(vQvd)
Gera_Metadados_TXT_PGDAS ETL extract Inconsistencias_qvd_txt.qvd Metadados_Arquivos_{periodo}.qvd
T1_Detalhado_PGDAS ETL transform Dados_Apuracao_{periodo}??.qvd; DAS_{periodo}??.qvd; Perfil_DAS_{periodo}??.qvd; Estabelecimento_Filial_{periodo}??.qvd ... PGDAS_Detalhado_PA_{periodo}.qvd; PGDAS_UltimosValores_PA_{periodo}.qvd
T1_PGDAS ETL transform Dados_Apuracao_{periodo}.qvd; Estabelecimento_Filial_{periodo}.qvd; Salarios_{periodo}.qvd; Atividade_{periodo}.qvd ... T1_Estabelecimentos_PGDAS.qvd
T_Cruzamentos_PGDAS ETL indefinida T2_Empresas_NFSE.qvd; CodigoCidade.qvd; T2_LinhaTempo.qvd; T2_SN_Vigente.qvd ... '{periodo}{periodo}.qvd'; '{periodo}DAS_POA_PGDAS_{periodo}.qvd'; '{periodo}Dados_Apuracao_POA_PGDAS_{periodo}.qvd'; '{periodo}' ...
T_PGDAS ETL transform T2_Empresas_NFSE.qvd; Dados_Apuracao_PGDAS{periodo}??.qvd; Processo_Nao_Optante_PGDAS{periodo}??.qvd; Salarios_PGDAS{periodo}??.qvd ... Dados_Apuracao_{periodo}.qvd; Nao_Optante_{periodo}.qvd; Salarios_{periodo}.qvd; DAS_{periodo}.qvd ...
Alerta_PGDAS Everyone final PGDAS_Detalhado_PA_{periodo}.qvd; PGDAS_UltimosValores_PA_{periodo}{periodo}.qvd
Explora_PGDAS Everyone final Dados_Apuracao_{periodo}.qvd; DAS_{periodo}.qvd; Nao_Optante_{periodo}.qvd; Perfil_DAS_{periodo}.qvd ...
PGDAS_EPFI__BETA_ Seleção_EPFI final Fat_Cruzamentos_PGDAS_NFSE_FILIAL.qvd; Dim_Empresas.qvd; Dim_Atividade_SN.qvd

RFB

App Stream Camada Gera
E_RFB ETL extract RFB_Atu_Novo.qvd; RFB_Atu.qvd RFB_Atu_Novo.qvd; $(vQvd); RFB_Atu.qvd
T_RFB_DADOS_ABERTOS ETL transform CNAE.qvd; CNAE_Divisao.qvd; Correspondencia_CNAE_Servico.qvd; RFB_SIMPLES_001.qvd $(vQvd); RFB_SIMPLES.qvd

Cartões

App Stream Camada Gera
E_Cartões ETL indefinida Cartoes_LayoutD_$(Ano)$(Mes_Format).qvd; Cartoes_Layout0_$(Ano)$(Mes_Format).qvd
T1_Cartões ETL transform Cartoes_LayoutD_{periodo}{periodo}.qvd; Cartoes_Layout0_{periodo}{periodo}.qvd T1_Cartoes_{periodo}{periodo}.qvd
T2_Cartões ETL transform T1_Cartoes_{periodo}{periodo}.qvd; T2_Cartoes_{periodo}{periodo}.qvd; T2_Cartoes_Full.qvd T2_Cartoes_{periodo}{periodo}.qvd; T2_Cartoes_Full.qvd; T2_Cartoes_Controle_Envios.qvd; T2_Cartoes_Controle_Envios_Emp.qvd
Cartões Everyone final T2_Empresas_Novo.qvd; T2_Cartoes_Full.qvd; T2_Cartoes_Controle_Envios.qvd; T2_Cartoes_Controle_Envios_Emp.qvd ...

RM

App Stream Camada Gera
E_RM ETL indefinida $(vQVD); $(vQVDGrava)
T_RM ETL indefinida $(vQVD); $(vQVDGrava)

Simples Nacional

App Stream Camada Gera
E_Simples_Nacional ETL transform SimplesMEI_Atu.qvd; PeriodoSN_Novo.qvd SimplesMEI_Atu.qvd; PeriodoSN_Novo.qvd; T_PeriodoSN_Novo.qvd
E_Simples_Nacional_TXT ETL final SimplesMEI_Atu.qvd; PeriodoSN_Novo.qvd
T1_Simples_Nacional ETL transform T2_Empresas_NFSE.qvd; T_PeriodoSN_Novo.qvd; T1_Simples_Nacional.qvd T1_Simples_Nacional.qvd; T2_Simples_Nacional.qvd

Arrecadação

App Stream Camada Gera
T1_Arrecadacao ETL transform T1_Inscricao_CNPJ.qvd T1_Pag_Arrecadacao_Alt_{periodo}{periodo}.qvd; T1_Pag_Arrecadacao_{periodo}{periodo}.qvd
Arrecadação Everyone final T1_Inscricao_CNPJ.qvd; T2_Empresas_Novo.qvd; T1_Pag_Arrecadacao_{periodo}{periodo}.qvd; T2_SN_Vigente.qvd ...

Empresas / Cadastro

App Stream Camada Gera
T2_Cadastro_Empresas ETL transform SIG_Intimacao.qvd; SIG_Atendimento.qvd; T1_Empresas_Siat.qvd; T1_Empresas_Novo_??_Dados_Abertos_RFB.qvd ... T2_Empresas_Creative.qvd; T2_Empresas_Novo.qvd; T2_LinhaTempo.qvd; T2_SN_Vigente.qvd ...
T2_Comportamento_Empresas ETL transform T1_Pag_Apropriado_{periodo}{periodo}.qvd; T1_Pag_Arrecadacao_??????.qvd T2_Comportamento_Empresa.qvd

Geolocalização / Bairro

App Stream Camada Gera
T2_Geolocalização ETL transform T2_Geolocalizacao.qvd; T2_Empresas_Novo.qvd T2_Geolocalizacao.qvd; T2_Bairros_POA.qvd; T2_Pontos.qvd
T3_Bairro_Geo ETL transform T2_Pontos.qvd; T2_Empresas_Novo.qvd; T2_Bairros_POA.qvd T3_Bairros_Geo.qvd

Consolidador / Cruzamentos

App Stream Camada Gera
T2_Consolidador ETL transform Fat_Cruzamentos_PGDAS_NFSE_FILIAL.qvd; Fat_Cruzamentos_PGDAS_NFSE_EMPRESA.qvd Consolidador_{periodo}.qvd
Consolidador_de_Divergências Everyone final Consolidador_{periodo}.qvd; T2_Empresas_NFSE.qvd; T2_LinhaTempo.qvd
Cruzamentos Everyone final T1_Pag_Apropriado_{periodo}{periodo}.qvd; T1_Pag_Arrecadacao_??????.qvd; T2_Empresas_Novo.qvd; T1_Pag_Compensado.qvd ...

Tooling de lineage

App Stream Camada Gera
Extrator_Lineage ETL indefinida AppName_PRD5.QVD; {periodo}_LOGS_SCRIPT_SENSE.QVD; CONEXOES_Sense.qvd
Lineage ETL final {periodo}_LOGS_SCRIPT_SENSE.QVD; Dim_AppName.QVD; Dim_Conexao_Final.QVD
Tranformador_Lineage ETL indefinida {periodo}_LOGS_SCRIPT_SENSE.QVD; CONEXOES_Sense.qvd; AppName_PRD{periodo}.QVD {periodo}_LOGS_SCRIPT_SENSE.QVD; Dim_Conexao_Final.QVD; Dim_AppName.QVD

Outros

App Stream Camada Gera
T1_Apropriacao ETL transform T1_Inscricao_CNPJ.qvd T1_Pag_Apropriado_Alt_{periodo}{periodo}.qvd; T1_Pag_Apropriado_{periodo}{periodo}.qvd
T1_Cadastro_RM ETL extract Correspondencia_CNAE_Servico.qvd; CNAE.qvd; CNAE_Divisao.qvd; RFB_EMPRESAS_{periodo}.qvd ... T1_Empresas_Novo_{periodo}_Dados_Abertos_RFB.qvd; T1_Empresas_Novo_POA_Dados_Abertos_RFB.qvd; RFB_Atu_Novo.qvd; T1_Emails.qvd ...
T1_Inscricao_CNPJ ETL transform T1_Empresas_Siat.qvd T1_Inscricao_CNPJ.qvd
T1_Nfe ETL transform T1_Inscricao_CNPJ.qvd; T2_Empresas_Novo.qvd; Item_Lista.qvd; CodigoCidade.qvd ... T1_Nfse_{periodo}{periodo}.qvd; T1_Nfse_Tomador_Aggr_{periodo}{periodo}.qvd
T1_SobraCompensado ETL transform Pag_Sobra.qvd T1_Pag_Compensado.qvd; T1_Pag_Sobra.qvd
T2_Faixa_Pagamento ETL transform T1_Pag_Apropriado_{periodo}{periodo}.qvd; T1_Pag_Arrecadacao_??????.qvd; T2_Empresas_Novo.qvd T2_Faixa_Pagto_Contribuinte.qvd
Autorregularização Everyone final T1_Inscricao_CNPJ.qvd; T2_SN_Vigente.qvd; T2_LinhaTempoSN_Ult5.qvd; T2_Empresas_Novo.qvd ...
Bom_Pagador_-_Análise Everyone final T1_Inscricao_CNPJ.qvd; T2_Empresas_Novo.qvd; T1_Nfse_Aggr_20{periodo}.qvd; T1_Pag_Arrecadacao_{periodo}{periodo}.qvd ...
Cadastro_Consolidado Everyone final RFB_Atu_Novo.qvd; SimplesMEI_Atu.qvd; T2_SN_Vigente.qvd; T2_LinhaTempoSN_Ult5.qvd ...
Dados_CEEE-_Beta_v2 Everyone final ceee_dados_normatizados_vw.qvd; DIM_CALENDARIO.qvd
Instrumentos_Fiscais Everyone final T1_Inscricao_CNPJ.qvd; T2_SN_Vigente.qvd; T2_LinhaTempoSN_Ult5.qvd; Instrumento_Fiscal.qvd ...
Pagamentos Everyone final T1_Pag_Apropriado_{periodo}{periodo}.qvd; T1_Pag_Arrecadacao_??????.qvd; T2_Empresas_Novo.qvd; T1_Pag_Compensado.qvd ...
SIG Everyone indefinida T2_SN_Vigente.qvd; T2_LinhaTempoSN_Ult5.qvd; SIG_Selecao.qvd; SIG_Intimacao.qvd ... $(vQVD)
Cartórios Seleção_EPFI final T1_Inscricao_CNPJ.qvd; SIG_Intimacao.qvd; SIG_Atendimento.qvd; SIG_Conclusao.qvd ...
Censo_Escolar_INEP Seleção_EPFI final
Excedentes_de_MF Seleção_EPFI final
Funerárias_-_CAF Seleção_EPFI final
Malha_Geral_v1_0 Seleção_EPFI final T2_Empresas_Novo.qvd; T2_Empresas_NFSE.qvd
Malha_ISS_Versão_25_9_4 Seleção_EPFI final
Participações_Societárias Seleção_EPFI final T2_Empresas_Novo.qvd
Residenciais_Geriátricos_-_Ocupação Seleção_EPFI final

Variáveis/definições compartilhadas

Todas as apps do stream ETL incluem raw/arquivos_apoio/ConfigPMPA.txt ($(Include=[lib://QlikSense/1.Configuracoes\ConfigPMPA.txt])), que define:

  • Path-vars: vPath='lib://QlikSense/', vPathDadosE='3.DadosExtraidos\' (saída dos extracts), vPathDadosT='4.DadosTransformados\' (saída dos transforms), vPathDev='lib://QlikSenseDev/' (ambiente de desenvolvimento — usar só durante testes, nunca em script publicado).
  • SUBs de gravação: Store_E(nome, qvd, assunto), Store_T(nome, qvd), Store_T_Retry(nome, qvd, maxTent, sleepMs) (com validação de consistência via QvdNoOfRecords/FileTime/FileSize).
  • SUBs de espera: WaitQvdStable, WaitQvdReadyOrFail (evitam ler QVD no meio de outra escrita).
  • SUBs de configuração de indicadores: Dimensoes(vAssunto), Variaveis(vAssunto) (lêem Config_PMPA.xlsx, aba Indicadores).