【问题标题】:JasperReports - Cumulative sum in crosstab footerJasperReports - 交叉表页脚中的累积和
【发布时间】:2016-05-24 16:10:09
【问题描述】:

是否可以在 JasperReports 的 crosstab 元素中获得累积总和(下图中的最后一行)?我“只是”需要一些变量来保存上一列总计的值。

我尝试添加(在交叉表元素之后)1 个具有“累积”值的静态文本,而不是最后一行,然后在具有累积值的水平列表之后添加(我的 XML 数据源中已经计算了累积值)。如果列数少于 5、6、7 ,如果交叉表应保持与左侧对齐(我在导出之前以编程方式将其与 Java API 对齐),这是可以的解决方案。如果元素水平居中或表格因列数而分成多个部分,则对齐会中断。

我还尝试使用度量、参数和变量来获得“总度量的度量”或类似的东西,但无法让它发挥作用。

DynamicJasper 似乎也没有解决方案(我今天才测试过它,如果我错过了它的 API 中的某些内容,很抱歉)。

如果您有任何使用 Jaspersoft Studio、JasperReport API 或 DynamicJasper 的解决方案,请提供帮助。提前致谢!

【问题讨论】:

    标签: java jasper-reports crosstab cumulative-sum dynamic-jasper


    【解决方案1】:

    好的,既然我创建了自己的 XML 数据源,我决定做一个解决方法。

    原来的 XML 文件结构是这样的:

    <rootElement>
        <company>
            <name>Company A</name>
            <percentage>0.0509</percentage>
            <value>10000</value>
        </company>
        <company>
            <name>Company B</name>
            <percentage>0.0433</percentage>
            <value>10000</value>
        </company>
        <!-- and the rest goes here -->
    </rootElement>
    

    Total是用计算类型Sum的度量计算的,值表达式在字段value上。

    为了获得行累积,我向每个&lt;company&gt;标签添加了一个子元素,所以XML结构是:

    <rootElement>
        <company>
            <name>Company A</name>
            <percentage>0.0509</percentage>
            <value>10000</value>
            <cumulativePerPercentage>38000</cumulativePerPercentage>
        </company>
        <company>
            <name>Company B</name>
            <percentage>0.0433</percentage>
            <value>10000</value>
            <cumulativePerPercentage>66000</cumulativePerPercentage>
        </company>
        <!-- and the rest goes here -->
    </rootElement>
    

    对于 Cumulative 行,我在字段 cumulativePerpercentage 上创建新度量,计算类型为 Average

    【讨论】:

      猜你喜欢
      • 2011-12-31
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多