knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(octk)

NB: tutte le funzioni citate sono presenti nella guida di R, per i dettagli digitare "?nomefunzione" nella console di R.

Dati di programmazione

Il database con i dati di programmazione (DBCOE) è disponbile in Drive

La cartella è organizzata in folder che corrispondono alle date di riferimento, eventualmente versionate in caso di rilasci multipli per correzioni su dati di un rilascio precedente. E' presenta anche un repository documentale sempre riferito all'ultima data disponibile e un folder di lavoro con informazioni varie. Per ogni data di riferimento sono presenti quattro tipi di file:

Questa è la struttura del drive PROGRAMMAZIONE:

--- Drive/PROGRAMMAZIONE/
------ AAAAMMGG.V0
--------- DBCOE_Dati_FSC1240.xlsx
--------- DBCOE_Info_FSC1240.xlsx
--------- DBCOE_Interventi_CIS.xlsx
--------- DBCOE_[...].xlsx
--------- link_sito_programmi.xlsx
--------- label_programmi_en.xlsx
--------- fsc_matrice_po_psc.xlsx
--------- fsc_delibere_psc.xlsx
--------- Metadati_DB_Programmazione.xlsx
------ AAAAMMGG.V1
--------- ...
--------- ...
------ REPOSITORY
------ INFO

L'accesso ai dati di programmazione può avvenire direttamente dai file xlsx in Drive oppure attraverso le funzioni del package, che prevede funzioni specifiche per la costruzione di specifici report insieme a funzioni generiche destinate allo sviluppo. Le funzioni utilizzano i seguenti parametri principali:

# ---------------- FUNZIONI GENERICHE ----------------
# caricamento di singolo file "Dati"
load_db()

# caricamento di tutti i file "Dati" del DB programmazione
init_programmazione_dati()

# caricamento di tutti i file "Info" del DB programmazione
init_info_info()

# caricamento e pre-processing per pubblicazione su OpenCoesione 
workflow_programmazione()


# ---------------- REPORT SPECIFICI ---------------- 

# report di riepilogo per ciclo, ambito e macroarea  per caricamento pagina "risorse" su OpenCoesione
risorse <- make_report_risorse()

# report di riepilogo per ciclo, ambito e macroarea con evidenza degli scambi tra cicli e ambiti
fonti_impieghi <- make_report_fonti_impieghi()

# report per caricamento pagina "programmi" su OpenCoesione
programmi <- make_pagina_programmi()

# report per caricamento opendata "dotazioni" su OpenCoesione
dotazioni <- make_opendata_dotazioni()

# report per caricamento opendata "decisioni" su OpenCoesione
decisioni <- make_opendata_decisioni()

# report per caricamento della lista dei programmi confluiti nei PSC nella pagina dedicata su OpenCoesione
dotazioni_popsc <- make_opendata_dotazioni_popsc()
decisioni_popsc <- make_opendata_decisioni_popsc()

#TODO: creare lista programmi con FLAG_MONITORAGGIO = 0/2/3

#TODO: dove sono le funzioni per i CIS?

Alcune precisazioni

Il parametro use_flt è associato alla variabile FLAG_MONITORAGGIO dei file "Dati" del DBCOE, che ha questi valori:

Il parametro use_po_psc consente lo switch tra le due modalità di rappresentazione dei PSC:

Per la ricostruzione completa delle variazioni legate all'istruttoria art.44 e alla costruzione dei PSC è necessario utilizzare i file delle serie "strumenti_evo.xlsx" e "PSC_articolazione_tematiche_chk_decimali.xlsx" disponibili in Drive:

--- Drive/PROGRAMMAZIONE/
------ INFO
--------- PO-PSC ------------ "strumenti_evo_XXXXXXXX.xlsx" ------------ "PSC_articolazione_tematiche_chk_decimali_v.XX.xlsx"

Aggiornamento del database programmazione

L'aggiornamento del DBCOE si basa sulla logica che segue:

# copia file non FSC
setup_dbcoe_no_fsc(db_path_old, db_path_new=NULL)
# TODO: togliere sie a regime

# setup FSC con PSC
setup_dbcoe_dati_fsc_po()
setup_dbcoe_info_fsc_po()

# setup file solo PSC con apertura per programmi d'origine
setup_dbcoe_dati_fsc_popsc()
setup_dbcoe_info_fsc_popsc()

# setup SIE 1420
#TODO: integrare nel package gli script di Nicola

Sono inoltre disponbili apposite funzioni di controllo, da eseguire una volta effettuato l'aggiornamento, per testarne la qualità.

# variazioni risorse per programmi
OLD <- file.path(getwd(), "20191231", "STATO", "stato", "V.01", "temp", "report_meuro_programmi_cp2.csv")
chk <- chk_variazione_risorse_programmi(programmi_new=programmi_2, programmi_old=NULL, 
                                 path_to_new=NULL, path_to_old=OLD, 
                                 export=FALSE)
# MEMO: confronta due dataframe risultanti da make_report_programmi_coesione(), descritto sotto

# confronto tra ciclo contabile e ciclo strategia
chk <- chk_risorse_ciclo_contabile_strategia(use_flt=TRUE, force_yei=FALSE, use_eu=FALSE, export=FALSE)

Preparazione dei dati per operazione

