Ayuda con Gráfico de Columnas

Te cuento que no soy muy experta en programación y que me defiendo con las herramientas de Access.
Mi consulta es la siguiente: Necesito hacer un gráfico de barras para 2 series, en este caso una barra para el año 2008 y la otra para el 2009, con el gasto total que hizo una determinada área (que elijo mediante un cuadro combinado)
La información de los gastos las tengo en 2 consultas separadas, una para el año 2008 y otra para el 2009.
Ya conseguí hacer un gráfico para cada año por separado, pero me piden que ambos años queden en el mismo gráfico ya que es más claro para comparar. No sé como definir el Origen de la Fila del gráfico. Te cuento además que intenté hacer una sola consulta a partir de las otras 2 pero no resulta, me arroja un error como "Ha elegido campos de origen con los cuales no puede conectarse el asistente. Puede que haya elegido campos de una tabla y de una consulta basada en esa tabla..." lo que no entiendo porque sólo selecciono datos de dos consultas distintas y no sobre una tabla, aunque aclaro que ambas consultas provienen de la misma tabla, pero distintos registros.
Espero haberme explicado y ojalá me puedas ayudar que ya no sé que hacer.

1 respuesta

Respuesta
1
Hay una instrucción de Union para unir dos consultas que tengan las mismas estructura
Pro ejemplo:
Select a,b,c,d from Tabla1 where a=2008
union
Select a,b,x , z as d from Tabla1 where a=2009;
Como veras las consultas no tienen que tener los mismos campo pero tienen que ser del mismo tipo,
No se si esto te ayude, ¿pero si no..? Me ayudaría concer las consulta que esta usando por separado y que te funcionan, para darte una mejor respuesta
Mira, en ambas consultas tengo los siguientes campos:
Consulta1: proviene de dos tablas:
Una tabla que tiene el historial de cada elemento de seguridad entregado a los trabajadores de todas las áreas, pero durante el año 2008, es una especie de historial de todas las entregas de materiales que se hicieron a todas las áreas y a todos los trabajadores; y otra tabla que tiene el número de trabajadores que tuvieron cada una de las áreas durante el año 2008. Así, la Consulta1 la construí con los siguientes campos:
CodArea... Área.. Año... Costo... Trabajadores... Promedio1
Consulta 2: proviene de otras 2 tablas:
Las tablas son ídem a las 2 anteriores, pero con la información del año 2009. Los campos de la Consulta2 son:
CodArea... Área... Año... Costo... Trabajadores... Promedio2
Los Campos de las Consultas entonces son:
Cod Área: es el valor que el usuario ingresa desde un cuadro combinada para obtener información de un área que desea (esto está ya definido en la fila Criterio del diseño de ambas consultas, por lo que al ejecutarlas se ingresa el área y muestra todos los ítemes de la tabla de elementos de seguridad para ese CodArea)
Área: es el nombre del área
Año: para la Consulta1 es 2008, para todos los CodArea y para la Consulta2 es 2009
Costo: es el costo del implemento de seguridad de cada fila de las tablas del historial de elementos de seguridad.
Trabajadores: es el número de trabajadores que hubo en los años 2008 y 2009 en cada área, que provienen de las tablas mencionadas anteriormente. Acá lo que hice fue que en la consulta relacioné los Campos Años de las tablas "elementos de seguridad" y "Número de Trabajadores".
Promedio: es un campo calculado (Costo)/(Trabajadores). La razón de incluir este campo es por lo que sigue:
Necesito hacer una nueva consulta a partir de estas 2 anteriores que tenga la siguiente estructura:
Cod Area    Area.                                  SumaPromedio1    SumaPromedio2
1913 Prevención de Riesgos 152.000 125.000
Donde "SumaProm" es la sumatoria del Campo Promedio de las Consultas para cada área, ya que la idea es que a partir de esta consulta generaré el gráfico que me mostrará (para una determinada área, que obviamente ingresará el usuario) el monto total por trabajador que se gastó en implementos de seguridad.
Te cuento que probé lo que me dijiste con:
SELECT Sum([prom1]) FROM [Consulta1]
UNION SELECT Sum([prom2]) FROM [Consulta2];
Pero me deja ésas 2 Sum en una sola columna y no me deja agregar tampoco los campos del código y nombre del área ya que dice "no forman parte de la función de agregado", lo que no entiendo.
Espero haber explicado ahora más detalladamente lo que necesito y ojalá puedas ayudarme porque estoy bastante aproblemada con esto.
NOTA: Las tablas iniciales son tablas vinculadas a una planilla excel, por lo que no puedo establecer relaciones entre ellas.
en base a los campos que usas en tus consultas para que el promedio de cada año este en columnas diferentes la consulta podria ser
SELECT A.CodArea, A.Area,A.Año, A.Costo, A.Trabajadores, A.Promedio1 AS 2008, B.Promedio1 AS 2009 FROM CONSULTA1 AS A LEFT JOIN CONSULTA2 AS B ON (A.CodArea= B.A.CodArea AND  A.Area= B.Area)
Esto si Área es la llave de las dos consultas
Para la consulta de union que te sugerido que unas toda la conaulta no solo los nombres,
por ejemplo tu cosulta1 debe ser algo así (ver esa consulta me ayudaría mucho):
SELECT tutabla.codArea ..........from   tu tabla ...join....where.... =2008.....  etc
Para la union une las dos consultas
SELECT tutabla.codArea ..........from   tu tabla ...join....where.... =2008..... 
union
SELECT tutabla.codArea ..........from   tu tabla ...join....where.... =2009.....

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas