R/dt_rss.R

Defines functions dt_gen_rss_test_fgc dt_gen_rss_fgc dt_gen_rss_promedio

Documented in dt_gen_rss_fgc dt_gen_rss_promedio dt_gen_rss_test_fgc

#' Descarga los datos gen_rss_promedio
#'
#' Esta función descarga los datos de la tabla gen_rss_promedio para un periodo de análisis y
#' con base en los parametros ingresados
#' @param conexion clase formal. Conexión base de datos
#' @param periodo_analisis clase array date. Debe contener la fecha inicio y fin del análisis
#' @param fecha_analisis clase date. Debe contener la fecha del análisis, si el parametro periodo_analisis es
#' diferente de NULL este parametro no se tendra en cuenta. Por defecto NULL
#' @param seudonimo clase character. Debe ser igual a "REAL" o "FICTICIO".Por defecto "REAL"
#' @export

dt_gen_rss_promedio<- function(conexion,periodo_analisis=NULL,fecha_analisis=NULL,seudonimo="REAL"){

  # Se verifica si la descarga va hacer para una fecha de análisis
  if(is.null(periodo_analisis) & !is.null(fecha_analisis)) periodo_analisis <- rep(fecha_analisis,2)

  # Se covierte el periodo de analisis a SQL
  periodo_analisis_sql <-  dt_periodo_analisis_sql(periodo_analisis)

  # Descarga datos
  datos <- dbGetQuery(conexion , glue("SELECT FECHA, SEGMENTO_ID,SEGMENTO_NOMBRE,
                                        MIEMBRO_LIQ_{dt_id_seudonimo(seudonimo)} AS MIEMBRO_LIQ_ID_SEUDONIMO,
                                        MIEMBRO_LIQ_TIPO, MIEMBRO_LIQ_COLETIVIZADOR , POSICION, RIESGO_ST,
                                        RIESGO_ST_PROMEDIO, GARANTIA_EXIGIDA, GARANTIA_EXIGIDA_FGC
                                        FROM GEN_RSS_PROMEDIO
                                        WHERE FECHA BETWEEN {periodo_analisis_sql[1]}
                                        AND {periodo_analisis_sql[2]}"))

  # Se modifica el data.frame datos (Se completan los datos con la función complete)
  datos <- datos %>%
    complete(FECHA,nesting(SEGMENTO_ID,SEGMENTO_NOMBRE,MIEMBRO_LIQ_ID_SEUDONIMO,MIEMBRO_LIQ_TIPO,MIEMBRO_LIQ_COLETIVIZADOR),
             fill = list(RIESGO_ST=0,RIESGO_ST_PROMEDIO=0,GARANTIA_EXIGIDA=0,GARANTIA_EXIGIDA_FGC=0)) %>%
    filter(!is.na(SEGMENTO_ID))

  return(datos)
}

#' Descarga los datos gen_rss_fgc
#'
#' Esta función descarga los datos de la tabla gen_rss_fgc para un periodo de análisis y
#' con base en los parametros ingresados
#' @param conexion clase formal. Conexión base de datos
#' @param periodo_analisis clase array date. Debe contener la fecha inicio y fin del análisis
#' @param fecha_analisis clase date. Debe contener la fecha del análisis, si el parametro periodo_analisis es
#' diferente de NULL este parametro no se tendra en cuenta. Por defecto NULL
#' @param seudonimo clase character. Debe ser igual a "REAL" o "FICTICIO".Por defecto "REAL"
#' @export

dt_gen_rss_fgc<- function(conexion,periodo_analisis=NULL,fecha_analisis=NULL,seudonimo="REAL"){

  # Se verifica si la descarga va hacer para una fecha de análisis
  if(is.null(periodo_analisis) & !is.null(fecha_analisis)) periodo_analisis <- rep(fecha_analisis,2)

  # Se covierte el periodo de analisis a SQL
  periodo_analisis_sql <-  dt_periodo_analisis_sql(periodo_analisis)

  # Descarga datos
  datos <- dbGetQuery(conexion, glue("SELECT FECHA, SEGMENTO_ID,SEGMENTO_NOMBRE,
                                        MIEMBRO_LIQ_{dt_id_seudonimo(seudonimo)} AS MIEMBRO_LIQ_ID_SEUDONIMO,
                                        MIEMBRO_LIQ_NOMBRE,
                                        MIEMBRO_LIQ_TIPO, MIEMBRO_LIQ_COLETIVIZADOR , TAMANO_MINIMO, POSICION,
                                        RIESGO_ST_PROMEDIO, APORTACION_MINIMA, APORTACION_ACTUAL,
                                        APORTACION_NUEVA
                                        FROM GEN_RSS_FGC
                                        WHERE FECHA BETWEEN {periodo_analisis_sql[1]}
                                        AND {periodo_analisis_sql[2]}"))

  return(datos)
}

#' Descarga los datos gen_rss_test_fgc
#'
#' Esta función descarga los datos de la tabla gen_rss_test_fgc para un periodo de análisis y
#' con base en los parametros ingresados
#' @param conexion clase formal. Conexión base de datos
#' @param periodo_analisis clase array date. Debe contener la fecha inicio y fin del análisis
#' @param fecha_analisis clase date. Debe contener la fecha del análisis, si el parametro periodo_analisis es
#' diferente de NULL este parametro no se tendra en cuenta. Por defecto NULL
#' @param seudonimo clase character. Debe ser igual a "REAL" o "FICTICIO".Por defecto "REAL"
#' @export

dt_gen_rss_test_fgc<- function(conexion,periodo_analisis=NULL,fecha_analisis=NULL,seudonimo="REAL"){

  # Se verifica si la descarga va hacer para una fecha de análisis
  if(is.null(periodo_analisis) & !is.null(fecha_analisis)) periodo_analisis <- rep(fecha_analisis,2)

  # Se covierte el periodo de analisis a SQL
  periodo_analisis_sql <-  dt_periodo_analisis_sql(periodo_analisis)

  # Descarga datos
  datos <- dbGetQuery(conexion , glue("SELECT FECHA, SEGMENTO_ID, SEGMENTO_NOMBRE,
                                        MIEMBRO_LIQ_{dt_id_seudonimo(seudonimo)}_1 AS MIEMBRO_LIQ_ID_SEUDONIMO_1,
                                        MIEMBRO_LIQ_{dt_id_seudonimo(seudonimo)}_2 AS MIEMBRO_LIQ_ID_SEUDONIMO_2,
                                        RIESGO_ST_1, RIESGO_ST_2, GARANTIA_GIST,
                                        GARANTIA_GGL, GARANTIA_GPT, GARANTIA_FGC, GARANTIA_FGG_CRCC
                                        FROM GEN_RSS_TEST_FGC
                                        WHERE FECHA BETWEEN {periodo_analisis_sql[1]}
                                        AND {periodo_analisis_sql[2]}"))

  return(datos)
}
apalacio9502/crccdatatools documentation built on April 11, 2022, 3:34 p.m.