Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonair

[Resolvido] TChart

Recommended Posts

Ola pessoal gostaria de saber se é possivel alterar a ordem dos dados mostrados num tchart

exemplo: o grafico mostra a porcetangem de votos de um candidato. O grafico e montando de acordo com a quantidade de votos:

 

10% 20% 30% 40%

 

nulos candidato1 não_opinaram candidato2

para isso estou usando as seguintes instruções

 

 

SQLGrafico1.Close;
SQLGrafico1.SQL.Clear;
SQLGrafico1.SQL.Add('select  votos, count(*) as TOTAL from pesquisa group by votos order by votos');
while (not SQLGrafico1.EOF)do
begin		   Chart1.Series[0].Add(SQLGrafico1.FieldByName('TOTAL').AsFloat,SQLGrafico1.FieldByName(votos).AsString,RGB(Random(255),Random(255
,Random(255)));
SQLGrafico1.Next;
end;
SQLGrafico1.Close;
_________________________

Eu gostaria de que as opçãos nulos e não_opinaram aparacam sempre no final

20% 40% 30% 10%

candidato1 candidato2 não_opinaram nulos

Compartilhar este post


Link para o post
Compartilhar em outros sites

select  votos, count(*) as TOTAL from pesquisa group by votos order by votos DESC

ou se não for DESC, tenta ASC

e vê como vai ficar seu grafigo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

select  votos, count(*) as TOTAL from pesquisa group by votos order by votos DESC

ou se não for DESC, tenta ASC

e vê como vai ficar seu grafigo..

 

 

ja tentei tb...mais dessa maneira pode ocorrer das opções não_opinaram não ficar no final

ex.:

 

 

cadidato3 - 3%

não_opinaram - 5%

 

 

valeu - obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser que isto seja feito automaticamente, teria de ter um campo no seu BD que dite a ordem que deve de ficar, sendo que depois colocar no order by o campo para ser ordenado.

 

 

AMIGO DENTRO DESSA TABELA EU TENHO UM CAMPO CHAMADO ORDEM.....QUE TRATA ISSO, MAIS QUANDO COLOCO NA INSTRUÇÃO DA ERRO;

 

SQLGrafico1.Close;

SQLGrafico1.SQL.Clear;

SQLGrafico1.SQL.Add('select ordem, votos, count(VOTO) as TOTAL from pesquisa group by votos order by ordem');

while (not SQLGrafico1.EOF)do

begin Chart1.Series[0].Add(SQLGrafico1.FieldByName('TOTAL').AsFloat,SQLGrafico1.FieldByName(votos).AsString,RGB(Random(255),Random(255

,Random(255)));

SQLGrafico1.Next;

end;

SQLGrafico1.Close;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa adicionar o campo no group by

 

SQLGrafico1.Close;
SQLGrafico1.SQL.Clear;
SQLGrafico1.SQL.Add('select ordem, votos, count(VOTO) as TOTAL from pesquisa group by ordem, votos order by ordem');
while (not SQLGrafico1.EOF)do
begin Chart1.Series[0].Add(SQLGrafico1.FieldByName('TOTAL').AsFloat,SQLGrafico1.FieldByName(votos).AsString,RGB(Random(255),Random(255
,Random(255)));
SQLGrafico1.Next;
end;
SQLGrafico1.Close;

No caso agora vai estar agrupando pela ORDEM e VOTOS...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa adicionar o campo no group by

 

SQLGrafico1.Close;
SQLGrafico1.SQL.Clear;
SQLGrafico1.SQL.Add('select ordem, votos, count(VOTO) as TOTAL from pesquisa group by ordem, votos order by ordem');
while (not SQLGrafico1.EOF)do
begin Chart1.Series[0].Add(SQLGrafico1.FieldByName('TOTAL').AsFloat,SQLGrafico1.FieldByName(votos).AsString,RGB(Random(255),Random(255
,Random(255)));
SQLGrafico1.Next;
end;
SQLGrafico1.Close;

No caso agora vai estar agrupando pela ORDEM e VOTOS...

 

Sim amigo agora deu certo, estava dando errado pois eu não estava agrupando pela ordem tb....valeu mesmo ficou Otimo...OBRIGADO

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.