Promedio

Dudas sobre Tablas, Consultas, Formularios, Informes...
yosoymonster
Nivel 2
Mensajes: 34
Registrado: Mié Sep 25, 2019 9:39 am

Promedio

Mensajepor yosoymonster » Vie Oct 25, 2019 8:25 pm

Hola de nuevo

En mi BBDD tengo un sub-formulario que me devuelve todos los pedidos realizados que contienen alguno de los componentes del formulario principal, la intención de este formulario es poder ver la periodicidad con la que se solicita un material determinado.

La consulta es la siguiente, cuando realizo un promedio por fechas para saber esta periodicidad, me lo arroja como un número, como puedo hacer que este número me lo arroje en días o meses.

Gracias.

yosoymonster
Nivel 2
Mensajes: 34
Registrado: Mié Sep 25, 2019 9:39 am

Re: Promedio

Mensajepor yosoymonster » Mié Oct 30, 2019 9:29 am

Buenos días,

He estado mirandome este tema y no logro dar con el que, a ver si alguien me puede sugerir una forma de hacerlo, os describo cómo funciona y me comentais como lo haríais.

En una bbdd para la realización de compras, tengo un subformulario que contiene los productos que conforman el pedido, que en este caso será papel higiénico. (formulario activo)

Imagen

Al cargar el pedido, este sub-formulario me arroja el contenido que en este caso es X cantidad de la ref j282500

Automáticamente en el sub-formulario de abajo me devuelve todos los pedidos que contengan esta referencia ( que en este caso son 4).
Aplicó un promedio entre las 4 fechas anteriores con la intención de que me devuelva la media en días (es decir cada cuanto pido esta referencia) a veces puede tardar 28 días o 13 o incluso 100 y quiero que me haga una media para saber un valor aproximado.

Pero acces solo me devuelve un número entero para cada valor. 43502, 43515 etc.

He realizado los cálculos en excel:

Imagen

y esto es lo que me gustaría obtener, es decir, cada 56 días aprox realizo un pedido de papel higiénico.

Me he mirado la ayuda de access y no hay manera.

A ver si alguien me puede orientar.

Muchisimas gracias por vuestra ayuda.

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 1122
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Promedio

Mensajepor Sveinbjorn » Mié Oct 30, 2019 11:28 am

Lo que pides no es tan sencillo como te pueda parecer, porque tú no quieres hacer un promedio de fechas, sino un promedio entre diferencia en días de fechas consecutivas, que no es lo mismo, ni parecido....

Por otro lado, no sé como calculas el promedio, pero no lo estás haciendo bien, porque esos números que te salen como "promedio", son las mismas fechas que tienes en cada registro (por si no lo sabes, para Access las fechas son un número, correspondiendo el 0 al 30 diciembre 1899). Esto lo puedes comprobar si en la ventana de inmediato del editor de VBA pones ?Cdate(43474), al pulsar INTRO te devolverá 09/01/2019.

Para resolver tu problema, has de hacer las mismas operaciones que en Excel, es decir, sacar los días que hay entre dos fechas consecutivas (para lo que tendrías que tenerlas ordenadas) y hacer el promedio sobre esos días. Pero eso no es hago que puedas hacer solamente con la función Promedio en una consulta de totales, como creo que estás haciendo...

Busca por el foro (o en la web de Neckkito) cómo hacer cálculos entre un registro y el registro anterior y a partir de ahí sigues con el promedio.
Sveinbjorn El Rojo

yosoymonster
Nivel 2
Mensajes: 34
Registrado: Mié Sep 25, 2019 9:39 am

Re: Promedio

Mensajepor yosoymonster » Mié Oct 30, 2019 4:11 pm

Gracias, voy a investigar.

Avatar de Usuario
Fayad
Colaborador
Mensajes: 355
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Promedio

Mensajepor Fayad » Jue Oct 31, 2019 5:02 pm

Hola!

Me pudo la curiosidad y preparé un ejemplo, espero que te sirva:

http://www.filebig.net/files/xV4tJuD8JF
Salu2.

yosoymonster
Nivel 2
Mensajes: 34
Registrado: Mié Sep 25, 2019 9:39 am

Re: Promedio

Mensajepor yosoymonster » Lun Nov 04, 2019 6:25 pm

Muchisimas gracias @Fayad, que facil es cuando lo ves hecho. :)

Aun así no consigo que me funcione, diseño la consulta tal cual la tuya,

Imagen

pero me arroja este mensaje.

Imagen

Gracias

Avatar de Usuario
Fayad
Colaborador
Mensajes: 355
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Promedio

Mensajepor Fayad » Lun Nov 04, 2019 7:25 pm

Hola!

Abre la consulta en vista SQL, y quita los corchetes que encierran el nombre de las dos tabla y sus correspondientes campos: Sería:

SELECT………., DateDiff("D",ADJUNTAFECHA.FECHAEXPEDICION,Min(ADJUNTAFECHA_1.FECHAEXPEDICION)) AS Diferencia FROM……..

y guarda la consulta sin abrir vista de diseño y así la tienes creo. Suerte
Salu2.

yosoymonster
Nivel 2
Mensajes: 34
Registrado: Mié Sep 25, 2019 9:39 am

Re: Promedio

Mensajepor yosoymonster » Lun Nov 04, 2019 8:08 pm

No hay manera

Imagen

Este es el mensaje que arroja:

Imagen

Avatar de Usuario
Fayad
Colaborador
Mensajes: 355
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Promedio

Mensajepor Fayad » Lun Nov 04, 2019 8:30 pm

Hola!

pues no lo sé, intenta sustituir Group By ADJUNTAFECHA.NUMERO_COMPRA, ADJUNTAFECHA.REF por Group By ADJUNTAFECHA.FECHA_EXPEDICION, ADJUNTAFECHA.REF

Si no te resulta sube una copia de las tablas implicadas sin datos sensibles a ver.
Salu2.

Avatar de Usuario
Fayad
Colaborador
Mensajes: 355
Registrado: Mié Oct 28, 2015 9:43 pm

Re: Promedio

Mensajepor Fayad » Lun Nov 04, 2019 9:55 pm

Hola!

Esta SQL me funciona perfectamente:

Código: Seleccionar todo

SELECT ADJUNTAFECHA.NUMERO_COMPRA, ADJUNTAFECHA.REF, ADJUNTAFECHA.FECHA_EXPEDICION, Min(ADJUNTAFECHA_1.FECHA_EXPEDICION) AS FECHA_SIGUIENTE, DateDiff("d",[ADJUNTAFECHA].[FECHA_EXPEDICION],Min([ADJUNTAFECHA_1].[FECHA_EXPEDICION])) AS Diferencia
FROM ADJUNTAFECHA LEFT JOIN ADJUNTAFECHA AS ADJUNTAFECHA_1 ON ADJUNTAFECHA.REF = ADJUNTAFECHA_1.REF AND ADJUNTAFECHA_1.FECHA_EXPEDICION>ADJUNTAFECHA.FECHA_EXPEDICION
GROUP BY ADJUNTAFECHA.NUMERO_COMPRA, ADJUNTAFECHA.REF, ADJUNTAFECHA.FECHA_EXPEDICION;
Salu2.


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados