É 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???
É 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???
Por favor coloque sua expressão inteira para podermos te ajudar!
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?
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).
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.
[quote=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???[/quote]
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.
[quote=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.[/quote]
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.
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
E, esse parâmetro, $P{P_DT_COMPETENCIA}, é do tipo? String, Date? Long? Double? Float?
String! Mas também já tentei mudar para Date.
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.