Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 209
Poder: 15
ingel Va por buen camino
Tchart Grafico de lineas

Buendia a todos . Estoy necesitando graficar una consulta. He visto el componente Tchart ( que nunca he usado por cierto ) Lo que tengo que graficar son las ventas por dia por vendedor.
Necesito hacer un grafico de lineas en donde el eje x representaria cada dia , en el eje y estaria el monto
vendido y CADA LINEA seria UN VENDEDOR ...
si alguien pudiera exponer un ejemplo basico de como comenzar a desarrollar esto se lo agradeceria.
sobre todo en la creacion de las series que dependera de cuantos vendedores haya involucrados en ese periodo.
GRACIAS
Responder Con Cita
  #2  
Antiguo 10-03-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.474
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Echa un vistazo a los enlaces de abajo del todo de la página.
Responder Con Cita
  #3  
Antiguo 13-03-2017
Avatar de Neftali
Neftali Neftali is offline
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.317
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
¿De dónde salen los datos que tienes que mostrar?

Lo digo porque si el formato de los datos es el correcto, el gráfico casi sale de forma automática.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 13-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 209
Poder: 15
ingel Va por buen camino
grafico de lineas

Buendia Neftali , Gracias por tu respuesta !...
El dato que tengo que graficar es el Total Facturado por vendedor , por dia , y el TOTAL FACTURADO sale de varias consultas ( Facturacion - Notas de Credito + Ventas telefonicas = total Facturado )
y la cantidad de vendedores ( lineas del grafico ) salen al momento de hacer la consulta segun cuantos se encuentren involucrados en las ventas del periodo de fechas consultado ...
sds
Responder Con Cita
  #5  
Antiguo 14-03-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.792
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Un ejemplo básico:
Código SQL [-]
/* Tabla vendedores */
CREATE TABLE VENDORS (
    ID      INTEGER,
    NOMBRE  VARCHAR(20)
);

/* Tabla ventas */
CREATE TABLE VENTAS (
    ID       INTEGER,
    FECHA    DATE,
    VEND_ID  INTEGER,
    MONTO    NUMERIC(18,3)
);

Datos (VENDORS)
Código:
ID	NOMBRE
1	JUAN
2	PEDRO
3	ANA
4	MARIO
5	BEATRIZ
Datos (VENTAS)
Código:
ID    FECHA	     VEND_ID	MONTO
1     01.03.2017     1   	100
2     01.03.2017     1	         50
3     01.03.2017     2	        105
3     01.03.2017     3	        109
4     01.03.2017     4	         27
5     01.03.2017     5	        203

Delphi:
Código Delphi [-]
...
implementation

uses Series;

procedure TForm1.ShowChart( const Fecha: TDate );
var
  i : Integer;
  se: TBarSeries;
begin
  tuQuery.Close;
  tuQuery.SQL.Clear;
  tuQuery.SQL.Add( 'SELECT VD.NOMBRE AS NOMBRE, SUM(VT.MONTO) AS MONTO' );
  tuQuery.SQL.Add( 'FROM VENTAS VT JOIN VENDORS VD ON VT.VEND_ID = VD.ID' );
  tuQuery.SQL.Add( 'WHERE VT.FECHA = :FECHA' );
  tuQuery.SQL.Add( 'GROUP BY VD.NOMBRE' );
  tuQuery.ParamByName( 'FECHA' ).AsDate := Fecha;
  tuQuery.Open;

  for i := Chart1.SeriesCount-1 downto 0 do
    Chart1.Series[i].Free;

  while not tuQuery.Eof do
  begin
    se := TBarSeries.Create( Self );
    se.ShowInLegend := false;
    se.Add( tuQuery.FieldByName( 'MONTO' ).AsFloat,
            tuQuery.FieldByName( 'NOMBRE' ).AsString );
    Chart1.AddSeries( se );
    tuQuery.Next;
  end;
end;


// Ejemplo de llamada
procedure TForm1.btnShowClick( Sender: TObject );
begin
  ShowChart( StrToDate( '01/03/2017' ) ); 
end;

Salida:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 14-03-2017
Avatar de Neftali
Neftali Neftali is offline
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.317
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Me refería a que si los datos ya los tienes en una consulta/tabla (tal y como ha mostrado muy bien ecfisa) el gráfico te saldrá sólo.
Si no es así, te recomiendo utilizar un Stored Procedure para volcarlos en una tabla temporal (o cursor) y de ahí generar el gráfico.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 14-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 209
Poder: 15
ingel Va por buen camino
Gracias a TODOS por su ayuda !... ya lo tengo encamindo , una consulta mas ..
ya logre hacer una TLineSeries por vendedor , tengo el importe en el eje de las y las fechas en las x.
Solo me restaria crear una referencia para indicar que vendedor es ..
Por ejemplo con el mismo Color de la linea arriba a la derecha o en algun lugar poder poner el nombre del vendedor como referencia.
gracias
Responder Con Cita
  #8  
Antiguo 14-03-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 2.861
Poder: 13
newtron Va camino a la fama
Hola.

Si lo que quieres es poner, por ejemplo, un texto en el pie del gráfico puedes hacer lo siguiente:

Código Delphi [-]
  Chart1.Foot.Text.Clear ;
  Chart1.Foot.Text.Add ('Este es el texto');

Saludos
__________________
Be water my friend.
Responder Con Cita
  #9  
Antiguo 14-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 209
Poder: 15
ingel Va por buen camino
Gracias Newtron por tu respuesta ...
no es exactamente lo que quisiera .. Lo que yo tengo graficado son 'varias' lineas de diferentes colores, donde cada una representa a un vendedor . Lo que quisiera es poner en algun lado del grafico (quizas con alguna propiedad) una referencia de que linea corresponde a que vendedor ...
Ej -- Linea color Verde : PEDRO
Linea color Rojo : JOSE

Gracias por tu tiempo..
Responder Con Cita
  #10  
Antiguo 14-03-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.792
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola
Cita:
Empezado por ingel Ver Mensaje
...
Lo que quisiera es poner en algun lado del grafico (quizas con alguna propiedad) una referencia de que linea corresponde a que vendedor ...
Ej -- Linea color Verde : PEDRO
Linea color Rojo : JOSE
A ver si lo que buscas es algo así...

Código Delphi [-]
...
procedure TForm1.ShowChart(const Fecha: TDate);
var
  i : Integer;
  se: TBarSeries;
begin
  ...

  while not tuQuery.Eof do
  begin
    se := TBarSeries.Create( Self );
    se.Title := tuQuery.FieldByName('NOMBRE').AsString;        // <-- Leyenda
    se.Add( tuQuery.FieldByName('MONTO').AsFloat, se.Title );
    Chart1.AddSeries(se);
    tuQuery.Next;
  end;
end;


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 14-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 209
Poder: 15
ingel Va por buen camino
GRACIAS !! si.. eso es exactamente... le active la propiedad se.ShowInLegend := true;
y se ve la referencia perfectamente...
GRACIAS !
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Exepcion al cerrar form con Grafico (TChart) ElGatitoTapatio Gráficos 0 13-06-2011 23:50:00
Crear grafico con tchart Elite237 Gráficos 1 21-10-2008 17:51:43
Limpiar series de un Grafico ( TChart ) josem Gráficos 3 23-10-2005 03:06:50
TChart grafico mosorio Varios 3 26-08-2005 01:50:27
Grafico de Barras en TChart agonzalez Gráficos 1 12-02-2004 04:29:02


La franja horaria es GMT +2. Ahora son las 13:30:40.


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