Ordenar por variavel ireport

150 views
Skip to first unread message

Rosi

unread,
Jul 2, 2018, 3:40:22 PM7/2/18
to JasperReports / iReport Brasil
Boa tarde!
tenho um relatório no ireport com uma coluna "soma.vl-total" e no final, uma variável com a soma valor do total: $V{soma.vl-total}.
Preciso que o relatorio seja impresso por ordem por ordem decrescente do campo $V{soma.vl-total}, 
tentei usar o  SUM(soma.vl-total) desc, mas não ordena.
Como posso fazer isso?
obrigada!

Denis - Gmail

unread,
Jul 2, 2018, 4:58:06 PM7/2/18
to jasperreports-...@googlegroups.com

Boa Tarde


minha cara uma duvida, seus dados estao vindo de JavaBeans?  Por que se estiver vou recomendar que organize antes de enviar para o relotorio. Agora se for por sql vou dizer para usar um order by na sua pesquisa. Então qual forma esta usando ?

--
Você recebeu essa mensagem porque está inscrito no grupo "JasperReports / iReport Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jasperreports-irepor...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Rosi

unread,
Jul 3, 2018, 9:58:37 AM7/3/18
to JasperReports / iReport Brasil
Bom dia Denis! obrigada por responder!
os campos vem alimentado de um banco de dados. Fiz a variável soma no ireport, arrastando o campo para o group footer.
Precisaria fazer está ordenação na query do ireport.
Será que da pelo order by? não estou conseguindo pq ele não aceita a variável no order by, né? daí tentei usar o "sum" no campo mas não faz a ordenação.

Minha query por exemplo:
SELECT
     "tabela"."cd-cliente" AS "tabela.cd-cliente",
     "tabela"."data" AS "tabela.data",
     "tabela"."vl-total" AS "tabela.vl-total"
FROM
     "tabela"
WHERE
     "tabela"."id" = $P{id}
ORDER BY
     "tabela"."cd-cliente",
     "tabela"."data",
     SUM("tabela"."vl-total") desc

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jasperreports-ireport-brasil+unsub...@googlegroups.com.

Denis - Gmail

unread,
Jul 3, 2018, 10:08:08 AM7/3/18
to jasperreports-...@googlegroups.com

Bom dia!


Tenho um exemplo que uso o gropu by e alias se vc nao usar o group by nao vai funcionar como vc quer ele precisa agrupar os registros para que realize a soma pegando o seu exemplo mude para algo assim.

SELECT
     "tabela"."cd-cliente" AS "tabela.cd-cliente",
     "tabela"."data" AS "tabela.data",
     "tabela"."vl-total" AS "tabela.vl-total"
        SUM("tabela"."vl-total") as SOMA
FROM
     "tabela"
WHERE
     "tabela"."id" = $P{id}
GROUP BY
     "tabela"."cd-cliente",
     "tabela"."data",
      "tabela"."vl-total"
   
ORDER BY
     SUM("tabela"."vl-total")  DESC

Esse ordem by pode talvez usar a sum nao me recordo agora é algo que so testando
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jasperreports-irepor...@googlegroups.com.

Alex Juchem

unread,
Jul 3, 2018, 10:15:51 AM7/3/18
to jasperreports-...@googlegroups.com
Bom dia, eu faria com uma subquery:

SELECT
    subquery.*
   
FROM (
    SELECT
        "tabela"."cd-cliente" AS cd_cliente,
        "tabela"."data" AS data,
        "tabela"."vl-total" AS vl_total,
        SUM("tabela"."vl-total") AS sum_vl_total


    FROM
        "tabela"

    WHERE
        "tabela"."id" = $P{id}

    GROUP BY
        "tabela"."cd-cliente",
        "tabela"."data",
        "tabela"."vl-total"
) AS subquery

ORDER BY
    subquery.sum_vl_total

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jasperreports-irepor...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Você recebeu essa mensagem porque está inscrito no grupo "JasperReports / iReport Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jasperreports-irepor...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Rosi

unread,
Jul 4, 2018, 11:43:45 AM7/4/18
to JasperReports / iReport Brasil
Boa tarde!
Obrigada pelas respostas!
por enquanto está dando erro quando uso o "Group by" na query do ireport:
error: [DataDirect][OpenEdge JDBC Driver][OpenEdge] Non-group-by expression in select clause (7641)
Pesquisando, vi que é algum problema no driver preciso verificar e alterar o driver ODBC..
assim que consegui posto aqui!
obrigada!
Reply all
Reply to author
Forward
0 new messages