Advertisement
Guest User

Untitled

a guest
Nov 19th, 2018
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.96 KB | None | 0 0
  1.  
  2. mdx = "SELECT
  3. {[Measures].[Número Personas Atendidas], [Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
  4. NON EMPTY CROSSJOIN(
  5. [Administradora].[Régimen de Administradora].[Régimen de Administradora].AllMembers,
  6. [Fecha de Atención].[Anno].[Anno].AllMembers) DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
  7. FROM [CU - Prestación Servicios de Salud]"
  8.  
  9. mdx = "SELECT
  10. {[Measures].[Número Personas Atendidas],
  11. [Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
  12. NON EMPTY CROSSJOIN(
  13. {([Diagnóstico Principal].[Diagnósticos].&[2567], [Fecha de Atención].[Anno].&[2016])},
  14. CROSSJOIN(
  15. [Administradora].[Administradora].[Administradora].AllMembers,
  16. CROSSJOIN(
  17. [Administradora].[Régimen de Administradora].[Régimen de Administradora].AllMembers,
  18. CROSSJOIN(
  19. [Ambitos de procedimiento].[Ambito del Procedimiento].[Ambito del Procedimiento].AllMembers,
  20. CROSSJOIN(
  21. [Edad de la Atención].[Edad].[Edad].AllMembers,
  22. CROSSJOIN(
  23. [Municipio Residencia - RIPS].[Departamento].[Departamento].AllMembers,
  24. CROSSJOIN(
  25. [Municipio Residencia - RIPS].[Municipio].[Municipio].AllMembers,
  26. CROSSJOIN(
  27. [Personal que atiende].[Personal que atiende].[Personal que atiende].AllMembers,
  28. CROSSJOIN(
  29. [Personas].[Sexo].[Sexo].AllMembers,
  30. CROSSJOIN(
  31. [Personas].[Zona].[Zona].AllMembers,
  32. CROSSJOIN(
  33. [Prestadores Basicos].[Clase Prestador].[Clase Prestador].AllMembers,
  34. CROSSJOIN(
  35. Generate( [Prestadores Basicos].[Geografia Prestador].[Departamento].AllMembers, AddCalculatedMembers(Descendants([Prestadores Basicos].[Geografia Prestador].CurrentMember, [Prestadores Basicos].[Geografia Prestador].[Prestador], LEAVES)) ),
  36. CROSSJOIN(
  37. [Prestadores Basicos].[Naturaleza Juridica].[Naturaleza Juridica].AllMembers,
  38. CROSSJOIN(
  39. [Prestadores Basicos].[Nivel Atención].[Nivel Atención].AllMembers,
  40. CROSSJOIN(
  41. [Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].AllMembers,
  42. [Tipo de Atencion].[Tipo de Atención].[Tipo de Atención].AllMembers))))))))))))))) DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
  43. FROM [CU - Prestación Servicios de Salud]"
  44.  
  45.  
  46.  
  47.  
  48.  
  49. ############################ base info fetcher #####################
  50.  
  51. dx_list = read.csv("Data/Dx list/dx_list.csv")[,2]
  52. View(dx_list)
  53. list = c(1726, 1736, 2921:2925, 2926, 2929, 2932, 2936)
  54.  
  55. a = as.character(dx_list[list])
  56.  
  57. b = paste0("[Diagnóstico Principal].[Diagnósticos].", paste0("[",a , "]" ), collapse = ",\n")
  58.  
  59. b
  60.  
  61. result_query= paste0("SELECT
  62. {[Measures].[Número Personas Atendidas],
  63. [Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_CAPTION] ON COLUMNS,
  64. NON EMPTY CROSSJOIN(
  65. {", b ,"},
  66. CROSSJOIN(
  67. {[Fecha de Atención].[Anno].&[2010],
  68. [Fecha de Atención].[Anno].&[2011],
  69. [Fecha de Atención].[Anno].&[2012],
  70. [Fecha de Atención].[Anno].&[2013],
  71. [Fecha de Atención].[Anno].&[2014],
  72. [Fecha de Atención].[Anno].&[2015]},
  73. CROSSJOIN(
  74. [Administradora].[Administradora].[Administradora].AllMembers,
  75. CROSSJOIN(
  76. [Administradora].[Régimen de Administradora].[Régimen de Administradora].AllMembers,
  77. CROSSJOIN(
  78. [Ambitos de procedimiento].[Ambito del Procedimiento].[Ambito del Procedimiento].AllMembers,
  79. CROSSJOIN(
  80. [Edad de la Atención].[Edad].[Edad].AllMembers,
  81. CROSSJOIN(
  82. [Municipio Residencia - RIPS].[Departamento].[Departamento].AllMembers,
  83. CROSSJOIN(
  84. [Municipio Residencia - RIPS].[Municipio].[Municipio].AllMembers,
  85. CROSSJOIN(
  86. [Personal que atiende].[Personal que atiende].[Personal que atiende].AllMembers,
  87. CROSSJOIN(
  88. [Personas].[Sexo].[Sexo].AllMembers,
  89. CROSSJOIN(
  90. [Personas].[Zona].[Zona].AllMembers,
  91. CROSSJOIN(
  92. [Prestadores Basicos].[Clase Prestador].[Clase Prestador].AllMembers,
  93. CROSSJOIN(
  94. Generate( [Prestadores Basicos].[Geografia Prestador].[Departamento].AllMembers, AddCalculatedMembers(Descendants([Prestadores Basicos].[Geografia Prestador].CurrentMember, [Prestadores Basicos].[Geografia Prestador].[Prestador], LEAVES)) ),
  95. CROSSJOIN(
  96. [Prestadores Basicos].[Naturaleza Juridica].[Naturaleza Juridica].AllMembers,
  97. CROSSJOIN(
  98. [Prestadores Basicos].[Nivel Atención].[Nivel Atención].AllMembers,
  99. CROSSJOIN(
  100. [Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].[Tipo Diagnóstico Principal].AllMembers,
  101. [Tipo de Atencion].[Tipo de Atención].[Tipo de Atención].AllMembers)))))))))))))))) DIMENSION PROPERTIES [MEMBER_CAPTION] ON ROWS
  102. FROM [CU - Prestación Servicios de Salud]
  103. ")
  104. result_query
  105.  
  106. result =execute2D(olapCnn, result_query)
  107.  
  108. write.csv(result, paste0(getwd(), "/Data/Extracts/retinopatia_result.csv"), row.names = F)
  109.  
  110.  
  111. ############################ diagnosis fetcher #####################
  112. dx =
  113. "
  114. SELECT
  115. {[Measures].[Número de Atenciones]} DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_CAPTION] ON COLUMNS,
  116. [Diagnóstico Principal].[Diagnósticos].[Diagnósticos].AllMembers DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_CAPTION] ON ROWS
  117. FROM [CU - Prestación Servicios de Salud]
  118. "
  119.  
  120.  
  121. dx_base =execute2D(olapCnn, dx)
  122.  
  123.  
  124. write.csv(dx_base, paste0(getwd(), "/Data/Dx list/dx_list.csv"), row.names = F)
  125.  
  126.  
  127. system.time(execute2D(olapCnn, mdx))
  128. results1
  129.  
  130.  
  131. local_con = odbcConnect("DATA")
  132. sqlTables(local_con, tableType = "TABLE")$TABLE_NAME
  133.  
  134. prova1 = sqlFetch(local_con, "DATA")
  135.  
  136. prova2 = sqlQuery(local_con, "SELECT * FROM DATA")
  137.  
  138. system.time(sqlFetch(local_con, "DATA"))
  139.  
  140. system.time(sqlQuery(local_con, "SELECT * FROM DATA"))
  141.  
  142. ###connection setup
  143. rmysql.settingsfile <- "C:/.my.cnf"
  144. rmysql.db <- "ripscan"
  145. drv <- dbDriver("MariaDB")
  146. con = dbConnect(drv,default.file=rmysql.settingsfile,group=rmysql.db, user=NULL, password = NULL)
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156. # explorea tables
  157. dbListTables(con)
  158.  
  159. ## load data from text file before upload
  160. data = import("DATA.txt", header = T)
  161. ## trasform colanames into normal characters
  162. colnames(data) = iconv(colnames(data), to='ASCII//TRANSLIT')
  163.  
  164. ## writes a temporary file befora upload
  165. write.csv(data, "prova.csv", row.names=FALSE, col.names = F)
  166.  
  167. ## oploads the whole file into the table, now set to rips_2016
  168. dbSendQuery(con,"LOAD DATA LOCAL INFILE 'prova.csv'
  169. INTO TABLE rips_2016
  170. FIELDS TERMINATED by ','
  171. ENCLOSED BY '\"'
  172. LINES TERMINATED BY '\\n'" )
  173.  
  174. ## standard dataframe for base upload
  175. c = as.data.frame(matrix(, 0, 19))
  176. colnames(c) = colnames(data)
  177.  
  178. ## creates empty table
  179. dbWriteTable(con, name='rips_2016', value=c, overwrite=TRUE)
  180.  
  181.  
  182. ## read and download whole table
  183. d = dbReadTable(con, name = 'rips_2016', fileEncoding="UTF-8", check.names = T)
  184.  
  185. ## disconnects
  186. dbDisconnect(con)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement