Jasper reports Jasper报告-如何在使用多个度量值时对交叉表进行排序

Jasper reports Jasper报告-如何在使用多个度量值时对交叉表进行排序,jasper-reports,Jasper Reports,我在Jasper Studio中创建了一个交叉表,显示客户的销售额、数量和毛利百分比。此交叉表的主要复杂性是百分比边距,因为它不能使用简单的总和、计数或平均值来报告正确的数字,因此需要单独计算。为了解决这一问题,我制定了4项措施: 对于主数据(1个字段中销售、数量和利润的组合) 右边的总数 对于底线摘要,以及 用于合计和汇总的合计字段 客户端要求在运行时使用Jasper Server的交互式排序功能对交叉表进行排序。这是可行的,但前提是交叉表使用一种度量。当我添加其他3个度量值时,所有列的排序

我在Jasper Studio中创建了一个交叉表,显示客户的销售额、数量和毛利百分比。此交叉表的主要复杂性是百分比边距,因为它不能使用简单的总和、计数或平均值来报告正确的数字,因此需要单独计算。为了解决这一问题,我制定了4项措施:

  • 对于主数据(1个字段中销售、数量和利润的组合)
  • 右边的总数
  • 对于底线摘要,以及
  • 用于合计和汇总的合计字段
  • 客户端要求在运行时使用Jasper Server的交互式排序功能对交叉表进行排序。这是可行的,但前提是交叉表使用一种度量。当我添加其他3个度量值时,所有列的排序选项都会变灰,排序不再适用于客户端


    有没有什么方法可以让这种分类工作,即使我使用了多种方法?或者,是否有其他方法可以使用单个度量值来显示所需的信息?

    您需要做的是将列标题单元格中元素的属性设置为要按其排序的度量值的基于0的索引

    
    ...
    
    谢谢你的回复,爸爸。不幸的是,这并不能解决问题,我没有尝试按不同的度量进行排序,我无法在交叉表中包含多个度量时按任何度量进行排序。如果有其他类似于此的“隐藏”属性,则可以设置其中一个属性。当您有多个度量值时,您需要明确说明(通过设置属性)使用哪一个进行排序。如果未设置属性,则排序将被禁用,因为引擎不希望选择任意度量值进行排序。请不要误会,我确实尝试了几种方法,因此可能我没有完全理解。请允许我详细说明,以便我可以再试一次。对于
    index value=“1”
    有什么方法可以确定需要在此处输入的数字吗?它是否简单到1,2,3,4对应我的4个度量?另一件奇怪的事情是,排序似乎仍然适用于左侧的名称,但没有其他列,因此,如果它可以在运行时对该列进行正确排序,为什么其他任何列都不能进行排序呢?属性的值是该列基于0的索引。因此value=“0”对应于第一个度量值,value=“1”对应于第二个度量值,依此类推。
    <columnGroup ...>
        ...
        <crosstabColumnHeader>
            <cellContents>
                <textField>
                    <reportElement ...>
                        <!-- sort by the second measure -->
                        <property name="net.sf.jasperreports.crosstab.column.header.sort.measure.index" value="1"/>
                    </reportElement>