Variável no IReport para contar quantos registros

Java

18/08/2011

Bom dia!
Tenho uma coluna na minha query chamado de dependencia, essa coluna retorna "titular" ou "dependente". Então gostaria de fazer um count no meu relatório para saber quantos dependentes e quantos titulares eu tenho, porém não estou conseguindo fazer o calculo criando uma variável.
Ex:Coluna:  dependencia------------------------------ Dependente Titular Dependente Dependente Dependente Titular



Clecio Pessoa

Clecio Pessoa

Curtidas 0

Respostas

Davi Costa

Davi Costa

18/08/2011

Posta seu select,pode ficar mais fácil p te ajudar.

att Davi
GOSTEI 0
Clecio Pessoa

Clecio Pessoa

18/08/2011


  Segue minha query, quero fazer a quantidade de registro da coluna Dependência.

select c.numero_protocolo         Protoco,to_char(cb.cbn_cod_contrato)      Cod_contrato,       j.psj_razao_social         Razao_social,       b.ben_cod_beneficiario     cod_beneficiario,       f.psf_nome                 nome,       be.ben_cod_beneficiario    cod_beneficiario_t,       fi.psf_nome                nome_titular,       to_char(d.did_via)         Via,       d.did_data_validade        validade,       d.did_data_prevista_entrega Previsao_entrega,       case         when b.ben_tdd_codigo_tipo_dependenci <> 0           then 'Dependente'              else 'Titular'         end  as "Dependência"


from inf_doc_identificacao   d,     inf_benef               b,     inf_pessoas_f           f,     inf_benef              be,     inf_pessoas_f           fi,     inf_contratos           cb,     inf_juridicas          j,     unicentro.cto_protocolo_cartao c

where d.did_ben_cod_beneficiario = b.ben_cod_beneficiario  and f.psf_pss_cod_pessoa       = b.ben_pss_cod_pessoa  and cb.cbn_cod_contrato        = b.ben_plc_cbn_cod_contrato  and cb.cbn_pss_cod_pessoa      = j.psj_pss_cod_pessoa  and fi.psf_pss_cod_pessoa       = be.ben_pss_cod_pessoa  and be.ben_cod_beneficiario     = b.ben_ben_cod_beneficiario  and d.did_via                   = c.via(+)  and d.did_ben_cod_beneficiario  = c.codigo_beneficiario(+)  and cb.cbn_tipo_contrato       in ('L','I')  and b.ben_status               = 'A'  and cb.cbn_cod_contrato        between $P{Contrato Inicial}                                       and  $P{Contrato Final}   and d.did_status in ('2')  order by 1,6,3,4
GOSTEI 0
Davi Costa

Davi Costa

18/08/2011

É só uma idéia, mas vc pode criar outra coluna que seja o count desses registros:
idêntico ao anterior
...       case          when b.ben_tdd_codigo_tipo_dependenci <> 0           then count(b.ben_tdd_codigo_tipo_dependenci)              
         end  as "count_titulares",           case         when b.ben_tdd_codigo_tipo_dependenci = 0           then count(b.ben_tdd_codigo_tipo_dependenci)          end  as "count_dependentes"from inf_doc_identificacao   d,     inf_benef               b,     inf_pessoas_f           f,      inf_benef              be,     inf_pessoas_f           fi,     inf_contratos           cb,     inf_juridicas          j,      unicentro.cto_protocolo_cartao cwhere d.did_ben_cod_beneficiario = b.ben_cod_beneficiario   and f.psf_pss_cod_pessoa       = b.ben_pss_cod_pessoa  and cb.cbn_cod_contrato        = b.ben_plc_cbn_cod_contrato  and cb.cbn_pss_cod_pessoa      = j.psj_pss_cod_pessoa   and fi.psf_pss_cod_pessoa       = be.ben_pss_cod_pessoa  and be.ben_cod_beneficiario     = b.ben_ben_cod_beneficiario  and d.did_via                   = c.via(+)   and d.did_ben_cod_beneficiario  = c.codigo_beneficiario(+)  and cb.cbn_tipo_contrato       in ('L','I')  and b.ben_status               = 'A'   and cb.cbn_cod_contrato        between $P{Contrato Inicial}                                       and  $P{Contrato Final}   and d.did_status in ('2')
  group by b.ben_tdd_codigo_tipo_dependenci   order by 1,6,3,4
Ai ficaria para você pesquisar como pegar o valor mais alto dessas colunas que eu adicionei.
att Davi
GOSTEI 0
Dyego Carmo

Dyego Carmo

18/08/2011

Opa !

Conseguiste ? Caso positivo , por favor poderia fechar o chamado ?

Obrigado !
GOSTEI 0
POSTAR