当前位置: 首页 > 知识库问答 >
问题:

JasperReports:iReport中交叉表的错误打印变量

东方和志
2023-03-14

我可以知道我的源码有什么问题吗?这是我的代码:

<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="Corr_ticket" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<?xml version="1.0" encoding="UTF-8"?>
    <import value="com.google.common.base.*"/>
    <style name="Crosstab Data Text" hAlign="Center"/>
    <parameter name="daterangefrom" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="daterangeto" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="monthy" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="yrs" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="quarter" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <parameter name="weeks" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <queryString>

    </queryString>
    <field name="daterange" class="java.lang.String"/>
    <field name="ticketid" class="java.lang.Integer"/>
    <field name="cat_code" class="java.lang.Integer"/>
    <field name="descategory" class="java.lang.String"/>
    <field name="subcat_code1" class="java.lang.Integer"/>
    <field name="dessub1cat" class="java.lang.String"/>
    <field name="subcat_code2" class="java.lang.Integer"/>
    <field name="dessub2cat" class="java.lang.String"/>
    <field name="description_sub" class="java.lang.String"/>
    <field name="description_source" class="java.lang.String"/>
    <pageHeader>
        <band height="141">
            <textField isStretchWithOverflow="true" isBlankWhenNull="true">
                <reportElement x="0" y="53" width="802" height="35" isRemoveLineWhenBlank="true"/>
                <textElement>
                    <font size="11" isBold="true"/>
                    <paragraph lineSpacing="1_1_2"/>
                </textElement>
                <textFieldExpression><![CDATA[(!Strings.isNullOrEmpty($P{daterangefrom}) && !Strings.isNullOrEmpty($P{daterangeto}) && Strings.isNullOrEmpty($P{weeks}) && Strings.isNullOrEmpty($P{monthy}) && Strings.isNullOrEmpty($P{quarter}) && Strings.isNullOrEmpty($P{yrs})) ? "Date Ticket Created From : " + $P{daterangefrom} +"\n" + "Date Ticket Created to : " + $P{daterangeto}
 : null]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="0" y="119" width="100" height="20"/>
                <textElement>
                    <font size="11" isBold="true"/>
                </textElement>
                <text><![CDATA[State :]]></text>
            </staticText>
            <staticText>
                <reportElement x="0" y="98" width="90" height="20"/>
                <textElement>
                    <font size="11" isBold="true"/>
                </textElement>
                <text><![CDATA[Industry Group :]]></text>
            </staticText>
        </band>
    </pageHeader>
    <summary>
        <band height="297">
            <crosstab>
                <reportElement x="0" y="0" width="802" height="297"/>
                <rowGroup name="ticketid" width="70" totalPosition="End">
                    <bucket class="java.lang.String">
                        <bucketExpression><![CDATA[$F{ticketid}]]></bucketExpression>
                    </bucket>
                    <crosstabRowHeader>
                        <cellContents backcolor="#F0F8FF" mode="Opaque">
                            <box>
                                <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                            </box>
                            <textField>
                                <reportElement style="Crosstab Data Text" x="0" y="0" width="70" height="25"/>
                                <textElement/>
                                <textFieldExpression><![CDATA[$V{ticketid}]]></textFieldExpression>
                            </textField>
                        </cellContents>
                    </crosstabRowHeader>
                    <crosstabTotalRowHeader>
                        <cellContents backcolor="#BFE1FF" mode="Opaque">
                            <box>
                                <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                            </box>
                            <staticText>
                                <reportElement x="0" y="0" width="70" height="25"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Total ticketid]]></text>
                            </staticText>
                        </cellContents>
                    </crosstabTotalRowHeader>
                </rowGroup>
                <columnGroup name="cat_code" height="30" totalPosition="End">
                    <bucket class="java.lang.String">
                        <bucketExpression><![CDATA[$F{cat_code}]]></bucketExpression>
                    </bucket>
                    <crosstabColumnHeader>
                        <cellContents backcolor="#F0F8FF" mode="Opaque">
                            <box>
                                <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                            </box>
                            <textField isBlankWhenNull="true">
                                <reportElement style="Crosstab Data Text" x="0" y="0" width="100" height="30"/>
                                <textElement/>
                                <textFieldExpression><![CDATA[$V{cat_code}]]></textFieldExpression>
                            </textField>
                        </cellContents>
                    </crosstabColumnHeader>
                    <crosstabTotalColumnHeader>
                        <cellContents backcolor="#005FB3" mode="Opaque">
                            <box>
                                <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                            </box>
                            <staticText>
                                <reportElement x="0" y="0" width="50" height="60" forecolor="#FFFFFF"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Total cat_code]]></text>
                            </staticText>
                        </cellContents>
                    </crosstabTotalColumnHeader>
                </columnGroup>
                <columnGroup name="description_source" height="30" totalPosition="End">
                    <bucket class="java.lang.String">
                        <bucketExpression><![CDATA[$F{description_source}]]></bucketExpression>
                    </bucket>
                    <crosstabColumnHeader>
                        <cellContents backcolor="#F0F8FF" mode="Opaque">
                            <box>
                                <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                            </box>
                            <textField>
                                <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="30"/>
                                <textElement/>
                                <textFieldExpression><![CDATA[$V{description_source}]]></textFieldExpression>
                            </textField>
                        </cellContents>
                    </crosstabColumnHeader>
                    <crosstabTotalColumnHeader>
                        <cellContents backcolor="#BFE1FF" mode="Opaque">
                            <box>
                                <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                            </box>
                            <staticText>
                                <reportElement x="0" y="0" width="50" height="30"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle"/>
                                <text><![CDATA[Total description_source]]></text>
                            </staticText>
                        </cellContents>
                    </crosstabTotalColumnHeader>
                </columnGroup>
                <measure name="description_sourceMeasure" class="java.lang.Integer" calculation="Count">
                    <measureExpression><![CDATA[$F{description_source}]]></measureExpression>
                </measure>
                <crosstabCell width="50" height="25">
                    <cellContents>
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{description_sourceMeasure}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabCell>
                <crosstabCell height="25" rowTotalGroup="ticketid">
                    <cellContents backcolor="#BFE1FF" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{description_sourceMeasure}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabCell>
                <crosstabCell width="50" columnTotalGroup="cat_code">
                    <cellContents backcolor="#005FB3" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" forecolor="#FFFFFF"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{description_sourceMeasure}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabCell>
                <crosstabCell rowTotalGroup="ticketid" columnTotalGroup="cat_code">
                    <cellContents backcolor="#005FB3" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" forecolor="#FFFFFF"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{description_sourceMeasure}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabCell>
                <crosstabCell width="50" columnTotalGroup="description_source">
                    <cellContents backcolor="#BFE1FF" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{description_sourceMeasure}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabCell>
                <crosstabCell rowTotalGroup="ticketid" columnTotalGroup="description_source">
                    <cellContents backcolor="#BFE1FF" mode="Opaque">
                        <box>
                            <pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
                        </box>
                        <textField>
                            <reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
                            <textElement/>
                            <textFieldExpression><![CDATA[$V{description_sourceMeasure}]]></textFieldExpression>
                        </textField>
                    </cellContents>
                </crosstabCell>
            </crosstab>
        </band>
    </summary>
