SQL Server - cambiar forma de presentar datos

   
Vista:

cambiar forma de presentar datos

Publicado por CarlosQ (52 intervenciones) el 18/10/2012 16:03:33
Hola maestros, tengo una gran duda mi problema es como presentar la siguiente información:

Descripcion Serie Destino F_Despacho Devo F_Devo Altas F_Alta
EQUIPO A 721076 A 16-04-2012 0 NULL 0 NULL
EQUIPO A 725010 A 16-04-2012 0 NULL 1 25-06-2012
EQUIPO A 725887 A 16-04-2012 0 NULL 0 NULL
EQUIPO A 723825 A 16-04-2012 1 14-09-2012 0 NULL
EQUIPO A 724955 A 16-04-2012 0 NULL 1 02-06-2012
EQUIPO A 725465 B 16-05-2012 1 14-09-2012 0 NULL
EQUIPO A 726075 B 20-05-2012 1 14-09-2012 0 NULL
EQUIPO A 722561 B 20-05-2012 1 14-09-2012 0 NULL
EQUIPO A 727008 B 10-06-2012 0 NULL 1 07-07-2012
EQUIPO A 712455 B 10-06-2012 0 NULL 1 22-06-2012
EQUIPO B 755281 C 10-06-2012 0 NULL 1 20-07-2012
EQUIPO B 780012 C 10-06-2012 1 28-08-2012 0 NULL

y poder mostrarlo como una matriz de esta forma

donde la cabecera de las columnas son los meses del año y en la matriz indicar segun fecha de despacho, devoluciones y altas asignarlas a cada mes. aqui solo indique de marzo a octubre pero lo ideal sería mostrar los 12 meses y cada vez que cargue las fuentes se vaya actualizando segun la query que debo realizar que espero me ayuden con su experiencia.



3 4 5 6 7 8 9 10
despachos 5 3 4
devoluciones 1 4
altas 3 2


saludos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

cambiar forma de presentar datos

Publicado por Isaias (3182 intervenciones) el 18/10/2012 17:48:45
¿Version de tu manejadodr de base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cambiar forma de presentar datos

Publicado por CarlosQ (52 intervenciones) el 18/10/2012 17:52:35
Es sql server 2005
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

cambiar forma de presentar datos

Publicado por Isaias (3182 intervenciones) el 18/10/2012 23:35:10
Podrias intentar hacerlo por PIVOT o bien:


SELECT 'Despachos',
SUM(CASE WHEN DATEPART(F_DESPACHO) = 1 THEN 1 END) AS Ene
SELECT
SUM(CASE WHEN DATEPART(F_DESPACHO) = 2 THEN 1 END) AS Feb
.............
FROM tutabla
UNION
SELECT 'Devoluciones',
SUM(CASE WHEN DATEPART(F_DEVO) = 1 THEN 1 END) AS Ene
SELECT
SUM(CASE WHEN DATEPART(F_DEVO) = 2 THEN 1 END) AS Feb
.............
FROM tutabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cambiar forma de presentar datos

Publicado por CarlosQ (52 intervenciones) el 19/10/2012 21:45:09
Muchas gracias Isaias voy a probar como me indicas
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cambiar forma de presentar datos

Publicado por CarlosQ (52 intervenciones) el 23/10/2012 19:07:50
Isaias

me arroja el siguiente error:

The datepart function requires 2 argument(s)

probe utilizando DATEPART(Mn, F_DESPACHO) y convirtiendo la fecha ya que es texto

utilece esto:

SELECT 'Despachos',
SUM(CASE WHEN DATEPART(Mm,convert(varchar, f_despacho, 105)) = 1 THEN 1 END) AS Ene
SELECT
SUM(CASE WHEN DATEPART(Mm,convert(varchar, f_despacho, 105)) = 2 THEN 1 END) AS Feb
SELECT
SUM(CASE WHEN DATEPART(Mm,convert(varchar, f_despacho, 105)) = 3 THEN 1 END) AS Mar
FROM FRD_DESPACHOS

y me arroja este error:

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.


como lo corrijo por favor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

cambiar forma de presentar datos

Publicado por CarlosQ (52 intervenciones) el 29/10/2012 05:51:06
Gracias Isaias ya lo solucione gracias a tu explicación debo dejar solo un select para todas las SUM y después unir con el otro select de la otra tabla, gracias me sirvió de muchi,

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar