Foros del Web » Programando para Internet » ASP Clásico »

AVG(q1) ... ¡qué lío!

Estas en el tema de AVG(q1) ... ¡qué lío! en el foro de ASP Clásico en Foros del Web. Estimados amigos, Deseo calcular la media aritmética de cuatro columnas; para ello empleo AVG(q1) ... strsql = "SELECT Avg(q1) as media1, Avg(q2) as media2, Avg(q3) ...
  #1 (permalink)  
Antiguo 13/04/2004, 14:18
AZP
 
Fecha de Ingreso: junio-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
AVG(q1) ... ¡qué lío!

Estimados amigos,

Deseo calcular la media aritmética de cuatro columnas; para ello empleo AVG(q1) ...

strsql = "SELECT Avg(q1) as media1, Avg(q2) as media2, Avg(q3) as media3, Avg(q4) as media4 from Encuesta"

-empleo la base de datos Access 2000-

El problema reside en que si algún individuo deja una pregunta sin señalar, la celda en la base de datos queda en blanco y me da error en la estimación de la media apareciendo este mensaje de error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

No puedo poner ningún valor por defecto en la BD, porque desvirtuaría el valor de la media.

¿Qué hago?

Un saludo,

AZP
  #2 (permalink)  
Antiguo 13/04/2004, 14:45
AZP
 
Fecha de Ingreso: junio-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
También quisiera preguntaros si es posible aplicar esta función a formato texto en la BD.
  #3 (permalink)  
Antiguo 13/04/2004, 14:45
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Organizar de otra forma tu DB, es la única opción que se me ocurre.
Poner una TABLA ASÍ:
ID ENCU_ID USER_ID OPC

Y cada voto se registra en un nuevo registro. Luego, simplemente recoges los datos relativos a la encuesta ENCU_ID le haces un AVG en un bucle

No se si me explico T_T
__________________
Tu portal de manga y anime.
  #4 (permalink)  
Antiguo 14/04/2004, 00:06
AZP
 
Fecha de Ingreso: junio-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
Lo siento; no entendí nada

¿Una solución algo primitiva podría ser encadenar Where?

Es decir, considerar aquellos valores >= 1; ¿cómo se encadenan Where's?


¿Where q1 >= 1 AND q2 >= 1 ...?

Gracias,

AZP
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:32.