代码之家  ›  专栏  ›  技术社区  ›  BBurchfield

jaspersoft studio查询整数字段中最大字符长度的扩展

  •  0
  • BBurchfield  · 技术社区  · 6 年前

    我有一个报告,目前在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}))
    

    如果我能提供更多的信息,请告诉我。谢谢您!

    0 回复  |  直到 6 年前
        1
  •  0
  •   Petter Friberg Onceler    6 年前

    这应该 完成,因为你的数字(13个字符)在上面 Integer.MAX_VALUE 那就是 2147483647 ,而需要将参数定义为 java.lang.Long

    jaspersoft studio的开发人员实际上试图通过限制下面的数字来帮助您 MAX_VALUE

    例子

    JRXML

    <?xml version="1.0" encoding="UTF-8"?>
    <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4_7" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="3c26b137-f63b-46c8-8469-de9f24f291f3">
        <parameter name="Parameter1" class="java.lang.Long"/>
        <queryString>
            <![CDATA[]]>
        </queryString>
        <title>
            <band height="79" splitType="Stretch">
                <textField>
                    <reportElement x="0" y="0" width="270" height="30" uuid="41fd4d98-bd1e-48c9-ac8c-d8cfae208a5d"/>
                    <textFieldExpression><![CDATA[$P{Parameter1}]]></textFieldExpression>
                </textField>
            </band>
        </title>
    </jasperReport>
    

    产量

    output

    推荐文章