juan manuel dias
2011-Sep-29 17:48 UTC
[R-es] Consultas sobre diferencias de Sumas Agregadas en R y en SQL.
*Hola Estimados,* * * *Les hago la siguiente consulta:* * * *Estamos haciendo un query sobre a una base que está en SQL, cuyo resultado es una suma del costo y precio de tratamiéntos médicos enviados a las Provincias. * *Transferencias_Acumuladas <- (sqlQuery (rem, "SELECT ca.idProvincia, ca.NombreProvincia as Provincia, ca.idDepartamento, ca.NombreDepartamento as Departamento, SUM (uSdMedicamentoCosto) AS Costo , SUM (uSdMedicamentosPrecio) AS Precio , SUM (Tratamientos) AS Tratamientos FROM Operaciones_Consultas_SinBackup.dbo.PMRemediar pm INNER JOIN Operaciones_Consultas.dbo.uvw_CAPs ca ON pm.idcap = ca.idcap GROUP BY ca.idProvincia, ca.NombreProvincia, ca.idDepartamento, ca.NombreDepartamento") )* *Aplicamos un filtro de la Provincia del Argentina que estemos estudiando:* *TransAcProv <- subset(Transferencias_Acumuladas,idProvincia ==filtro) * *Y luego generamos un agregado de los datos por Provincia.* * TransAcProvT <- aggregate( TransAcProv$Tratamientos, by list(TransAcProv$Provincia), FUN="sum", na=T) #suma el total para la provincia TransAcProvC <- aggregate( TransAcProv$Costo, by list(TransAcProv$Provincia), FUN="sum", na=T) TransAcProvP <- aggregate( TransAcProv$Precio, by list(TransAcProv$Provincia), FUN="sum", na=T)* * TransAcProvT <- TransAcProvT [ , ("x")] TransAcProvC <- TransAcProvC [ , ("x")] TransAcProvP <- TransAcProvP [ , ("x")]* ** *El resultado que nos arroja este query desde el R es en todas las variables (la suma del costo, del precio y de los tratamientos) mayor en una unidad que a el esultado que obtenemos haciendo el mismo query directamente en SQL.* *Que puede estar pasando?* *Muchas gracias.* *Saludos.* *Juan Manuel.* [[alternative HTML version deleted]]
Gregorio R. Serrano
2011-Sep-29 18:24 UTC
[R-es] Consultas sobre diferencias de Sumas Agregadas en R y en SQL.
Sólo una espculación, pero ¿no tendrás por ahí algún valor ausente codificado con un -1? Un saludo Gregorio R. Serrano El 29 de septiembre de 2011 19:48, juan manuel dias <juamadias@gmail.com>escribió:> *Hola Estimados,* > * * > *Les hago la siguiente consulta:* > * * > *Estamos haciendo un query sobre a una base que está en SQL, cuyo resultado > es una suma del costo y precio de tratamiéntos médicos enviados a las > Provincias. * > > *Transferencias_Acumuladas <- (sqlQuery (rem, "SELECT > ca.idProvincia, ca.NombreProvincia as Provincia, ca.idDepartamento, > ca.NombreDepartamento as Departamento, > SUM (uSdMedicamentoCosto) AS Costo , SUM (uSdMedicamentosPrecio) AS > Precio , SUM (Tratamientos) AS Tratamientos > FROM Operaciones_Consultas_SinBackup.dbo.PMRemediar pm > INNER JOIN Operaciones_Consultas.dbo.uvw_CAPs ca > ON pm.idcap = ca.idcap > GROUP BY ca.idProvincia, ca.NombreProvincia, ca.idDepartamento, > ca.NombreDepartamento") )* > > *Aplicamos un filtro de la Provincia del Argentina que estemos estudiando:* > > *TransAcProv <- subset(Transferencias_Acumuladas,idProvincia ==filtro) > * > > *Y luego generamos un agregado de los datos por Provincia.* > > * TransAcProvT <- aggregate( TransAcProv$Tratamientos, by > list(TransAcProv$Provincia), FUN="sum", na=T) #suma el total para la > provincia > TransAcProvC <- aggregate( TransAcProv$Costo, by > list(TransAcProv$Provincia), FUN="sum", na=T) > TransAcProvP <- aggregate( TransAcProv$Precio, by > list(TransAcProv$Provincia), FUN="sum", na=T)* > > * TransAcProvT <- TransAcProvT [ , ("x")] > TransAcProvC <- TransAcProvC [ , ("x")] > TransAcProvP <- TransAcProvP [ , ("x")]* > ** > *El resultado que nos arroja este query desde el R es en todas las > variables (la suma del costo, del precio y de los tratamientos) mayor en > una unidad que a el esultado que obtenemos haciendo el mismo query > directamente en SQL.* > > *Que puede estar pasando?* > > *Muchas gracias.* > > *Saludos.* > > *Juan Manuel.* > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Dr. Gregorio R. Serrano Dpto. Economía Cuantitativa (UCM) Voz:+34 91394 2361 Fax:+34 91394 2591 http://www.grserrano.es [[alternative HTML version deleted]]
Carlos Ortega
2011-Sep-29 18:45 UTC
[R-es] Consultas sobre diferencias de Sumas Agregadas en R y en SQL.
Hola, ¿O un elemento duplicado que en INNER JOIN de R lo discrimine y directamente sobre SQL no lo haga? Saludos, Carlos Ortega www.qualityexcellence.es 2011/9/29 Gregorio R. Serrano <grserrano@ccee.ucm.es>> Sólo una espculación, pero ¿no tendrás por ahí algún valor ausente > codificado con un -1? > > Un saludo > Gregorio R. Serrano > > El 29 de septiembre de 2011 19:48, juan manuel dias > <juamadias@gmail.com>escribió: > > > *Hola Estimados,* > > * * > > *Les hago la siguiente consulta:* > > * * > > *Estamos haciendo un query sobre a una base que está en SQL, cuyo > resultado > > es una suma del costo y precio de tratamiéntos médicos enviados a las > > Provincias. * > > > > *Transferencias_Acumuladas <- (sqlQuery (rem, "SELECT > > ca.idProvincia, ca.NombreProvincia as Provincia, ca.idDepartamento, > > ca.NombreDepartamento as Departamento, > > SUM (uSdMedicamentoCosto) AS Costo , SUM (uSdMedicamentosPrecio) AS > > Precio , SUM (Tratamientos) AS Tratamientos > > FROM Operaciones_Consultas_SinBackup.dbo.PMRemediar pm > > INNER JOIN Operaciones_Consultas.dbo.uvw_CAPs ca > > ON pm.idcap = ca.idcap > > GROUP BY ca.idProvincia, ca.NombreProvincia, ca.idDepartamento, > > ca.NombreDepartamento") )* > > > > *Aplicamos un filtro de la Provincia del Argentina que estemos > estudiando:* > > > > *TransAcProv <- subset(Transferencias_Acumuladas,idProvincia ==filtro) > > * > > > > *Y luego generamos un agregado de los datos por Provincia.* > > > > * TransAcProvT <- aggregate( TransAcProv$Tratamientos, by > > list(TransAcProv$Provincia), FUN="sum", na=T) #suma el total para la > > provincia > > TransAcProvC <- aggregate( TransAcProv$Costo, by > > list(TransAcProv$Provincia), FUN="sum", na=T) > > TransAcProvP <- aggregate( TransAcProv$Precio, by > > list(TransAcProv$Provincia), FUN="sum", na=T)* > > > > * TransAcProvT <- TransAcProvT [ , ("x")] > > TransAcProvC <- TransAcProvC [ , ("x")] > > TransAcProvP <- TransAcProvP [ , ("x")]* > > ** > > *El resultado que nos arroja este query desde el R es en todas las > > variables (la suma del costo, del precio y de los tratamientos) mayor en > > una unidad que a el esultado que obtenemos haciendo el mismo query > > directamente en SQL.* > > > > *Que puede estar pasando?* > > > > *Muchas gracias.* > > > > *Saludos.* > > > > *Juan Manuel.* > > > > [[alternative HTML version deleted]] > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > -- > Dr. Gregorio R. Serrano > Dpto. Economía Cuantitativa (UCM) > Voz:+34 91394 2361 > Fax:+34 91394 2591 > http://www.grserrano.es > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
juan manuel dias
2011-Sep-29 19:52 UTC
[R-es] Consultas sobre diferencias de Sumas Agregadas en R y en SQL.
Hola Estimados! Muchas gracias por las respuestas. Es una diferencia que no es un problema pero nos resulta un miesterio. -Descartaría lo de que pueda existir un registro codificado con -1, porque de hecho miramos los registros en la tabla SQL. -Y lo segundo sería muy raro, porque se trataría de un caso que al duplicarse debería ser igual a 1 en todos los campos que se suman. Esto es casi imposible ya que estamos hablando de envíos de medicamentos con su precio de mercado y su costo de adquisición, que rara vez coincide con la unidad. Yo me imgaino que puede ser un error por una distinta definición en los tipos de campos. Que en la tabla SQL los tenga de una forma. Los campos que se suamn son: ** *Tratamientos* que en SQL está definido *(Decimal (38,14),Null)* *PrecioMedicamento *que en SQL está definido *(Decimal (32,8),Null)* *CostoMedicamento *que en SQL está definido *(Decimal (34,8),Null)* ** No se que posibilidad hay de que en el R se alteren esas definiciones. De todas formas no es un problema grave pero la obsesión de querer saberlo puede más. Saludos!! Mcuhas gracias! ** El 29 de septiembre de 2011 15:45, Carlos Ortega <coforfe@gmail.com>escribió:> Hola, > > ¿O un elemento duplicado que en INNER JOIN de R lo discrimine y > directamente sobre SQL no lo haga? > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > 2011/9/29 Gregorio R. Serrano <grserrano@ccee.ucm.es> > > Sólo una espculación, pero ¿no tendrás por ahí algún valor ausente >> codificado con un -1? >> >> Un saludo >> Gregorio R. Serrano >> >> El 29 de septiembre de 2011 19:48, juan manuel dias >> <juamadias@gmail.com>escribió: >> >> > *Hola Estimados,* >> > * * >> > *Les hago la siguiente consulta:* >> > * * >> > *Estamos haciendo un query sobre a una base que está en SQL, cuyo >> resultado >> > es una suma del costo y precio de tratamiéntos médicos enviados a las >> > Provincias. * >> > >> > *Transferencias_Acumuladas <- (sqlQuery (rem, "SELECT >> > ca.idProvincia, ca.NombreProvincia as Provincia, ca.idDepartamento, >> > ca.NombreDepartamento as Departamento, >> > SUM (uSdMedicamentoCosto) AS Costo , SUM (uSdMedicamentosPrecio) AS >> > Precio , SUM (Tratamientos) AS Tratamientos >> > FROM Operaciones_Consultas_SinBackup.dbo.PMRemediar pm >> > INNER JOIN Operaciones_Consultas.dbo.uvw_CAPs ca >> > ON pm.idcap = ca.idcap >> > GROUP BY ca.idProvincia, ca.NombreProvincia, ca.idDepartamento, >> > ca.NombreDepartamento") )* >> > >> > *Aplicamos un filtro de la Provincia del Argentina que estemos >> estudiando:* >> > >> > *TransAcProv <- subset(Transferencias_Acumuladas,idProvincia >> ==filtro) >> > * >> > >> > *Y luego generamos un agregado de los datos por Provincia.* >> > >> > * TransAcProvT <- aggregate( TransAcProv$Tratamientos, by >> > list(TransAcProv$Provincia), FUN="sum", na=T) #suma el total para la >> > provincia >> > TransAcProvC <- aggregate( TransAcProv$Costo, by >> > list(TransAcProv$Provincia), FUN="sum", na=T) >> > TransAcProvP <- aggregate( TransAcProv$Precio, by >> > list(TransAcProv$Provincia), FUN="sum", na=T)* >> > >> > * TransAcProvT <- TransAcProvT [ , ("x")] >> > TransAcProvC <- TransAcProvC [ , ("x")] >> > TransAcProvP <- TransAcProvP [ , ("x")]* >> > ** >> > *El resultado que nos arroja este query desde el R es en todas las >> > variables (la suma del costo, del precio y de los tratamientos) mayor >> en >> > una unidad que a el esultado que obtenemos haciendo el mismo query >> > directamente en SQL.* >> > >> > *Que puede estar pasando?* >> > >> > *Muchas gracias.* >> > >> > *Saludos.* >> > >> > *Juan Manuel.* >> > >> > [[alternative HTML version deleted]] >> > >> > >> > _______________________________________________ >> > R-help-es mailing list >> > R-help-es@r-project.org >> > https://stat.ethz.ch/mailman/listinfo/r-help-es >> > >> > >> >> >> -- >> Dr. Gregorio R. Serrano >> Dpto. Economía Cuantitativa (UCM) >> Voz:+34 91394 2361 >> Fax:+34 91394 2591 >> http://www.grserrano.es >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >[[alternative HTML version deleted]]