Mostrar resumen de datos de una Tabla en un Grid

Hola Experto,

En un Grid deseo mostrar el resumen de los datos contenidos en una Tabla.

Supongamos que en una Tabla tengo los campos: Empresa, Area, Funcionario.

En en campo EMPRESA guadro los nombre de las empresas; en el campo AREA guardo el nombre del área de trabajo (unidad o departamento) y en el campo FUNCIONARIO guardo el nombre de la persona, que trabaja en esa área, dentro de la empresa en cuestión.

Entonces, si por ejemplo en la tabla tengo los siguientes datos:

EMPRESA, AREA, FUNCIONARIO

TodoExpertos, VisualFox, HectorCP

TodoExpertos, VisualFox, Ravven

TodoExpertos, MSExcel, MrTool

TodoExpertos, MSExcel, ElsaMatilde

PortalFox, VisualFox, LuisMaria

Deseo que en un Grid se muestre:

EMPRESA, AREA, N° FUNCIONARIOS

TodoExpertos, VisualFox, 2

TodoExpertos, MsExcel, 2

PortalFox, VisualFox, 1

En resumen deseo que en el Grid se muestre el conteo de funcionarios por cada AREA para cada EMPRESA. Algo así como se haría en Excel mediante Tablas Dinámicas.

Gracias por tu ayuda. Saludos!

1 respuesta

Respuesta
1

Pues tendrías que hacer un cursor para sacar el resumen y luego mostrar dicho cursor en un grid, el cursor quedaría así

select empresa,area,count(funcionario) as nfuncionarios from nombretabla group by empresa,area into cursor cresumen

thisform.grid1.recordsource = 'cresumen'

Thisform. Grid1. Refresh

Basicamente con eso podrias hacerlo.

Excelente, pero una ayuda más por favor. Si el ejemplo lo complico un poco más de la siguiente forma:

Si por ejemplo en la tabla tengo los siguientes datos:
EMPRESA, ÁREA, FUNCIONARIO, RESULTADO
TodoExpertos, VisualFox, HectorCP, Aprobado
TodoExpertos, VisualFox, Ravven, Reprobado
TodoExpertos, MSExcel, MrTool, Aprobado
TodoExpertos, MSExcel, ElsaMatilde, Aprobado
PortalFox, VisualFox, LuisMaria, Aprobado

Y deseo que en un Grid se muestre:
EMPRESA, ÁREA, N° FUNCIONARIOS, APROBADO, REPROBADO
TodoExpertos, VisualFox, 2, 1, 1
TodoExpertos, MsExcel, 2, 2, 0
PortalFox, VisualFox, 1, 1, 0

En resumen, ahora ese conteo, que muestre cuantos aprobados y reprobados existen.

Nota: Intenté hacerlo con el cursor agregando "Count(Resultado=[Aprobado]), pero nada igual me sigue mostrando la cantidad total de funcionarios, sin discriminar a aprobados y reprobados.

Gracias.

Bueno en ese caso creo que el select quedaría así

select empresa,área,count(funcionario),count(iif(resultado='APROBADO',0,resultado) as naprobado,count(iif(resultado = 'REPROBADO',0,resultado)) as nreprobado from nombretabla group by empresa,área into cursor cresumen

Pruebalo de esa manera haber si te resulta y sino pues me comentas que resultado te da

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas