Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mdx = "SELECT
- {[Measures].[Número Personas Atendidas], [Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
- NON EMPTY CROSSJOIN(
- [Administradora].[Régimen de Administradora].[Régimen de Administradora].AllMembers,
- [Fecha de Atención].[Anno].[Anno].AllMembers) DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
- FROM [CU - Prestación Servicios de Salud]"
- mdx = "SELECT
- {[Measures].[Número Personas Atendidas],
- [Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
- NON EMPTY CROSSJOIN(
- {([Diagnóstico Principal].[Diagnósticos].&[2567], [Fecha de Atención].[Anno].&[2016])},
- CROSSJOIN(
- [Administradora].[Administradora].[Administradora].AllMembers,
- CROSSJOIN(
- [Administradora].[Régimen de Administradora].[Régimen de Administradora].AllMembers,
- CROSSJOIN(
- [Ambitos de procedimiento].[Ambito del Procedimiento].[Ambito del Procedimiento].AllMembers,
- CROSSJOIN(
- [Edad de la Atención].[Edad].[Edad].AllMembers,
- CROSSJOIN(
- [Municipio Residencia - RIPS].[Departamento].[Departamento].AllMembers,
- CROSSJOIN(
- [Municipio Residencia - RIPS].[Municipio].[Municipio].AllMembers,
- CROSSJOIN(
- [Personal que atiende].[Personal que atiende].[Personal que atiende].AllMembers,
- CROSSJOIN(
- [Personas].[Sexo].[Sexo].AllMembers,
- CROSSJOIN(
- [Personas].[Zona].[Zona].AllMembers,
- CROSSJOIN(
- [Prestadores Basicos].[Clase Prestador].[Clase Prestador].AllMembers,
- CROSSJOIN(
- Generate( [Prestadores Basicos].[Geografia Prestador].[Departamento].AllMembers, AddCalculatedMembers(Descendants([Prestadores Basicos].[Geografia Prestador].CurrentMember, [Prestadores Basicos].[Geografia Prestador].[Prestador], LEAVES)) ),
- CROSSJOIN(
- [Prestadores Basicos].[Naturaleza Juridica].[Naturaleza Juridica].AllMembers,
- CROSSJOIN(
- [Prestadores Basicos].[Nivel Atención].[Nivel Atención].AllMembers,
- CROSSJOIN(
- [Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].AllMembers,
- [Tipo de Atencion].[Tipo de Atención].[Tipo de Atención].AllMembers))))))))))))))) DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
- FROM [CU - Prestación Servicios de Salud]"
- ############################ base info fetcher #####################
- dx_list = read.csv("Data/Dx list/dx_list.csv")[,2]
- View(dx_list)
- list = c(1726, 1736, 2921:2925, 2926, 2929, 2932, 2936)
- a = as.character(dx_list[list])
- b = paste0("[Diagnóstico Principal].[Diagnósticos].", paste0("[",a , "]" ), collapse = ",\n")
- b
- result_query= paste0("SELECT
- {[Measures].[Número Personas Atendidas],
- [Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
- NON EMPTY CROSSJOIN(
- {", b ,"},
- CROSSJOIN(
- {[Fecha de Atención].[Anno].&[2010],
- [Fecha de Atención].[Anno].&[2011],
- [Fecha de Atención].[Anno].&[2012],
- [Fecha de Atención].[Anno].&[2013],
- [Fecha de Atención].[Anno].&[2014],
- [Fecha de Atención].[Anno].&[2015]},
- CROSSJOIN(
- [Administradora].[Administradora].[Administradora].AllMembers,
- CROSSJOIN(
- [Administradora].[Régimen de Administradora].[Régimen de Administradora].AllMembers,
- CROSSJOIN(
- [Ambitos de procedimiento].[Ambito del Procedimiento].[Ambito del Procedimiento].AllMembers,
- CROSSJOIN(
- [Edad de la Atención].[Edad].[Edad].AllMembers,
- CROSSJOIN(
- [Municipio Residencia - RIPS].[Departamento].[Departamento].AllMembers,
- CROSSJOIN(
- [Municipio Residencia - RIPS].[Municipio].[Municipio].AllMembers,
- CROSSJOIN(
- [Personal que atiende].[Personal que atiende].[Personal que atiende].AllMembers,
- CROSSJOIN(
- [Personas].[Sexo].[Sexo].AllMembers,
- CROSSJOIN(
- [Personas].[Zona].[Zona].AllMembers,
- CROSSJOIN(
- [Prestadores Basicos].[Clase Prestador].[Clase Prestador].AllMembers,
- CROSSJOIN(
- Generate( [Prestadores Basicos].[Geografia Prestador].[Departamento].AllMembers, AddCalculatedMembers(Descendants([Prestadores Basicos].[Geografia Prestador].CurrentMember, [Prestadores Basicos].[Geografia Prestador].[Prestador], LEAVES)) ),
- CROSSJOIN(
- [Prestadores Basicos].[Naturaleza Juridica].[Naturaleza Juridica].AllMembers,
- CROSSJOIN(
- [Prestadores Basicos].[Nivel Atención].[Nivel Atención].AllMembers,
- CROSSJOIN(
- [Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].AllMembers,
- [Tipo de Atencion].[Tipo de Atención].[Tipo de Atención].AllMembers)))))))))))))))) DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
- FROM [CU - Prestación Servicios de Salud]
- ")
- result_query
- result =execute2D(olapCnn, result_query)
- write.csv(result, paste0(getwd(), "/Data/Extracts/retinopatia_result.csv"), row.names = F)
- ############################ diagnosis fetcher #####################
- dx =
- "
- SELECT
- {[Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_CAPTION] ON COLUMNS,
- [Diagnóstico Principal].[Diagnósticos].[Diagnósticos].AllMembers DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_CAPTION] ON ROWS
- FROM [CU - Prestación Servicios de Salud]
- "
- dx_base =execute2D(olapCnn, dx)
- write.csv(dx_base, paste0(getwd(), "/Data/Dx list/dx_list.csv"), row.names = F)
- system.time(execute2D(olapCnn, mdx))
- results1
- local_con = odbcConnect("DATA")
- sqlTables(local_con, tableType = "TABLE")$TABLE_NAME
- prova1 = sqlFetch(local_con, "DATA")
- prova2 = sqlQuery(local_con, "SELECT * FROM DATA")
- system.time(sqlFetch(local_con, "DATA"))
- system.time(sqlQuery(local_con, "SELECT * FROM DATA"))
- ###connection setup
- rmysql.settingsfile <- "C:/.my.cnf"
- rmysql.db <- "ripscan"
- drv <- dbDriver("MariaDB")
- con = dbConnect(drv,default.file=rmysql.settingsfile,group=rmysql.db, user=NULL, password = NULL)
- # explorea tables
- dbListTables(con)
- ## load data from text file before upload
- data = import("DATA.txt", header = T)
- ## trasform colanames into normal characters
- colnames(data) = iconv(colnames(data), to='ASCII//TRANSLIT')
- ## writes a temporary file befora upload
- write.csv(data, "prova.csv", row.names=FALSE, col.names = F)
- ## oploads the whole file into the table, now set to rips_2016
- dbSendQuery(con,"LOAD DATA LOCAL INFILE 'prova.csv'
- INTO TABLE rips_2016
- FIELDS TERMINATED by ','
- ENCLOSED BY '\"'
- LINES TERMINATED BY '\\n'" )
- ## standard dataframe for base upload
- c = as.data.frame(matrix(, 0, 19))
- colnames(c) = colnames(data)
- ## creates empty table
- dbWriteTable(con, name='rips_2016', value=c, overwrite=TRUE)
- ## read and download whole table
- d = dbReadTable(con, name = 'rips_2016', fileEncoding="UTF-8", check.names = T)
- ## disconnects
- dbDisconnect(con)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement