Hola:
Me encuentro en la tesitura de hacer el siguiente proceso:
1-.Leer una excel e importar los datos a R
2-.Transformar esos datos mediante R
3.-Subir esos datos transformados a MS SQL server.
El proceso en si lo tengo completado sin problemas, pero me gustaria
afinar un poco mas el codigo y poner una barra de progreso en los pasos 1
y 3.
En ambos pasos utilizo RODBC para hacer la conexion:
En 1- el codigo seria
xls <- odbcConnectExcel("Poblacion.xls")
XLS2010 <- sqlFetch(xls, "2010")
Pues bien la instruccion sqlFetch tarda unos 3 o 4 minutos en leer la
excel y me gustaria mostrar una barra de progreso o similar mientras se
ejecuta.
Tras importar la excel, y luego de varias transformaciones subo el df
resultante (llamado datos) mediante
channel <- odbcDriverConnect( "case=nochange; Driver=SQL Server;
Server=XXXXXXXX; Database=XXXXXXX; uid=XXXXt; pwd=XXXXt; wsid=XXXXXX;")
sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE,
append=TRUE, fast=TRUE )
En este caso tarda aproximadamente una hora en la que R parece "muerto".
Haciendo una consulta contra la tabla Poblacion (en el analizador de
consultas de MSSQL) puedo ver en cada momento cuantos registros se han
insertado hasta ese momento pero me gustaria que R mostrara una indicacion
del estado de la insercion de datos en el Servidor.
Muchas gracias
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130403/9ca443de/attachment.html>
------------ próxima parte ------------
-- AVISO LEGAL --
Los datos personales que en esta comunicación aparecen, asà como los que nuestra
empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener
el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica
15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal).
Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición
dirigiéndose a atencion.clientes en tasacionesh.com
La utilización de su dirección de correo electrónico por parte de nuestra empresa
queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de
la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por
nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica
a través de la dirección atencion.clientes en tasacionesh.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130403/9ca443de/attachment-0001.html>
[R-es] Barra de progreso en RODBC
8 messages · Carlos Ortega, jluis.gilsanz en tasacionesh.com, Carlos J. Gil Bellosta +1 more
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130403/365bc460/attachment.pl>
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130403/a5ed91f2/attachment.pl>
Hola de nuevo a todos: Soy José Luis, Miguel Ãngel ;-) En las tres opciones que me habéis proporcionado tanto tu mismo como Carlos, las barras de progreso se aplican a procesos iterativos bien sean bucles o bien funciones tipo apply. En mi caso tanto la importación de la Excel como la exportación al MSSQL se hacen en una sola instrucción sin utilizar ni bucles ni funciones tipo apply.Aunque supongo que internamente RODBC leerá/escribirá los datos de forma iterativa en ambas instrucciones la subida/bajada de datos en R se hace "del tirón". Es decir la primera barra de progreso deberÃa mostrar el progreso del numero de registros leÃdos hasta ese momento vs el numero total de registros en la instruccion: XLS2010 <- sqlFetch(xls, "2010") La segunda barra de progreso deberÃa mostrar el progreso del numero de registros insertados en la tabla SQL hasta ese momento vs el numero total de registros del df datos en la instrucción: sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE, append=TRUE, fast=TRUE ) No sé si consigo explicarme con propiedad. Muchas gracias por los aportes Un saludo Re: [R-es] Barra de progreso en RODBC (Internet) cof To: miguel.angel.rodriguez.muinos Cc: Jluis GILSANZ, r-help-es 03/04/2013 17:02 Hola, Hay alguna más...: http://cran.r-project.org/web/packages/pbapply/pbapply.pdf Y otra en el paquete plyr: http://cran.r-project.org/web/packages/plyr/plyr.pdf Saludos, Carlos Ortega www.qualityexcellence.es El 3 de abril de 2013 14:33, <miguel.angel.rodriguez.muinos en sergas.es> escribió: Hola jluis (probablemente, José o Juan Luis). A ver si esto te sirve... http://ryouready.wordpress.com/2009/03/16/r-monitor-function-progress-with-a-progress-bar/ Un saludo, _____________________________ Miguel Ãngel RodrÃguez MuÃños Dirección Xeral de Innovación e Xestión da Saúde Pública ConsellerÃa de Sanidade Xunta de Galicia http://dxsp.sergas.es De: r-help-es-bounces en r-project.org [mailto: r-help-es-bounces en r-project.org] En nombre de jluis.gilsanz en tasacionesh.com Enviado el: miércoles, 03 de abril de 2013 13:40 Para: r-help-es en r-project.org Asunto: [R-es] Barra de progreso en RODBC Hola: Me encuentro en la tesitura de hacer el siguiente proceso: 1-.Leer una excel e importar los datos a R 2-.Transformar esos datos mediante R 3.-Subir esos datos transformados a MS SQL server. El proceso en si lo tengo completado sin problemas, pero me gustaria afinar un poco mas el codigo y poner una barra de progreso en los pasos 1 y 3. En ambos pasos utilizo RODBC para hacer la conexion: En 1- el codigo seria xls <- odbcConnectExcel("Poblacion.xls") XLS2010 <- sqlFetch(xls, "2010") Pues bien la instruccion sqlFetch tarda unos 3 o 4 minutos en leer la excel y me gustaria mostrar una barra de progreso o similar mientras se ejecuta. Tras importar la excel, y luego de varias transformaciones subo el df resultante (llamado datos) mediante channel <- odbcDriverConnect( "case=nochange; Driver=SQL Server; Server=XXXXXXXX; Database=XXXXXXX; uid=XXXXt; pwd=XXXXt; wsid=XXXXXX;") sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE, append=TRUE, fast=TRUE ) En este caso tarda aproximadamente una hora en la que R parece "muerto". Haciendo una consulta contra la tabla Poblacion (en el analizador de consultas de MSSQL) puedo ver en cada momento cuantos registros se han insertado hasta ese momento pero me gustaria que R mostrara una indicacion del estado de la insercion de datos en el Servidor. Muchas gracias ________________________________ Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimÃnea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimÃnelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Saludos, Carlos Ortega www.qualityexcellence.es -- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal). Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de nuestra empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica a través de la dirección atencion.clientes en tasacionesh.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130404/a6b14fa7/attachment-0001.html>
Hola, ¿qué tal? La única manera en que podrÃas conseguir lo que quieres es que el _driver_ de ODBC proporcionara _callbacks_ a R (para indicarle, por ejemplo, por dónde va en la tarea encomendada). Pero no es el caso. Una vez que llamas a sqlFetch o sqlSave, R pierde el control de lo que pasa hasta que el _driver_ decide que ha terminado de hacer lo que se le ha encomendado. La única manera de disponer de barras de progreso serÃa partiendo la captura e inserción de datos en bloques para actualizarla tú a mano. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 4 de abril de 2013 10:34, <jluis.gilsanz en tasacionesh.com> escribió:
Hola de nuevo a todos: Soy José Luis, Miguel Ãngel ;-) En las tres opciones que me habéis proporcionado tanto tu mismo como Carlos, las barras de progreso se aplican a procesos iterativos bien sean bucles o bien funciones tipo apply. En mi caso tanto la importación de la Excel como la exportación al MSSQL se hacen en una sola instrucción sin utilizar ni bucles ni funciones tipo apply.Aunque supongo que internamente RODBC leerá/escribirá los datos de forma iterativa en ambas instrucciones la subida/bajada de datos en R se hace "del tirón". Es decir la primera barra de progreso deberÃa mostrar el progreso del numero de registros leÃdos hasta ese momento vs el numero total de registros en la instruccion: XLS2010 <- sqlFetch(xls, "2010") La segunda barra de progreso deberÃa mostrar el progreso del numero de registros insertados en la tabla SQL hasta ese momento vs el numero total de registros del df datos en la instrucción: sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE, append=TRUE, fast=TRUE ) No sé si consigo explicarme con propiedad. Muchas gracias por los aportes Un saludo Re: [R-es] Barra de progreso en RODBC (Internet) cof To: miguel.angel.rodriguez.muinos Cc: Jluis GILSANZ, r-help-es 03/04/2013 17:02
________________________________ Hola, Hay alguna más...: http://cran.r-project.org/web/packages/pbapply/pbapply.pdf Y otra en el paquete plyr: http://cran.r-project.org/web/packages/plyr/plyr.pdf Saludos, Carlos Ortega www.qualityexcellence.es El 3 de abril de 2013 14:33, <miguel.angel.rodriguez.muinos en sergas.es> escribió: Hola jluis (probablemente, José o Juan Luis). A ver si esto te sirve... http://ryouready.wordpress.com/2009/03/16/r-monitor-function-progress-with-a-progress-bar/ Un saludo, _____________________________ Miguel Ãngel RodrÃguez MuÃños Dirección Xeral de Innovación e Xestión da Saúde Pública ConsellerÃa de Sanidade Xunta de Galicia http://dxsp.sergas.es De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org] En nombre de jluis.gilsanz en tasacionesh.com Enviado el: miércoles, 03 de abril de 2013 13:40 Para: r-help-es en r-project.org Asunto: [R-es] Barra de progreso en RODBC Hola: Me encuentro en la tesitura de hacer el siguiente proceso: 1-.Leer una excel e importar los datos a R 2-.Transformar esos datos mediante R 3.-Subir esos datos transformados a MS SQL server. El proceso en si lo tengo completado sin problemas, pero me gustaria afinar un poco mas el codigo y poner una barra de progreso en los pasos 1 y 3. En ambos pasos utilizo RODBC para hacer la conexion: En 1- el codigo seria xls <- odbcConnectExcel("Poblacion.xls") XLS2010 <- sqlFetch(xls, "2010") Pues bien la instruccion sqlFetch tarda unos 3 o 4 minutos en leer la excel y me gustaria mostrar una barra de progreso o similar mientras se ejecuta. Tras importar la excel, y luego de varias transformaciones subo el df resultante (llamado datos) mediante channel <- odbcDriverConnect( "case=nochange; Driver=SQL Server; Server=XXXXXXXX; Database=XXXXXXX; uid=XXXXt; pwd=XXXXt; wsid=XXXXXX;") sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE, append=TRUE, fast=TRUE ) En este caso tarda aproximadamente una hora en la que R parece "muerto". Haciendo una consulta contra la tabla Poblacion (en el analizador de consultas de MSSQL) puedo ver en cada momento cuantos registros se han insertado hasta ese momento pero me gustaria que R mostrara una indicacion del estado de la insercion de datos en el Servidor. Muchas gracias ________________________________ Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimÃnea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimÃnelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es -- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal). Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de nuestra empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica a través de la dirección atencion.clientes en tasacionesh.com _______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Hola de nuevo: Ahora creo que he conseguido explicarme bien, esos callbacks de RODBC a R era justo lo que necesitaba para mostrar el progreso. Pero como RODBC no los tiene, mi gozo en un pozo :-( La opción de partir los datos en varios lotes ya la habÃa sopesado pero teniendo en cuenta que esto era una especie de refinamiento del código no me merece la pena. Seguiré ejecutando la query directamente en el MSSQL para saber cuantos registros han subido como hacia hasta ahora. Muchas gracias por vuestra ayuda. Un saludete Re: [R-es] Barra de progreso en RODBC (Internet) cgb To: Jluis GILSANZ Cc: r-help-es 04/04/2013 16:14 Sent by : gilbellosta en gmail.com Hola, ¿qué tal? La única manera en que podrÃas conseguir lo que quieres es que el _driver_ de ODBC proporcionara _callbacks_ a R (para indicarle, por ejemplo, por dónde va en la tarea encomendada). Pero no es el caso. Una vez que llamas a sqlFetch o sqlSave, R pierde el control de lo que pasa hasta que el _driver_ decide que ha terminado de hacer lo que se le ha encomendado. La única manera de disponer de barras de progreso serÃa partiendo la captura e inserción de datos en bloques para actualizarla tú a mano. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 4 de abril de 2013 10:34, <jluis.gilsanz en tasacionesh.com> escribió:
Hola de nuevo a todos: Soy José Luis, Miguel Ãngel ;-) En las tres opciones que me habéis proporcionado tanto tu mismo como
Carlos,
las barras de progreso se aplican a procesos iterativos bien sean bucles
o
bien funciones tipo apply. En mi caso tanto la importación de la Excel como la exportación al MSSQL
se
hacen en una sola instrucción sin utilizar ni bucles ni funciones tipo apply.Aunque supongo que internamente RODBC leerá/escribirá los datos de forma iterativa en ambas instrucciones la subida/bajada de datos en R se hace "del tirón". Es decir la primera barra de progreso deberÃa mostrar el progreso del
numero
de registros leÃdos hasta ese momento vs el numero total de registros en
la
instruccion: XLS2010 <- sqlFetch(xls, "2010") La segunda barra de progreso deberÃa mostrar el progreso del numero de registros insertados en la tabla SQL hasta ese momento vs el numero
total
de registros del df datos en la instrucción: sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE,
append=TRUE,
fast=TRUE ) No sé si consigo explicarme con propiedad. Muchas gracias por los aportes Un saludo Re: [R-es] Barra de progreso en RODBC (Internet) cof To: miguel.angel.rodriguez.muinos Cc: Jluis GILSANZ, r-help-es 03/04/2013 17:02
________________________________ Hola, Hay alguna más...: http://cran.r-project.org/web/packages/pbapply/pbapply.pdf Y otra en el paquete plyr: http://cran.r-project.org/web/packages/plyr/plyr.pdf Saludos, Carlos Ortega www.qualityexcellence.es El 3 de abril de 2013 14:33, <miguel.angel.rodriguez.muinos en sergas.es> escribió: Hola jluis (probablemente, José o Juan Luis). A ver si esto te sirve...
http://ryouready.wordpress.com/2009/03/16/r-monitor-function-progress-with-a-progress-bar/
Un saludo,
_____________________________ Miguel Ãngel RodrÃguez MuÃños Dirección Xeral de Innovación e Xestión da Saúde Pública ConsellerÃa de Sanidade Xunta de Galicia http://dxsp.sergas.es De: r-help-es-bounces en r-project.org [
mailto:r-help-es-bounces en r-project.org]
En nombre de jluis.gilsanz en tasacionesh.com Enviado el: miércoles, 03 de abril de 2013 13:40 Para: r-help-es en r-project.org Asunto: [R-es] Barra de progreso en RODBC Hola: Me encuentro en la tesitura de hacer el siguiente proceso: 1-.Leer una excel e importar los datos a R 2-.Transformar esos datos mediante R 3.-Subir esos datos transformados a MS SQL server. El proceso en si lo tengo completado sin problemas, pero me gustaria
afinar
un poco mas el codigo y poner una barra de progreso en los pasos 1 y 3.
En ambos pasos utilizo RODBC para hacer la conexion:
En 1- el codigo seria
xls <- odbcConnectExcel("Poblacion.xls")
XLS2010 <- sqlFetch(xls, "2010")
Pues bien la instruccion sqlFetch tarda unos 3 o 4 minutos en leer la
excel
y me gustaria mostrar una barra de progreso o similar mientras se
ejecuta.
Tras importar la excel, y luego de varias transformaciones subo el df resultante (llamado datos) mediante channel <- odbcDriverConnect( "case=nochange; Driver=SQL Server; Server=XXXXXXXX; Database=XXXXXXX; uid=XXXXt; pwd=XXXXt; wsid=XXXXXX;") sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE,
append=TRUE,
fast=TRUE ) En este caso tarda aproximadamente una hora en la que R parece "muerto". Haciendo una consulta contra la tabla Poblacion (en el analizador de consultas de MSSQL) puedo ver en cada momento cuantos registros se han insertado hasta ese momento pero me gustaria que R mostrara una
indicacion
del estado de la insercion de datos en el Servidor. Muchas gracias
________________________________ Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta
mensaxe,
por favor elimÃnea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimÃnelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm [[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es -- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad
de
mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter
Personal).
Puede ejercer sus derechos de acceso, rectificación, cancelación y
oposición
dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de
nuestra
empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por
vÃa
electrónica a través de la dirección atencion.clientes en tasacionesh.com
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
-- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal). Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de nuestra empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica a través de la dirección atencion.clientes en tasacionesh.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130405/eec9c353/attachment-0001.html>
An embedded and charset-unspecified text was scrubbed... Name: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130405/5f490252/attachment.pl>
Hola Miguel Ãngel. Pues me acabas de dar una idea estupenda¡¡¡ Haré unas pruebas de la velocidad media de subida de registros desde R a MSSQL. Obtendré un valor de x registros por segundo. Creare esa ventana (me pondré a bucear en la ayuda para ver como hacerlo) y como se cuantos registros voy a insertar podré mostrar un progreso aproximado. Suponiendo que consiga 1100 registros subidos por segundo y que tenga 1.658.900 registros a subir, tendrÃa unos 1508 segundos de proceso (unos 25 minutos). Seria cuestión de tomar la hora de inicio del proceso, añadir 26 o 27 (papochiacaso) minutos y hacer correr una barra o similar durante esos 26 minutos en pequeños intervalos. Me gusta la idea Miguel Ãngel, muchas gracias.¡¡¡ Voy a investigar el tema de las ventanas que comentas¡¡¡ GRACIAS José Luis Gilsanz Gómez EstadÃstica Tasaciones Hipotecarias MarÃa de Molina, 54 - 28006 - Madrid Tel. : 34-914549694 Fax : 34-917822164 Email : jluis.gilsanz en tasacionesh.com Site web: www.tasacionesh.es -- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal). Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición dirigiéndose a atencion.clientesth en tasacionesh.com. La utilización de su dirección de correo electrónico por parte de nuestra empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica a través de la dirección atencion.clientesth en tasacionesh.com . RE: [R-es] Barra de progreso en RODBC (Internet) miguel.angel.rodriguez.muinos To: Jluis GILSANZ Cc: r-help-es 05/04/2013 11:33 Hola José Luis. Se me ocurre una cosa que puede valerte (aunque no es demasiado ?fino?)?. Puedes crear una ventana en la que pintes una barra animada (e, incluso un contador y/o cronómetro)? la activas justo antes de lanzar la petición y la desactivas cuando se devuelva el control a R. Asà el usuario verá algo en pantalla mientras espera y no tendrá esa sensación de que el proceso ?se colgó?. Eso te valdrÃa? NOTA: En tu proceso de una hora, podrÃas ponerles mejor unos videos musicales! J Un saludo, Miguel. De: r-help-es-bounces en r-project.org [ mailto:r-help-es-bounces en r-project.org] En nombre de jluis.gilsanz en tasacionesh.com Enviado el: viernes, 05 de abril de 2013 11:16 Para: cgb en datanalytics.com CC: r-help-es en r-project.org; gilbellosta en gmail.com Asunto: Re: [R-es] Barra de progreso en RODBC Importancia: Alta Hola de nuevo: Ahora creo que he conseguido explicarme bien, esos callbacks de RODBC a R era justo lo que necesitaba para mostrar el progreso. Pero como RODBC no los tiene, mi gozo en un pozo :-( La opción de partir los datos en varios lotes ya la habÃa sopesado pero teniendo en cuenta que esto era una especie de refinamiento del código no me merece la pena. Seguiré ejecutando la query directamente en el MSSQL para saber cuantos registros han subido como hacia hasta ahora. Muchas gracias por vuestra ayuda. Un saludete Re: [R-es] Barra de progreso en RODBC (Internet) cgb To: Jluis GILSANZ Cc: r-help-es 04/04/2013 16:14 Sent by : gilbellosta en gmail.com Hola, ¿qué tal? La única manera en que podrÃas conseguir lo que quieres es que el _driver_ de ODBC proporcionara _callbacks_ a R (para indicarle, por ejemplo, por dónde va en la tarea encomendada). Pero no es el caso. Una vez que llamas a sqlFetch o sqlSave, R pierde el control de lo que pasa hasta que el _driver_ decide que ha terminado de hacer lo que se le ha encomendado. La única manera de disponer de barras de progreso serÃa partiendo la captura e inserción de datos en bloques para actualizarla tú a mano. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El dÃa 4 de abril de 2013 10:34, <jluis.gilsanz en tasacionesh.com> escribió:
Hola de nuevo a todos: Soy José Luis, Miguel Ãngel ;-) En las tres opciones que me habéis proporcionado tanto tu mismo como
Carlos,
las barras de progreso se aplican a procesos iterativos bien sean bucles
o
bien funciones tipo apply. En mi caso tanto la importación de la Excel como la exportación al MSSQL
se
hacen en una sola instrucción sin utilizar ni bucles ni funciones tipo apply.Aunque supongo que internamente RODBC leerá/escribirá los datos de forma iterativa en ambas instrucciones la subida/bajada de datos en R se hace "del tirón". Es decir la primera barra de progreso deberÃa mostrar el progreso del
numero
de registros leÃdos hasta ese momento vs el numero total de registros en
la
instruccion: XLS2010 <- sqlFetch(xls, "2010") La segunda barra de progreso deberÃa mostrar el progreso del numero de registros insertados en la tabla SQL hasta ese momento vs el numero
total
de registros del df datos en la instrucción: sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE,
append=TRUE,
fast=TRUE ) No sé si consigo explicarme con propiedad. Muchas gracias por los aportes Un saludo Re: [R-es] Barra de progreso en RODBC (Internet) cof To: miguel.angel.rodriguez.muinos Cc: Jluis GILSANZ, r-help-es 03/04/2013 17:02
________________________________ Hola, Hay alguna más...: http://cran.r-project.org/web/packages/pbapply/pbapply.pdf Y otra en el paquete plyr: http://cran.r-project.org/web/packages/plyr/plyr.pdf Saludos, Carlos Ortega www.qualityexcellence.es El 3 de abril de 2013 14:33, <miguel.angel.rodriguez.muinos en sergas.es> escribió: Hola jluis (probablemente, José o Juan Luis). A ver si esto te sirve...
http://ryouready.wordpress.com/2009/03/16/r-monitor-function-progress-with-a-progress-bar/
Un saludo,
_____________________________ Miguel Ãngel RodrÃguez MuÃños Dirección Xeral de Innovación e Xestión da Saúde Pública ConsellerÃa de Sanidade Xunta de Galicia http://dxsp.sergas.es De: r-help-es-bounces en r-project.org [
mailto:r-help-es-bounces en r-project.org]
En nombre de jluis.gilsanz en tasacionesh.com Enviado el: miércoles, 03 de abril de 2013 13:40 Para: r-help-es en r-project.org Asunto: [R-es] Barra de progreso en RODBC Hola: Me encuentro en la tesitura de hacer el siguiente proceso: 1-.Leer una excel e importar los datos a R 2-.Transformar esos datos mediante R 3.-Subir esos datos transformados a MS SQL server. El proceso en si lo tengo completado sin problemas, pero me gustaria
afinar
un poco mas el codigo y poner una barra de progreso en los pasos 1 y 3.
En ambos pasos utilizo RODBC para hacer la conexion:
En 1- el codigo seria
xls <- odbcConnectExcel("Poblacion.xls")
XLS2010 <- sqlFetch(xls, "2010")
Pues bien la instruccion sqlFetch tarda unos 3 o 4 minutos en leer la
excel
y me gustaria mostrar una barra de progreso o similar mientras se
ejecuta.
Tras importar la excel, y luego de varias transformaciones subo el df resultante (llamado datos) mediante channel <- odbcDriverConnect( "case=nochange; Driver=SQL Server; Server=XXXXXXXX; Database=XXXXXXX; uid=XXXXt; pwd=XXXXt; wsid=XXXXXX;") sqlSave(channel,datos,tablename ="Poblacion", rownames = FALSE,
append=TRUE,
fast=TRUE ) En este caso tarda aproximadamente una hora en la que R parece "muerto". Haciendo una consulta contra la tabla Poblacion (en el analizador de consultas de MSSQL) puedo ver en cada momento cuantos registros se han insertado hasta ese momento pero me gustaria que R mostrara una
indicacion
del estado de la insercion de datos en el Servidor. Muchas gracias
________________________________ Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta
mensaxe,
por favor elimÃnea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimÃnelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm [[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es -- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad
de
mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter
Personal).
Puede ejercer sus derechos de acceso, rectificación, cancelación y
oposición
dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de
nuestra
empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por
vÃa
electrónica a través de la dirección atencion.clientes en tasacionesh.com
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
-- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal). Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de nuestra empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica a través de la dirección atencion.clientes en tasacionesh.com Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimÃnea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimÃnelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm -- AVISO LEGAL -- Los datos personales que en esta comunicación aparecen, asà como los que nuestra empresa mantiene de Vd. y de su empresa, son tratados con la finalidad de mantener el contacto asà como realizar las gestiones que en esta aparecen (Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal). Puede ejercer sus derechos de acceso, rectificación, cancelación y oposición dirigiéndose a atencion.clientes en tasacionesh.com La utilización de su dirección de correo electrónico por parte de nuestra empresa queda sujeta a las disposiciones de la Ley 34/2002, de Servicios de la Sociedad de la Información y el Comercio Electrónico. Si Vd. recibe comunicación comercial por nuestra parte y desea dejar de recibirla, rogamos nos lo comunique por vÃa electrónica a través de la dirección atencion.clientes en tasacionesh.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130405/6f13d444/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: image/jpeg Size: 24195 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130405/6f13d444/attachment-0001.jpe>