Variável no IReport para contar quantos registros
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
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
Curtidas 0
Respostas
Davi Costa
18/08/2011
Posta seu select,pode ficar mais fácil p te ajudar.
att Davi
att Davi
GOSTEI 0
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
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
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
18/08/2011
Opa !
Conseguiste ? Caso positivo , por favor poderia fechar o chamado ?
Obrigado !
Conseguiste ? Caso positivo , por favor poderia fechar o chamado ?
Obrigado !
GOSTEI 0