Consumo promedio por mes

31/03/2005 - 01:16 por K | Informe spam
Hola grupo como estan, bueno ese el nombre del reporte
que me esta pidiendo mi jefe...

Me dice se saca restando el saldo final de la ultima compra
menos el saldo actual, dividido entre la cantidad de meses que
han pasado... :-(

Pues
articulox Fecha saldo
ingreso 01/05/2004 100 100
salida 20/07/2004 10 100
.
.
.
.
salida 15/12/2004 10 20


Bueno en ese pequeño ejemplo de los movimientos del articulox
seria algo asi la formula

100 Saldo de la ultima compra
20 Saldo Actual
7 Meses que pasaron desde la compra hasta el ultimo movimiento

(100-20)/7.43

Esto quiero realizarlo en Sql pero hasta ahora no encuentro por donde
empezar pensaba crear una funcion, bueno en si la tengo creada pero
como le envio los datos...

Agradesco de antemano cualquier ayuda

Preguntas similare

Leer las respuestas

#6 K
31/03/2005 - 19:29 | Informe spam
Para lo de FLOAT fue un error mio al postear la tabla :-),
para tu otra pregunta tendria que hacer en tu if una pregunta
pero que compare los meses de las fechas ya que si no seria
division entre 0 y me parece que saldria un error...

Gracias por tu ayuda voy a comenzar a probar con lo que me has
mandado

Salu2

"Alejandro Mesa" escribió en el
mensaje news:
Los datos de ejemplo se refieren a Tipo, Fecha y Saldo. Correcto?,


entonces
puedes calcularlo asi:

declare @saldo_ult_compra float
declare @saldo_ultima_salida float

declare @fecha_ultima_compra smalldatetime
declare @fecha_ultima_salida smalldatetime

declare @consumo_promedio float

select
@fecha_ultima_compra = fecha,
@saldo_ult_compra = saldo
from
movimiento
where
tipo = 'ingreso'
and fecha = (select max(fecha) from movimiento where tipo = 'ingreso')

select
@fecha_ultima_salida = fecha,
@saldo_ultima_salida = saldo
from
movimiento
where
tipo = 'salida'
and fecha = (select max(fecha) from movimiento where tipo = 'salida')

if @fecha_ultima_compra < @fecha_ultima_salida
set @consumo_promedio = (@saldo_ult_compra - @saldo_ultima_salida) /
nullif(datediff(month, @fecha_ultima_compra, @fecha_ultima_salida), 0)
else
set @consumo_promedio = ?

Tambien quiero preguntarte que pasaria si el ultimo ingreso es posterior a
la ultima salida?, Que hacer cuando las salidas se hacen dentro del mismo


mes
de la compra, o sea no hay diferencia en meses?

Alguna razon por la que escogistes usar tipo de dato FLOAT an vez de


DECIMAL
o NUMERIC?


AMB


"" wrote:

> Esto estaba en la primera pregunta del hilo
> necesito sacar el consumo promedio de un
> articulox
>
> Pues
> articulox Fecha saldo
> ingreso 01/05/2004 100 100
> salida 20/07/2004 10 90.
> ..
> ..
> ..
> salida 15/12/2004 10 20
>
>
> Bueno en ese pequeño ejemplo de los movimientos del articulox
> seria algo asi la formula
>
> 100 Saldo de la ultima compra
> 20 Saldo Actual
> 7 Meses que pasaron desde la compra hasta el ultimo movimiento
>
> (100-20)/7.43
>
> Muchas Gracias
>
>
>
>
> "Alejandro Mesa" escribió en


el
> mensaje news:
> > Gracias por postear la estructura de la tabla, pero creo que no es
> > suficiente. En estos casos recomiendo que se postee, junto con una


breve
> > descripcion de lo que se quiere, data de ejemplo y el resultado


esperado.
> De
> > esa manera no tenemos que adivinar lo que se quiere y tampoco


gastamos,
> ese
> > preciado recurso llamado tiempo, en generar lo anterior.
> >
> >
> > Gracias de antemano,
> >
> > AMB
> >
> >
> > "" wrote:
> >
> > > Gracias por contestar maxi...
> > > En si esos son los campos es una tabla temporal donde tengo
> > > sacado el kardex del articulo, con esta tabla pienso trabajar
> > > ya que tiene todos los datos que necesito...
> > >
> > > Nº Movimiento] [int],
> > > Tipo [char] (20),
> > > [Nº Documento] [char] (12),
> > > AlmacenOrigen [char] (20),
> > > AlmacenDestino [char] (20),
> > > [Nº Cotizacion] [char] (10),
> > > Fecha [smalldatetime],
> > > Cantidad [int],
> > > Saldo [float]
> > >
> > > Muchas gracias
> > >
> > > "Maxi" escribió en el mensaje
> > > news:
> > > > Hola, si nos pasaras las tablas seria mucho mas simple para


nosotros
> > > poderte
> > > > ayudar ;). Una pista es armar consultas derivadas
> > > >
> > > >
> > > >
> > > >
> > > > Salu2
> > > > Maxi
> > > >
> > > >
> > > > "" escribió en el mensaje
> > > > news:eh%
> > > > > Hola grupo como estan, bueno ese el nombre del reporte
> > > > > que me esta pidiendo mi jefe...
> > > > >
> > > > > Me dice se saca restando el saldo final de la ultima compra
> > > > > menos el saldo actual, dividido entre la cantidad de meses que
> > > > > han pasado... :-(
> > > > >
> > > > > Pues
> > > > > articulox Fecha saldo
> > > > > ingreso 01/05/2004 100 100
> > > > > salida 20/07/2004 10 100
> > > > > .
> > > > > .
> > > > > .
> > > > > .
> > > > > salida 15/12/2004 10 20
> > > > >
> > > > >
> > > > > Bueno en ese pequeño ejemplo de los movimientos del articulox
> > > > > seria algo asi la formula
> > > > >
> > > > > 100 Saldo de la ultima compra
> > > > > 20 Saldo Actual
> > > > > 7 Meses que pasaron desde la compra hasta el ultimo


movimiento
> > > > >
> > > > > (100-20)/7.43
> > > > >
> > > > > Esto quiero realizarlo en Sql pero hasta ahora no encuentro por
> donde
> > > > > empezar pensaba crear una funcion, bueno en si la tengo creada


pero
> > > > > como le envio los datos...
> > > > >
> > > > > Agradesco de antemano cualquier ayuda
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida