Bienvenido, Invitado
Nombre de Usuario: Contraseña:

TEMA: [SOLUCION]Promediar valores agrupados por usuario

[SOLUCION]Promediar valores agrupados por usuario 5 años 7 meses antes #3973

  • sinclavos
  • Avatar de sinclavos
  • Fuera de línea
  • Fresh Boarder
  • Mensajes: 14
  • Karma: 0
Cabeciandome con lo que creía que sería mi monstruo verde descubrí que al final era más sencillo de lo que parecía, y quiero compartirlos con ustedes.

Tengo una tabla (#__notas) con dos columnas
Columna 1 = nombre de usuario
Columna 2 = notas parciales

Col 1 Col 2
Juan 5
Pedro 6
Juan 4
Pedro 5
Pedro 5
Juan 5

Quiero sacar el promedio de notas de Juan y Pedro y mostrar los promedios en una tabla en pantalla.


Con BREEZINGFORMS, Modo Clásico:

Creo un formulario llamado Totales. Creo una "Lista de Consulta" llamada "finales"
En esta lista de consulta pongo la siguiente Consulta:

global $database;

$database->setQuery(
"select avg(Col 2) AS avg,
sum(Col 2) AS sum,
count(Col 2) AS frec,
Col 1 ".
"from #__notas ".
"group by Col 1"
);
$rows = $database->loadObjectList();


Hay que reemplazar "Col 1" por el nombre de la columna donde estan los nombres o el ítem que quieran y la "Col 2" por el nombre de la columna donde están los valores que quieran promediar. Con esto llamamos y calculamos los datos dispersos de la tabla "notas" de nuestra BD.

Luego hay que crear los campos de la tabla que se quiere generar en la sección "Columnas" de nuestra "Lista de Consulta". En este caso los campos se llamaron: Nombre/Col 1; Suma/sum; Nº/frec; y Promedio/avg.

Y Listo.

El resultado es una tabla con el siguiente aspecto:


Nombre Suma Nº Promedio
Juan 54 10 5,4000000
Pedro 68 10 6,8000000

Por favor, no me pregunten como se redondean los números para quitar los ceros, porque aún no he llegado a esa parte, pero, sin desafíos (y uno que otro éxito) la vida no tendría el sabor que tiene.
Se que por ahí hay códigos que eliminan los ceros, pero no se si se podrán aplicar en este caso. Ya veremos.

Saludos community.
Última Edición: 5 años 7 meses antes por sinclavos.
El administrador ha desactivado la escritura pública.

Re: [SOLUCION]Promediar valores agrupados por usuario 5 años 7 meses antes #3974

  • willin
  • Avatar de willin
  • Fuera de línea
  • Administrator
  • Cuidado! Ya no estoy solo...
  • Mensajes: 1897
  • Gracias recibidas 44
  • Karma: 66
Estimado,

WOW!!! Como se nota que alguien está haciendo la tarea :) Muchas gracias por compartir tan valioso conocimiento con la comunidad, estoy seguro que a más de algún desarrollador en determinado momento le será muy últil la información.

Un cordial saludo, te felicito por tu aporte a la comunidad.
Guillermo Bravo
Administrador
Foro Joomla Chile
El administrador ha desactivado la escritura pública.




Re: [SOLUCION]Promediar valores agrupados por usuario 5 años 7 meses antes #3994

  • sinclavos
  • Avatar de sinclavos
  • Fuera de línea
  • Fresh Boarder
  • Mensajes: 14
  • Karma: 0
Debo agregar un Detalle que se me olvidó:

En el Script del Formulario de la Lista de Consulta hay que colocar el siguiente script:

Piezas del Formulario / Después del Formulario / Librería
FF::ff_InitLib


Sino la consulta puede quedar en blanco, oops.
El administrador ha desactivado la escritura pública.




Re: [SOLUCION]Promediar valores agrupados por usuario 5 años 6 meses antes #4159

  • overlord21
  • Avatar de overlord21
  • Fuera de línea
  • Fresh Boarder
  • Mensajes: 1
  • Karma: 0
hola tengo un problema casi parecido,
les explico...

tengo un formulario con los siguientes campos de ejemplo:
nombre,
telefono
direccion
correo
edad

este formulario aplicado logicamente al site de joomla osea en el frondend,

lo que yo necesito es administrar esos datos desde el frondend por decir

que cuando yo seleccione que me muestre los datos guardados por el formulario por decir que me muestre todos los datos guardados que tengan edad de 25 años y me muestre solo los que tienen 25 años.
El administrador ha desactivado la escritura pública.
Moderadores: gonzacha
Tiempo de carga de la página: 0.238 segundos
Gracias a Foro Kunena