计算特定值 IReport 的行数
count number of rows of a specific value IReport
我有一列 Status
,我想计算有多少行是“Pendings
”,有多少行是“Finalized
”
我试过这个:
Variable class = java.lang.Integer
Calculation = Sum
ResetType = Report
Increment type = None
Variable expression = $F{tbl_suspensao_status}.equals("Finalized") ? 0 : 1
但是没有用。
查询:
SELECT
tbl_suspensao.`codigoBeneficiario` AS tbl_suspensao_codigoBeneficiario,
tbl_suspensao.`contrato` AS tbl_suspensao_contrato,
tbl_suspensao.`data_fim` AS tbl_suspensao_data_fim,
tbl_suspensao.`data_inicio` AS tbl_suspensao_data_inicio,
tbl_suspensao.`status` AS tbl_suspensao_status,
tbl_usuario.`nome` AS tbl_usuario_nome,
tbl_suspensao.`nomeBeneficiario` AS tbl_suspensao_nomeBeneficiario
FROM
`tbl_usuario` tbl_usuario INNER JOIN `tbl_suspensao` tbl_suspensao ON tbl_usuario.`codigo` = tbl_suspensao.`usuario_id`
WHERE
AND tbl_suspensao.`data_inicio` BETWEEN $P{Data_Inicio} AND $P{Data_Fim}
select
sum(if(Status = "Pendings", 1, 0)) Pendings,
sum(if(Status = "Finalized", 1, 0)) Finalized
from table
左右
select
sum(Status = "Pendings") Pendings,
sum(Status = "Finalized") Finalized
from t1
SELECT status, count(*) from table where status='pending' or status='finalized'
group by status
顺序 1 和 0 错误。将表达式更改为
Variable expression = $F{tbl_suspensao_status}.equals("Finalized") ? 1 : 0
P.S。 SQL 中的计算和是 SQL-solution 而不是 iReport-solution
我有一列 Status
,我想计算有多少行是“Pendings
”,有多少行是“Finalized
”
我试过这个:
Variable class = java.lang.Integer
Calculation = Sum
ResetType = Report
Increment type = None
Variable expression = $F{tbl_suspensao_status}.equals("Finalized") ? 0 : 1
但是没有用。
查询:
SELECT
tbl_suspensao.`codigoBeneficiario` AS tbl_suspensao_codigoBeneficiario,
tbl_suspensao.`contrato` AS tbl_suspensao_contrato,
tbl_suspensao.`data_fim` AS tbl_suspensao_data_fim,
tbl_suspensao.`data_inicio` AS tbl_suspensao_data_inicio,
tbl_suspensao.`status` AS tbl_suspensao_status,
tbl_usuario.`nome` AS tbl_usuario_nome,
tbl_suspensao.`nomeBeneficiario` AS tbl_suspensao_nomeBeneficiario
FROM
`tbl_usuario` tbl_usuario INNER JOIN `tbl_suspensao` tbl_suspensao ON tbl_usuario.`codigo` = tbl_suspensao.`usuario_id`
WHERE
AND tbl_suspensao.`data_inicio` BETWEEN $P{Data_Inicio} AND $P{Data_Fim}
select
sum(if(Status = "Pendings", 1, 0)) Pendings,
sum(if(Status = "Finalized", 1, 0)) Finalized
from table
左右
select
sum(Status = "Pendings") Pendings,
sum(Status = "Finalized") Finalized
from t1
SELECT status, count(*) from table where status='pending' or status='finalized'
group by status
顺序 1 和 0 错误。将表达式更改为
Variable expression = $F{tbl_suspensao_status}.equals("Finalized") ? 1 : 0
P.S。 SQL 中的计算和是 SQL-solution 而不是 iReport-solution