Closed fjuniorr closed 1 year ago
O relatório operacional é um painel feito no aplicativo qlikview alimentado por bases do armazém SIAFI e SIAD em formato .xls e.xlsx, atualizadas diariamente.
Por uma questão de limitação do armazém, algumas bases como a de execução orçamentária (fluxo de empenho, liquidação e pagamento) precisam ser divididas por mês, sendo o agrupamento das mesmas feito durante a carga pelo aplicativo qlikview.
Como o objetivo deste trabalho é criar um data package das bases, que consiste basicamente em criar título e descrição para os rótulos das colunas, foi utilizado apenas a base de um único mês para cada um dos fluxos, uma vez que os rótulos das colunas são idênticos em todos os meses.
Passo a passo:
Após instalar o pacote frictionless-py
e seguir o tutorial Basic Examples, mais especificamente os comandos da parte Describing a Package, o resultado foi o relatorio_operacional.package.yaml.
Como o objetivo deste trabalho é criar um data package das bases, que consiste basicamente em criar título e descrição para os rótulos das colunas, foi utilizado apenas a base de um único mês para cada um dos fluxos, uma vez que os rótulos das colunas são idênticos em todos os meses.
De fato pra gente entender o schema (ie. título e descrição para os rótulos das colunas) não precisamos de repetir todos os meses. No entanto, como cada recurso aponta a localização do arquivo de dados, pra gente efetivamente usar esse data package nas nossas pipelines vamos precisar de documentar tudo.
Pra evitar a repetição do schema a gente tem duas alternativas:
path
do recursoParticularmente eu acho a segunda alternativa mais elegante, mas o suporte das ferramentas tende a ser pior.
Vamos revisitar essa questão criando um data package com a segunda alternativa e testando se as funcionalidades de leitura e validação funcionam para os pacotes frictionless-py
e frictionless-r
.
Faz uma leitura do issue https://github.com/transparencia-mg/issues-dadosmg-legado/issues/12 pra solidificar essas questões e depois cria um data package completo no repo https://github.com/splor-mg/roperacional-dados usando um pull request.
Verifiquei que as bases anteriores a 2019 do relatório operacional não constam salvas no servidor. Apenas arquivos .qvd
que são os arquivos já comprimidos pelo qlikview
. Não as encontrei também no meu computador. Deste modo irei baixar as bases de 2017, 2018 e 2020. Esta última por estarem apresentando divergência em relação ao armazém por alguma modificação no armazém por motivo desconhecido.
Atualizar as bases 2020 já estavam no issue 26
Decidimos pelo fechamento deste issue porque que este projeto vai ser dividido em vários outros. Serão criados datapackages para cada fluxo de dados do SIAFI e SIAD (Credito, Execução, Cota, Restos a Pagar) ou de outras fontes (reestimativa, programações anuais, e etc.)
@hslinhares a tarefa aqui é criar um data package contendo a documentação de todos os arquivos que são utilizados como fonte de dados para o Relatório Operacional.
A gente vai utilizar essa documentação pra confirmar se todos os campos do Armazém utilizados no Relatório Operacional estão disponíveis no Portal de Dados Abertos (que já possuem data packages associados).
Além disso, vai servir como forma de você se familiarizar com as especificações frictionless que eventualmente vamos utilizar em nossos fluxos.
Depois de uma breve navegação no site principal do projeto Frictionless Data sugiro você assistir os seguintes vídeos (em ordem):
E por fim instalar[^1] o pacote python
frictionless-py
e seguir o tutorial Basic Examples.[^1]: Se familiarize com o conceito e utilização de ambientes virtuais usando o pacote venv