Gráfico em linhas com apex.

670 views
Skip to first unread message

joel zanata silva oliveira

unread,
Dec 4, 2012, 3:36:54 PM12/4/12
to treinamen...@googlegroups.com
Pessoal, boa tarde...
Primeiramente quero agradecer a oportunidade de participar do grupo de vocês.

Sou um tanto quanto novo no desenvolvimento apex e estou tendo dificuldade em montar um gráfico em linha com as seguintes informações:
  • Link = NULL
  • Label = Data
  • Value = Valor da tabela agrupado por item
  • Legenda= Descrição do item
Segue exemplo a baixo:

Até foi possível realizar o gráfico como podem ver, porém com os itens(legenda) fixos, porém posso ter uma infinidade de itens diferente dependendo da empresa.

O select que montei é básico repetindo para cada item:

SELECT NULL LINK, TO_CHAR(TRUNC(DAT_OCORRENCIA, 'MM'), 'MM/RR') label, VLR_OCORRENCIA "AÇÚCAR"

FROM "PAINEL_MENSAL"

WHERE FLG_TIPO='FT'

AND DES_OCORRENCIA='AÇÚCAR'


porém o que preciso é algo parecido com isso: 
 

SELECT NULL LINK

    , TO_CHAR(TRUNC(DAT_OCORRENCIA, 'MM'), 'MM/RR') label

    , VLR_OCORRENCIA valor

    , DES_OCORRENCIA legenda

FROM "PAINEL_MENSAL"

WHERE FLG_TIPO='FT'

GROUP BY DES_OCORRENCIA, DAT_OCORRENCIA,VLR_OCORRENCIA 

Porém ocorre um erro com o select acima. O APEX não reconhece como um select válido.

Alguém tem alguma ideia de como fazer isso dinâmico, ao invés de valores (legenda) fixo?

Desde já grato pela ajuda.

Att,
Joel Zanata

David Guilherme

unread,
Dec 5, 2012, 5:17:45 AM12/5/12
to treinamen...@googlegroups.com
Bom dia Joel, tudo bem?

Existe a possibilidade de nos enviar o erro?





Cordialmente,

David Ribeiro Guilherme
FBS Sistemas do Brasil
www.fbssistemas.com.br

ATENÇÃO: A utilização deste e-mail não implica em autorização ou outorga de poderes para seu usuário praticar qualquer ato em nome da empresa FBS Sistemas do Brasil, cuja representação considera-se válida se praticada exclusivamente por representante legal ou procurador devidamente constituído, na forma estabelecida em seu respectivo estatuto ou contrato social.



--
Você está recebendo esta mensagem porque se inscreveu no grupo "FBS Treinamento Apex" dos Grupos do Google.
Para cancelar a inscrição nesse grupo, envie um e-mail para treinamentoapex...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

joel zanata silva oliveira

unread,
Dec 5, 2012, 9:32:45 AM12/5/12
to treinamen...@googlegroups.com
Olá David, boa tarde... segue mensagem de erro:

Invalid chart query: SELECT NULL LINK, TO_CHAR(TRUNC(DAT_OCORRENCIA, 'MM'), 'MM/RR') label, VLR_OCORRENCIA valor, DES_OCORRENCIA legenda FROM "PAINEL_MENSAL" WHERE FLG_TIPO='FT' GROUP BY DES_OCORRENCIA, DAT_OCORRENCIA,VLR_OCORRENCIA

Use the following syntax:
SELECT LINK, LABEL, VALUE
FROM   ...
Or use the following syntax for a query returning multiple series:
SELECT LINK, LABEL, VALUE1 [, VALUE2 [, VALUE3...]]
FROM   ...
LINKURL
LABELText that displays along a chart axis.
VALUE1, VALUE2, VALUE3...Numeric columns that define the data values.
Note: The series names for Column and Line charts are derived from the column aliases used in the query.

joel zanata silva oliveira

unread,
Dec 5, 2012, 9:35:11 AM12/5/12
to treinamen...@googlegroups.com
Boa tarde...
Meu  grande problema é adicionar a legenda ao gráfico, pois já existe uma label e a mesma é diferente da legenda

Desde já grato.

Att,
Joel Zanata


Terça-feira, 4 de Dezembro de 2012 18:36:54 UTC-2, joel zanata silva oliveira escreveu:

Ricardo

unread,
Dec 5, 2012, 9:45:20 AM12/5/12
to treinamen...@googlegroups.com

joel zanata silva oliveira

unread,
Dec 12, 2012, 11:50:38 AM12/12/12
to treinamen...@googlegroups.com
Boa tarde pessoal, quero agradecer pelo auxílio que vocês me deram.
Ricardo Francisco, a sua dica foi sensacional, deu um norte de como solucionar o problema.
Quando finalizar o projeto vou postar aqui como ficou a solução.

