Access - Excluir valores con 0

 
Vista:

Excluir valores con 0

Publicado por Fer (6 intervenciones) el 17/07/2006 14:06:14
Buenos días,

tengo una base de datos con series de 15 campos (horas1, horas2, etc). Quiero sacar el promedio de horas de todas las series total entre los 15 campos y quiero excluir los valores que sean 0 para que no me estropeen el promedio.
Si el promedio seria (horas1+horas2+horas3..../n veces), si tengo campos donde el valor es 0 no quiero que los tenga en cuenta.

Como lo puedo hacer? La expresión para el promedio ya funciona, pero necesito excluir los campos con valor 0 para que no me afecte a la división.

Saludos cordiales. Fer.
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 Alejandro

Calcular promedio de horas excluyendo valores 0

Publicado por Alejandro (4142 intervenciones) el 21/07/2023 19:39:01
Para calcular el promedio de horas excluyendo los valores 0 en una base de datos de Access con 15 campos de horas (horas1, horas2, ..., horas15), puedes utilizar una consulta que realice esta operación. Aquí te muestro cómo hacerlo:

1. Abre tu base de datos de Access y dirígete a la vista "Consultas".

2. Crea una nueva consulta en modo de diseño y selecciona la tabla donde se encuentran los campos de horas.

3. Agrega los 15 campos de horas a la cuadrícula de diseño.

4. Para calcular el promedio excluyendo los valores 0, debes utilizar la función IIf en combinación con la función Avg. La función IIf evalúa una condición y devuelve un valor dependiendo de si es verdadera o falsa. En este caso, la condición será que el valor del campo de horas sea diferente de 0.

5. En la cuadrícula de diseño, agrega una nueva columna en la fila de criterios de cada campo de horas y utiliza la función IIf para excluir los valores 0. Por ejemplo, para el campo "horas1", el criterio sería:

1
IIf([horas1] <> 0, [horas1], Null)

Esto devolverá el valor del campo "horas1" si es diferente de 0, y si es igual a 0, devolverá un valor nulo (Null).

6. Repite el paso 5 para los otros campos de horas (horas2, horas3, ..., horas15).

7. En la última columna de la cuadrícula de diseño, agrega la función Avg para calcular el promedio de las horas excluyendo los valores 0. Por ejemplo, si las columnas de criterio para los campos de horas son "Horas1Excluidas", "Horas2Excluidas", etc., entonces el criterio para el promedio sería:

1
Avg([Horas1Excluidas], [Horas2Excluidas], ..., [Horas15Excluidas])

8. Ejecuta la consulta y obtendrás el resultado del promedio de horas excluyendo los valores 0.

Con esta consulta, calcularás el promedio de horas teniendo en cuenta solo los campos de horas que no tengan un valor de 0, lo que te permitirá obtener el resultado deseado sin que los valores 0 afecten a la división.

Espero que esta solución te sea útil. ¡Saludos cordiales, Fer!
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