Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
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
  #2  
Antiguo 14-03-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 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
  #3  
Antiguo 14-03-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.288
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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
  #4  
Antiguo 14-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
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
  #5  
Antiguo 14-03-2017
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.471
Poder: 21
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
  #6  
Antiguo 14-03-2017
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
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
  #7  
Antiguo 14-03-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 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
Respuesta



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 17:42:08.


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
Copyright 1996-2007 Club Delphi