Mais ainda gostaria de mais uma ajuda de vocês...
Alguém sabe como fazer para inverter os dados de um gráfico?
Por exemplo... supondo que eu traga no meu gráfico a data e o valor em locais invertido ao mostrado abaixo?
como fazer para mostrá-lo desde modo sem mexer no select? Isso é possível?

Desde já grato!
Att,
Joel Zanata

Terça-feira, 4 de Dezembro de 2012 18:36:54 UTC-2, joel zanata silva oliveira escreveu:

Ricardo

unread,
Dec 12, 2012, 11:52:07 AM12/12/12
to treinamen...@googlegroups.com
Disponha... utilizei esse tipo de implementação recentemente.

Não consegui entender qual sua outra dúvida. Pode explicar melhor?
abs
--

joel zanata silva oliveira

unread,
Dec 12, 2012, 12:15:12 PM12/12/12
to treinamen...@googlegroups.com
Bom é assim...
Consegui fazer com que o gráfico fique dinâmico seguido as instruções do blog, porém ele está estourando o valor de caracteres da variável que é de 4000.
conversando com amigos analistas em SLQ Oracle aqui da empresa, foi sugerido que colocasse esses valores em outras tabelas porém invertida... exemplo:

Hoje tenho a tabela assim... porém o ideal em nosso caso é que os messes fossem as colunas e o produto as linhas. pois vou ter uma infinidade de produtos e apenas 12 meses, entende?
A questão é... quando fiz assim o gráfico fica invertido, a label, a legenda e os valores.

Desde já grato!


Terça-feira, 4 de Dezembro de 2012 18:36:54 UTC-2, joel zanata silva oliveira escreveu:

Ricardo

unread,
Dec 12, 2012, 12:17:04 PM12/12/12
to treinamen...@googlegroups.com
Continuo sem entender.

Sua query não é gerada por uma função?
Acredito que este não seja o problema. Faça um teste. rode a aplicação em modo depurador e veja o xml do gráfico
--

joel zanata silva oliveira

unread,
Dec 12, 2012, 3:14:01 PM12/12/12
to treinamen...@googlegroups.com
Acredito que não fui muito claro, vamos tentar novamente.
A query é gerada de uma função que gera a tabela da seguinte forma:

E o Gráfico fica assim: 

Porém não consigo gerar mais que 5 meses e vou precisar de um ano... isso porque a variável é do tipo VCHAR2 que só aceita 4000 carácter.

Dai vei a ideia de criar uma triger onde alimentaria uma tabela temporária onde os dados ficaria assim:

Porém o gráfico fica assim:

O que na verdade eu queria é fazer os dados desta tabela:

Aparecer assim:

só não sei como fazer isso? se é pelo XML?? Ou se existe alguma configuração para isso... sei que no FORMS/REPORTS ele tem mais no APEX não sei....

Desde já grato pela grande ajuda de vocês.


Att,

Joel Zanata







Terça-feira, 4 de Dezembro de 2012 18:36:54 UTC-2, joel zanata silva oliveira escreveu:

Ricardo Francisco

unread,
Dec 12, 2012, 3:22:27 PM12/12/12
to treinamen...@googlegroups.com
acho que sei o que é.

qual a versão do apex que está utilizando? qual o tipo do gráfico? flash ou html5?


Em 12 de dezembro de 2012 18:14, joel zanata silva oliveira <joelz...@gmail.com> escreveu:
isso porque a variável é do tipo VCHAR2 que só aceita 4000 carácter.



--
Ricardo Luiz Francisco

"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota." Theodore Roosevelt

joel zanata silva oliveira

unread,
Dec 12, 2012, 3:30:48 PM12/12/12
to treinamen...@googlegroups.com
Apex 4.2 gráfico HTML5


Terça-feira, 4 de Dezembro de 2012 18:36:54 UTC-2, joel zanata silva oliveira escreveu:

Ricardo Francisco

unread,
Dec 12, 2012, 3:33:43 PM12/12/12
to treinamen...@googlegroups.com
bingo!!! temos um bug nesta versão. no tipo html5 não aparecem as schroll bars.
tente mudar para flash e testar.


Apex 4.2 gráfico HTML5
--
Você está recebendo esta mensagem porque se inscreveu no grupo "FBS Treinamento Apex" dos Grupos do Google.
Para cancelar a inscrição nesse grupo, envie um e-mail para treinamentoapex...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

joel zanata silva oliveira

unread,
Dec 12, 2012, 3:38:28 PM12/12/12
to treinamen...@googlegroups.com
Então Ricardo, fica igual preciso como se fosse inverter o gráfico.
Ou seja pegar os dados que aparece na vertical e mostrar na horizontal.

Obrigado! 


Terça-feira, 4 de Dezembro de 2012 18:36:54 UTC-2, joel zanata silva oliveira escreveu:
Reply all
Reply to author
Forward
0 new messages