Me ha pedido la presentacion de datos por meses

17/01/2007 - 17:58 por sir_gragon | Informe spam
Me han pedido una presentacion de datos por meses de 3 variables de
manera que sea:
usuario: Valor ENERO_1,VAlor
FEBRERO_1..
usuario: Valor ENERO_2,VAlor
FEBRERO_2..
usuario:-

Los valores los obtengo de una T Usuario, F_ini, F_fin, Importe,Horas,
Hores_exp
de manera que divida el importe y las horas entre los meses contenidos
en las fechas y los presente.

Lo he pensado hacer con cursor y tabla temporal (o variable table),
pero todo el mundo dice que su funcionamiento no es optimo, hasta la
fecha este tipo de calculos los habia realizado con VB, asp etc... ,
con los datos que me devolvia la consulta, pero esto ya es algo
personal y no se me ocurre algun otra manera en sql server.

alguien podria indicarme alguna idea sobre este asunto?

Preguntas similare

Leer las respuestas

#1 sir_gragon
17/01/2007 - 19:05 | Informe spam
OK codigo:

IF EXISTS(SELECT name
FROM sysobjects
WHERE name = N'Demanda'
AND type = 'U')
DROP TABLE [dbo].Demanda
GO
CREATE TABLE [dbo].Demanda (
Codigo_Demanda [varchar] (20) NOT NULL,
Usuario [varchar] (20) NOT NULL,
Fch_ini [datetime] NULL ,
Fch_fin [datetime] NULL ,
Importe [decimal](18,2),
Horas [decimal](18,2),
Horas_exp [decimal](18,2)
) ON [PRIMARY]

INSERT INTO DEMANDA VALUES(1,'CARLOS','20070101','20070131',100,5,0)
INSERT INTO DEMANDA VALUES(2,'CARLOS','20070101','20070630',1000,50,10)

Tegno ya creado un proceso para colocar la cantidad segun la fecha
inicial si quieres lo adjunto en el proximo mensaje... consigo que me
ponga segun la fecha inicio la cantidad...
ENERO
Carlos 11000

LO DESEADO:
Que tomara 1000 lo dividiera entre 6 meses que es el intervalo de fecha
y sumara en cada columna correspondiente al intervalo es decir de enero
a junio 166,66
E F M A
CARLOS 266.66 166.66 166.66 166.66 .

Una idea
me he explicado bien...
Respuesta Responder a este mensaje
#2 Jose Mariano Alvarez
17/01/2007 - 19:48 | Informe spam
Lo mejor es usar Analysis services para estas cosas.
Sino puedes usar una tabla dinamica de excel.

Si lo quieres resolver en SQL mira en 2000 en la ayuda "Informes de tablas
de referencias cruzadas"
En 2005 revisa la sintaxis de PIVOT




Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)




"sir_gragon" wrote in message
news:
Me han pedido una presentacion de datos por meses de 3 variables de
manera que sea:
usuario: Valor ENERO_1,VAlor
FEBRERO_1..
usuario: Valor ENERO_2,VAlor
FEBRERO_2..
usuario:-

Los valores los obtengo de una T Usuario, F_ini, F_fin, Importe,Horas,
Hores_exp
de manera que divida el importe y las horas entre los meses contenidos
en las fechas y los presente.

Lo he pensado hacer con cursor y tabla temporal (o variable table),
pero todo el mundo dice que su funcionamiento no es optimo, hasta la
fecha este tipo de calculos los habia realizado con VB, asp etc... ,
con los datos que me devolvia la consulta, pero esto ya es algo
personal y no se me ocurre algun otra manera en sql server.

alguien podria indicarme alguna idea sobre este asunto?

Respuesta Responder a este mensaje
#3 sir_gragon
18/01/2007 - 10:37 | Informe spam
Alejandro Mesa y Jose muchas gracias por vuestra respuesta me habeis
enseñado mucho.

Esto de T-SQL es un mundo aparte... me ha gustado el diseño de la
consulta.
por que teniendo esto me dices que utilize otros servicios?
tiempos?, acceso a disco?, eficiencia?
Respuesta Responder a este mensaje
#4 Jose Mariano Alvarez
18/01/2007 - 14:33 | Informe spam
OLAP es especifico y su diseño esta optimizado para hacer ese tipo de
consultas y manipular los datos haciendo transposiciones y analisis
multidimensionales.

Suerte



Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)




"sir_gragon" wrote in message
news:
Alejandro Mesa y Jose muchas gracias por vuestra respuesta me habeis
enseñado mucho.

Esto de T-SQL es un mundo aparte... me ha gustado el diseño de la
consulta.
por que teniendo esto me dices que utilize otros servicios?
tiempos?, acceso a disco?, eficiencia?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida