Autor Tópico: Gráficos TOP 5, TOP 10 e TOP 20  (Lida 2498 vezes)

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Gráficos TOP 5, TOP 10 e TOP 20
« Online: Setembro 21, 2012, 11:21:26 am »
Olá pessoal eu tenho esse SQL que pega os TOP 5 clientes com mais atendimentos:

Código: [Selecionar]
SELECT COUNT( CHA001_ID ) , CLI002_ID
FROM cha001
GROUP BY CLI002_ID
ORDER BY COUNT( CHA001_ID ) DESC
LIMIT 5

Como eu faço para o scriptCase gerar um gráfico disso?

Eu tentei colocar esse SQL na consulta mas não funciona o gráfico alguém já fez algo parecido.

Grato
-- Design ou programador eis a questão.

Haroldo

  • Expert
  • *****
  • Mensagens: 6268
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #1 Online: Setembro 21, 2012, 11:29:20 am »
coloque um alias para  o count.
que tipo de grafico?

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #2 Online: Setembro 21, 2012, 11:34:35 am »
O SQL está funcionando com alias sem alias, o problema é que não consigo fazer o gráfico de barras do SC.

Por que pra função gráfico funcionar você tem que colocar um Group By mas no SQL já tem um group By ai da conflito e sem o group by no SQL os resultados vem ERRADO.
-- Design ou programador eis a questão.

Haroldo

  • Expert
  • *****
  • Mensagens: 6268
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #3 Online: Setembro 21, 2012, 11:41:39 am »
para ter grafico vc tem que colocar quebra na consulta, coloque quebra pelo CLI002_ID
e coloque alias no select da consulta.

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #4 Online: Setembro 21, 2012, 11:51:53 am »
Erro ao acessar o banco de dados
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'asc LIMIT 0,12' at line 1
SelectLimit(SELECT CLI002_ID from cha001 group by CLI002_ID order by CLI002_ID asc, topchamado DESC LIMIT 5 asc, 12, 0)


?????  Por que ele acrescenta asc LIMIT 0,12 ?
-- Design ou programador eis a questão.

Haroldo

  • Expert
  • *****
  • Mensagens: 6268
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #5 Online: Setembro 21, 2012, 11:56:33 am »
por que o sc tem que paginar a consulta, manda rodar todos os registros, não paginar.

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #6 Online: Setembro 21, 2012, 11:59:15 am »
Eu coloquei pra gerar o gráfico direto e usei o modo debug esse SQL que ele usa pra gerar o gráfico:

(mysqlt): select count(*) from cha001 group by CLI002_ID 
(mysqlt): select count(*), CLI002_ID from cha001 group by CLI002_ID order by CLI002_ID asc

E não o meu, entende?

Se você tiver um tempo ai tente simular um gráfico com um SQL parecido.
-- Design ou programador eis a questão.

Haroldo

  • Expert
  • *****
  • Mensagens: 6268
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #7 Online: Setembro 21, 2012, 01:34:26 pm »
crie uma view para esse select que acredito que vai funcionar.

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #8 Online: Setembro 21, 2012, 02:55:52 pm »
Nada, usando a view ele faz a mesma coisa.... vou te mostrar o que ele faz e o que eu quero, porque eu acho que não tem como:

1 - Eu tenho uma tabela Chamados que tem ID e tem Clientes, o que eu faço:

• Eu crio uma aplicação de consulta com o SQL da tabela de chamados;

• Coloco pra iniciar em modo gráfico;

• Coloco a quebra por cliente, Descendente;

• Voile!  Temos uma gráfico de atendimentos por clientes.

Problema
Eu tenho mais de 300 clientes com atendimentos e todos aparecem no gráfico.

Solução:

TOP 5
Código: [Selecionar]
SELECT COUNT( CHA001_ID ) as registros , CLI002_ID
FROM cha001
GROUP BY CLI002_ID
ORDER BY registros DESC
LIMIT 5

TOP 10
Código: [Selecionar]
SELECT COUNT( CHA001_ID ) as registros , CLI002_ID
FROM cha001
GROUP BY CLI002_ID
ORDER BY registros DESC
LIMIT 10

Mesmo criando views.

Ai tenho a solução eu faço isso em um grid html blz, consegui fazer um relatório. Mas o que queremos é o gráfico e na hora de montar o gráfico não funciona.

Inconformado estou com essa situação, eu só queria que o gráfico usasse meu sql, ou me desse uma opção de pegar os TOP 5, TOP 10 clientes que mais tem atendimento.
-- Design ou programador eis a questão.

Haroldo

  • Expert
  • *****
  • Mensagens: 6268
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #9 Online: Setembro 21, 2012, 03:02:11 pm »
o limit tem que estar no select da view não no sql da consulta.

Robert Berbert

  • Expert
  • *****
  • Mensagens: 769
  • Desenvolver é sempre estar se atualizando.
    • Conesoft
    • Email
Re:Gráficos TOP 5, TOP 10 e TOP 20
« Responder #10 Online: Setembro 21, 2012, 03:05:47 pm »
Mas o limite está no SQL da view!

TOP 5 e TOP 10 são 2 views

view: top5
view: top10
-- Design ou programador eis a questão.