iReport

10 respostas
R

É possível deixar um parâmetro em uma cláusula group by no iReport?
Dá erro quando executo o relatório.

Erro:
ORA-00979: not a GROUP BY expression

Mas todos os campos estão no group by.

Alguém pode me ajudar???

10 Respostas

C

Por favor coloque sua expressão inteira para podermos te ajudar!

M

Estou com o mesmo problema…

Tenho uma query que se eu colocar os valores manualmente no group by ela executa… já se eu deixar o parametro $P{P_DT_COMPETENCIA} acontece o mesmo erro do amigo.

ORA-00979: not a GROUP BY expression

Alguém sabe informar algo?

drsmachado

Ahn… Eu sou absoluta e totalmente contra deixar o relatório conectar-se ao banco de dados.
Em que momento, dentro de uma arquitetura em camadas, um relatório (que é apresentado ao usuário) tornou-se parte da camada modelo?
É muito mais simples fazer pela aplicação e apenas enviar tudo pronto para ele (através de JRDataSource).

M

Realmente amigo, mas infelizmente não posso mudar a arquitetura dos relatórios na empresa em que trabalho.

Assim, no momento procuro solucionar este problema com o que tenho mesmo.

Valeu pela ajuda.

pdpbom

renaiosPJ:
É possível deixar um parâmetro em uma cláusula group by no iReport?
Dá erro quando executo o relatório.

Erro:
ORA-00979: not a GROUP BY expression

Mas todos os campos estão no group by.

Alguém pode me ajudar???

Olha por conhecimento SQL não de IReport…

manda o SQL que é executado

todos os campos devem estar no group by até mesmo os do order by …

Muitas vezes o pessoal coloca os campos de exibição e se esquecem dos que não são expostos.

drsmachado

morgoth:
Realmente amigo, mas infelizmente não posso mudar a arquitetura dos relatórios na empresa em que trabalho.

Assim, no momento procuro solucionar este problema com o que tenho mesmo.

Valeu pela ajuda.


Pode sugerir tal mudança.
Pegue a query, jogue no editor de SQL preferido e veja se ocorre o mesmo erro.
Não creio que seja o parâmetro que está causando isto, embora possa ser.

M

O SQL está correto, é tanto que quando o executo sem os parametros o relatório funciona normalmente.

Em resumo a sql é assim

SELECT …
,Months_Between( Trunc(To_Date( $P{P_DT_COMPETENCIA}, ‘YYYYMM’), ‘MM’ ), Trunc( VFU.DT_VENDA, ‘MM’ ) ) AS “Nº Parcela”
FROM…
GROUP BY…

,Months_Between( Trunc(To_Date( $P{P_DT_COMPETENCIA}, ‘YYYYMM’), ‘MM’ ), Trunc( VFU.DT_VENDA, ‘MM’ ) )

Na query acima se eu trocar o $P{P_DT_COMPETENCIA} por ‘201205’ por exemplo o relatório funciona normalmente…

Caso eu deixe o parametro acontece o erro ORA-00979

drsmachado

E, esse parâmetro, $P{P_DT_COMPETENCIA}, é do tipo? String, Date? Long? Double? Float?

M

String! Mas também já tentei mudar para Date.

drsmachado

E o formato é compatível com o pattern que está passando (‘YYYYMM’)?
Desculpe se pareço óbvio, mas isso pode interferir de maneira negativa na query.

Criado 19 de julho de 2007
Ultima resposta 23 de mai. de 2012
Respostas 10
Participantes 5