我有一个报告,目前在jaspersoft工作室接受整数。我需要在每个字段中输入13个字符,然后遍历它们。不幸的是,该字段当时只允许输入10个字符。我试图将字段更改为字符串输入,但是我对那些输入的字段有太多的调用,需要转换为整数,所以在我看来,如果能够将该字段中允许的最大字符更改为13,则要容易得多。
如果需要的话,我愿意将每个输入的字符串都转换成int,但我对jaspersoft很陌生,迄今为止我所做的每一次尝试都失败了。以下是我的查询:
select lpad(num::text, 13, '0') value1
, num::text value1no0s
, lpad((num+ ($P{RangeEnd}-$P{RangeStart})/3)::text, 13,
'0') value2
, (num+ ($P{RangeEnd}-$P{RangeStart})/3)::text value2no0s
, lpad(( num+ 2*($P{RangeEnd}-$P{RangeStart})/3)::text,
13,
'0') value3
, ( num+ 2*($P{RangeEnd}-$P{RangeStart})/3)::text value3no0s
from generate_series($P{RangeStart},($P{RangeEnd}-$P{RangeStart})/3 + $P{RangeStart} +1) num
以下是我报告中典型的表达方式:
IF(INTEGER_VALUE($F{value3}) > $P{RangeEnd}, null,IF(INTEGER_VALUE($F{value1}) >= (($P{RangeEnd}-$P{RangeStart})/3+$P{RangeStart}), null, $P{SaleName}))
如果我能提供更多的信息,请告诉我。谢谢您!