</jasperReport>

其他问题:-我认为问题是“表达式类”,因为我的字段有字段name=“cat_code”class=“java.lang.integer”,而交叉表中的变量有bucket class=“java.lang.string”。如何处理这种情况?

共有1个答案

阳英朗
2023-03-14

您没有名为cat_code的变量,错误消息中的$V{cat_code}建议您有。您确实有一个名为cat_code的字段:

<field name="cat_code" class="java.lang.Integer"/>

我猜你忘了定义一个名为this的变量。在iReport中,您可以右键单击Variables部分,然后单击Add Variable。然后你只要把它定义为你想要的。

我从来没有使用过交叉表,所以这可能是完全错误的,但也可能是指$f{cat_code}

 类似资料:
  • 我在c代码中使用include: 。当我用“gcc”编译器编译它时,我没有任何错误,但当我用交叉编译器“arm-linux-gnueabi-gcc”编译它时,我有以下错误:

  • 问题内容: 这可能是一个简单的修复程序,但我只是没有看到它。我想弄清楚,如何从主体正确打印我的方法?我需要获取,设置和返回方法吗?另外,在课堂上我的while循环是否甚至必要? 该程序会编译并一直运行到无穷大,因此我猜while循环是错误的。但是它也仅在每行上连续打印。 扩展main的类是不相关的,并且是项目的一部分。抱歉,如果张贴错误,谢谢您的帮助。 整个程序的输出类似于: 树皮,树皮。 喵喵。

  • 我的任务是: 制作几本字典,每本字典的名字都是一只宠物的名字。在每本字典中,包括动物的种类和主人的名字。将这些字典存储在一个名为宠物的列表中。接下来,循环浏览你的列表,然后打印你所知道的关于每只宠物的一切。 到目前为止我所拥有的: 迄今为止的产出: 宠物名称:类型:狗宠物主人:乔 宠物名称:类型:猫宠物主人:盖尔 宠物名称:类型:鸟宠物主人:保罗 宠物名称:类型:蛇宠物主人:斯坦 我的问题: 我需

  • Backend-URL=http://localhost:8080 Frontend-URL=http://localhost:8081 在main.js文件中,我为Axios添加了以下默认值: 在后端站点上,我添加了以下条目:

  • 这是我的脚本,它返回一个布尔值 我希望脚本打印捕获的异常,并返回布尔值,但在本例中,脚本失败时只返回false。感谢您的帮助,我需要打印异常,就像try-catch块不存在一样。

  • 问题内容: 我有一个PostgreSQL函数 如何将DeletedContactId的值打印到控制台? 问题答案: 您可以按以下方式提出通知: 在这里阅读

  • 我一直在尝试从Node切换到Java,我想知道的一件事是如何以类似于Node显示的格式打印对象,例如二叉树。例如,我的二叉树初始化代码如下: 在节点中,此二叉树将显示如下: 然而在Java,当我做system.out.println(树); 输出->BinaryTree@4554617c 什么是打印我的BinaryTree的正确方法?什么是好方法?有没有一种方法可以用JSON格式打印树?

  • 交叉表图表也称为文本表,以文本形式显示数据。 交叉表图表采用一个或多个维度以及一个或多个度量。此图表还可以显示度量字段值的不同计算,例如总百分比,运行总计等。 例如,如果要查找每个区域中每个细分的销售数量,请考虑数据源:Sample-Superstore。要使用下面的可用订单日期显示每年的数据,请参阅创建交叉表图表的一些步骤。 第1步:将维度订单日期拖到列架中。 第2步:此外,将维度Region和