Tabela no iReport

8 respostas
S

Hellow…

Estou tendo alguns probleminhas com a criação de relatórios em forma de tabela no iReport.
Sei que devo utilizar o crosstab pra fazer isso, mas não faço a menor idéia de como manipulá-lo corretamente…

Se alguém possuir alguma apostila, tutorial, dica, ou sei lá, qualquer coisa que possa me ajudar, eu fico MUITO AGRADECIDO!

PS: Uso o iReport 1.2.7

Valew :smiley:

se quiserem me add no msn pra trocar algum papo sobre, à vontade…
[email removido]

8 Respostas

brlima

Posso tentar ajudar mas praciso saber a sua duvida…

Só adiantando:
O crosstab é bom para trabalhar com referencia cruzada (matrix), tipo “valor total de compra de um item por cliente”, coisas do tipo. Se vc ja tem uma informação desse tipo, sabe do que to falando.

Falô.

S

Tenho que criar um relatório para agropecuária, mais precisamente sobre o nº de animas vendidos nessa configuração:

idade X raça

± assim:


RACA "X"      RAÇA "Y"       TOTAL

IDADE
24 35 34 69
32 23 12 35

37 21 28 49

TOTAL 79 74 153

Só que eu não sei como fazer!!!
Quando eu executo o relatório, ele aparece apenas um quadrado vazio, mesmo quando o crosstab está com as células com suas devidas variáveis:
ex: $V{idade} / $V{raca}

Deu pra entender meu problema e se pode me ajudar?
Valew mesmo!

brlima

me passa o sql que vc tá usando…

S

SELECT ANIM_ID_CIA,
CIA_NOME,
TRUNC( ANIM_DT_TRANSACAO,‘MM’ ) DATA,
ANIM_IN_SEXO SEXO,
DECODE( SIGN( ROUND(MONTHS_BETWEEN(ANIM_DT_TRANSACAO,ANIM_DT_NASCIMENTO)) - 37 ), 1, ‘>’||‘37’, ROUND(MONTHS_BETWEEN(ANIM_DT_TRANSACAO,ANIM_DT_NASCIMENTO))) IDADE,
RACA_NOME RACA,
COUNT(*) CONT

FROM CIAS, AG_ANIMAIS, AG_RACAS

WHERE ANIM_ID_TRANSACAO IN (2,5,14)
AND ANIM_ID_CIA = 2
AND ANIM_DT_TRANSACAO BETWEEN TO_DATE( ‘01/01/06’, ‘DD/MM/YY’) AND TO_DATE( ‘28/02/06’, ‘DD/MM/YY’)
AND ANIM_ID_RACA = RACA_ID_RACA
AND CIA_ID_CIA = ANIM_ID_CIA

GROUP BY TRUNC( ANIM_DT_TRANSACAO,‘MM’ ),
DECODE( SIGN( ROUND(MONTHS_BETWEEN(ANIM_DT_TRANSACAO,ANIM_DT_NASCIMENTO)) - 37 ), 1, ‘>’||‘37’,
ROUND(MONTHS_BETWEEN(ANIM_DT_TRANSACAO,ANIM_DT_NASCIMENTO))),
RACA_NOME,
ANIM_IN_SEXO,ANIM_ID_CIA, CIA_NOME

ORDER BY IDADE DESC

O visual fica desconfigurado devido a remoção de espaço do fórum, mas axu q da pra entender…

brlima

Cara, assim…

Eu tentei recriar, e bati numa coisa: precisei crirar um Subdataset para funcionar. Na query principal coloquei qualquer coisas que retorna uma linha somente, tipo:

select sysdate from dual

no caso por ser Oracle.

Aí criei o crosstab usando um subdataset, tudo pelo wizard do proprio iReport.

E funcionou.

S

Só mais uma coisinha…

O wizard que vc usou foi o wizard do crosstab ou o principal?

pq eu criei a query principal igual a sua, dai eu criei a crosstab, e no wizard da crosstab eu fiz o subdataset com a minha query e mesmo assim…

quando eu executo, da um erro, ai eu vou na propriedade da tabela e coloco “increment type = report”. depois disso, eu ateh consigo gerar o relatório, só q soh aparece o sysdate e o contorno da tabela, sem valor nenhum dentro…

vou continuar fuçando aki, pois se vc conseguiu significa que é por esse meio…

mas de qualquer forma valew :smiley:

brlima

para o subdataset, utilizei o wizard dele mesmo. assim como para o crosstab.

que erro ele dá?

S

:slight_smile: Ei…
segui à risca o que vc fez…
praticamente comecei do zero…
e deu certo!!!

criei o subdataset pelo wizard dele mesmo…

valew pela dika…

Realmente o problema era a criação do subdataset…

Agradeço de novo kkkkk
:smiley: :smiley: :smiley: Valew

Apropósito, o erro sumiu! Nem sei pq, mas sumiu. Axo que era devido onde eu criava o subdataset, mas o q importa é que do seu jeito deu certo.

Criado 24 de outubro de 2006
Ultima resposta 24 de out. de 2006
Respostas 8
Participantes 2