Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Agregar ventas y poner día, mes y año en columnas

Estas en el tema de Agregar ventas y poner día, mes y año en columnas en el foro de SQL Server en Foros del Web. Muy buenas! Tengo una tabla en SQL Server con las ventas que ha realizado una empresa que contiene un registro por cada venta (puede haber ...
  #1 (permalink)  
Antiguo 29/10/2014, 03:31
Avatar de Pinx0  
Fecha de Ingreso: agosto-2008
Ubicación: Valencia
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Agregar ventas y poner día, mes y año en columnas

Muy buenas!

Tengo una tabla en SQL Server con las ventas que ha realizado una empresa que contiene un registro por cada venta (puede haber varios por producto y por dia), la estructura es la siguiente:



Y me gustaría, si es posible, realizar una consulta que me devolviese los datos (para tirarlos a una hoja de excel) agregados de cada Familia-producto-color (la combinación de las 3 es la que te da la diferenciación) por día, obteniendo los años, meses y días en columnas como lo haría una tabla dinámica de excel.

Algo así:



El problema es que si monto la tabla dinámica en excel a partir de la tabla "raw" (todo en filas) me dice que memoria insuficiente porque son aprox. 1 millón de registros.

Sin embargo el QlikView lo hace en apenas unos segundos, por lo que se debería de poder hacer, pero ¿cómo lo hace?

Sumar todos los del mismo día o sé hacer con SUM y luego GROUP BY, pero lo de tratar las fechas como columnas...

Graciass!
  #2 (permalink)  
Antiguo 29/10/2014, 07:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Agregar ventas y poner día, mes y año en columnas

sacar la informacion asi como quieres desde sql server no es posible....se podrian convertir los años y dias a columnas usando la funcion pivot.....pero saldria de un modo diferente al que muestras......ahora estas segur@ que estas usando sql server?????
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 29/10/2014, 10:04
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Agregar ventas y poner día, mes y año en columnas

Quick View, Power View, son herramientas que fueron diseñadas para hacer "rotación" de columnas, eso esta muy orientado a BI
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 29/10/2014, 14:12
Avatar de Pinx0  
Fecha de Ingreso: agosto-2008
Ubicación: Valencia
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Agregar ventas y poner día, mes y año en columnas

Sí claro que estoy seguro que es SQL server, hasta ahí llego xD

Osea que el qlikview está diseñado para hacer eso precisamente, entiendo.

Que quiere decir eso de que está muy orientado a BI? ¿Business ...algo?

Alguien sabe entonces cómo lo hace el qlikview? Son 2 segundos como mucho lo que tarda en presentar así la información mientras que procesar los datos en una macro con excel me tarda varios minutos.
  #5 (permalink)  
Antiguo 29/10/2014, 14:24
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Agregar ventas y poner día, mes y año en columnas

Excel no esta diseñado para manejar grandes cantidades de datos, un manejador de bases de datos sip, BI=Business Inteligence, que es una serie de herramientas para hacer lo que quieres
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 29/10/2014, 14:33
Avatar de Pinx0  
Fecha de Ingreso: agosto-2008
Ubicación: Valencia
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Agregar ventas y poner día, mes y año en columnas

Mnnn la cuestión es que no es sólo eso lo que quiero hacer, luego tengo que procesar esos datos mediante una serie de algoritmos bastante complejos (estadísticos, heurísticos, etc.) que en excel estaba programando en VBA, apoyandome en funciones que tiene el excel ya integradas (estimacion lineal, redondear a multiplo, correlacion, etc.)

Así que si no uso el excel, cuál me recomiendas que permita manejar altas cantidades de datos y programar algoritmos en algún lenguaje de programación decente?

Gracias!
  #7 (permalink)  
Antiguo 29/10/2014, 15:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Agregar ventas y poner día, mes y año en columnas

Podrias usar sql server con CLR para hacer tus funciones, pero claro todas las funciones que mencionas las tendrias que programar en .Net :)

Informes
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 29/10/2014, 19:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Agregar ventas y poner día, mes y año en columnas

En Excel, ¿lo estas haciendo con POWER QUERY?, esa parte si esta diseñada para BI (ya lo explico Libras)

Ya intentaste cambiar tu modelo de transacción, a realizar un CUBO con SSIS?
__________________
MCTS Isaias Islas

Etiquetas: año, columnas, registros, server, siguiente, sql, tabla, ventas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:23.