Le variabili finanziarie relative alle risorse coesione (COE, COE_IMP e COE_PAG) sono disponbili in relazione a operazioni (progetti appartenenti a specifici programmi) e non a semplici progetti. Le regole di riconciliazione tra dati di programmazione (nel DBCOE) e dati di attuazione (provenienti dal flusso bimestrale a livello di "preesteso") viene effettuata automarticamente dal package otck.

L'update del package fatto in occasione del rilascio bimestrale dei dati su OpenCoesione comprende anche l'aggiornamento del file operazioni_light_AAAAMMGG.csv.

Il flusso di elaborazione è svolto da un'apposita funzione di setup:

# bimestre <- 20201231
setup_operazioni(bimestre, progetti=NULL, export=FALSE, use_fix=FALSE, use_ecomix=FALSE, debug=FALSE)

Il dataset operazioni che è disponbile in:

Drive/DATI/AAAAMMGG/DASAS/DATAMART

Caricamento dei dati di attuazione

Il caricamento dei dati di attuazione per operazione può essere effettuato con la specifica funzione, che consente di uare valori in meuro o in euro, oltre che di richiamare i factor di x_AMBITO e x_CICLO.

# caricamento del perimetro operazioni
# OLD: prep_perimetro_bimestre_coesione(bimestre, usa_meuro=FALSE)
load_operazioni(bimestre, usa_meuro=FALSE)

Analisi bimestrale

L'analisi dello stato di attuazione dei programmi viene effettuata ogni bimestre in concomitanza con il rilascio dei dati. E' stato definito un insieme di funzioni dedicate, ciascuna delle quali produce uno specifio report a partire dal merge tra dati di programmazione (provenienti dal DB programmazione) e dati di attuazione (provenieneti dal dataset operazioni). Per assicurare la confrontabilità con i dati pubblicati si usa il parametro cut_no_risorse=FALSE.

# report per programma
make_report_programmi_coesione(perimetro, usa_meuro=FALSE, use_713=FALSE, use_flt=FALSE,
                                           add_totali=FALSE, use_cp2=FALSE, cut_no_risorse=FALSE,
                                           tipo_ciclo="CICLO_STRATEGIA",
                                           focus="report", export=FALSE, progetti=NULL, po_riclass=NULL)

# confronto con bimestre precedente per programma 
add_delta_programmi_coesione(bimestre, programmi, last_bimestre, last_data_path=NULL,
                                         usa_meuro=FALSE, focus="delta", export=FALSE) 

# report per ciclo e ambito
make_report_bimestre_coesione(programmi, usa_meuro=TRUE, export=TRUE)

# report per ciclo, ambito e macroarea
make_report_macroaree_coesione(risorse=NULL, perimetro=NULL, use_meuro=TRUE, export=TRUE)


# report attuazione per programmi e macroarea
make_report_programmi_macroaree_coesione(perimetro, usa_meuro=TRUE, use_713=TRUE, use_flt=TRUE, 
                                         add_totali=TRUE, use_cp2=TRUE, cut_no_risorse=FALSE,
                                         tipo_ciclo="CICLO_STRATEGIA",
                                         focus="report_DEF", export=TRUE, progetti)

Per facilitare i controlli su funzionamento dei report esistono funzioni dedicate:

chk_allineamento_risorse <- function(report, programmi, report_macroaree, risorse=NULL) 
chk_allineamento_costo_coe <- function(report, programmi, report_macroaree, perimetro=NULL)

Analisi annuale per DEF

Le stesse funzioni sopra sono utilizzate per l'analisi dei dati di programmazione e attuazione contenuta nell'Allegato Coesione al DEF. Per massimizzare la centralità delle risorse coesione, lato attuazione si usa il parametro cut_no_risorse=TRUE mentre lato programmazione rimane valido il use_flt=TRUE.

Prima di procedere è inoltre necessario ricodificare i dati di attuazione per alcuni programmi (per OC_CODICE_PROGRAMMA, x_CICLO e x_GRUPPO):

# report attuazione per programmi per DEF
programmi_def <- make_report_programmi_coesione(operazioni_2, usa_meuro=TRUE, use_713=TRUE, use_flt=TRUE, 
                                              add_totali=TRUE, use_cp2=TRUE, cut_no_risorse=TRUE,
                                              tipo_ciclo="CICLO_STRATEGIA",
                                              focus="report_DEF", export=TRUE, progetti = progetti_2)
# MEMO: uso cut_no_risorse=TRUE per scartare programmi monitorati ma assenti lato programmazione 

#export per popolare tavole 1 e 2 del def (quadro risorse)
risorse_def <- make_report_risorse(use_meuro=TRUE, use_flt=TRUE, force_yei=FALSE, tipo_ciclo="CICLO_STRATEGIA", export=TRUE)

# report attuazione per programmi e macroarea
make_report_programmi_macroaree_coesione(perimetro, usa_meuro=TRUE, use_713=TRUE, use_flt=TRUE, 
                                         add_totali=TRUE, use_cp2=TRUE, cut_no_risorse=TRUE,
                                         tipo_ciclo="CICLO_STRATEGIA",
                                         focus="report_DEF", export=TRUE, progetti)


andreoliant/octk documentation built on Dec. 15, 2024, 2:39 a.m.