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.
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?
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"
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)
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
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)
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)
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.