Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   DBChart no me muestra todas las columnas (https://www.clubdelphi.com/foros/showthread.php?t=94636)

JoAnCa 05-05-2020 21:06:30

DBChart no me muestra todas las columnas
 
Hola a todos
Pues necesito mostrar un grafico de barras con los datos de una tabla mysql, que la filtro segun la seleccion de un combobox


Al abrir la aplicacion sin filtrar la tabla, me muestra todas las columnas (no es lo que quiero), pero cuando filtro segun la seleccion, no muestra todas las columnas del resultado del filtro, en cambio si muestra todos los resultados en la leyenda.
Por ejemplo, me muestra 5 elementos en la leyenda y solo 3 columnas, y en otros casos no muestra nada el grafico, aunque si en la leyenda muestra todo lo correcto :confused:


Como se podrá solucionar este problema?

cloayza 05-05-2020 23:20:51

Estimado JoAnCa

Es posible que los campos asociados a las series del gráfico no tengan valores o sean valores cero. Lo cual provoca que no se visualice la serie.

Le sugiero verificar en una grilla los datos resultantes del filtro aplicado y verificar si tiene valores ceros o nulos.

Saludos cordiales

JoAnCa 06-05-2020 00:59:50

Cita:

Empezado por cloayza (Mensaje 537095)
Estimado JoAnCa

Es posible que los campos asociados a las series del gráfico no tengan valores o sean valores cero. Lo cual provoca que no se visualice la serie.

Le sugiero verificar en una grilla los datos resultantes del filtro aplicado y verificar si tiene valores ceros o nulos.

Saludos cordiales


Pues no es el caso, ya que todos los valores son mayores que cero, ademas de que en otro grafico que hay valor cero, pone la barra sin tamaño, es decir se ve el espacio del color de la barra y le pone la etiqueta con el "0"

cloayza 06-05-2020 17:15:25

Estimado JoAnCa, puede aportar mas antecedentes, para intentar aportar en la solución de su problema.

Supuse que esta utilizando un DBChart...

De acuerdo a los pocos datos que entrega (Hacer filtro sobre tabla y mostrar barras en gráfico).

Mi ejercicio:

Base de datos: employe.fdb
Tablas:
Employee: Para mostrar antecedentes
Country: Con la que llenaré combobox y haré filtro sobre Employee

Código Delphi [-]
procedure TForm5.cboxCountryChange(Sender: TObject);
begin
     if cboxCountry.ItemIndex<=0 then
     begin
          Employee.Filtered:=false;
          //Si la linea siguiente no se refresca el gráfico...
          DBChart1.RefreshData;
          exit;
     end;

     Employee.Filtered:=false;
     Employee.Filter:=Format('JOB_COUNTRY=%s',[QuotedStr(cboxCountry.Text)]);
     Employee.Filtered:=true;

     //Si la linea siguiente no se refresca el gráfico...

     DBChart1.RefreshData;
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
     cboxCountry.Items.Clear;
     Countrys.Open;
     cboxCountry.Items.Add('All Country');
     while not Country.Eof do
     begin
          cboxCountry.Items.Add(Country.FieldByName('COUNTRY').AsString);
          Country.Next;
     end;
end;



Saludos cordiales

JoAnCa 07-05-2020 05:19:35

2 Archivos Adjunto(s)
Cita:

Supuse que esta utilizando un DBChart...
Pues si, lo que estoy usando es un DBChart, como dice el titulo del post.

Cita:

De acuerdo a los pocos datos que entrega (Hacer filtro sobre tabla y mostrar barras en gráfico).
Con el resultado del filtro no hay problemas, lo verifico con un datagrid.

Al parecer el problema esta en los parametros de configuracion del dbchart, que no los hago correctamente.
Hice unos cambios y ya me muestra todas las barras.

Pudieras explicarme como configurar correctamente los parámetros?
como se usa el parametro "stack", no me sale como quiero, si le pongo "none" me agrupa las barras en grupos de 2 o 3, y si le pongo "Side All" pone todas las barras como deseo pero en el eje x no pone todos los nombres.

Adjunto imagen del datagrid con los datos que deseo graficar (la columna SumVency AreaRespons)
Tambien adjunto como configure la serie con el datasource, no se si lo hice bien


La franja horaria es GMT +2. Ahora son las 17:37:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi