合并报表中的行

时间:2017-06-08 19:45:35

标签: crystal-reports

enter image description here

如果某行的ID与上一行相同,我想将它们合并 - 总结cubicFtSavings$perFt将节省的费用除以cubicFt,因此无法对其进行求和,只需将新结果分开即可。我也希望将描述连接起来,如下所示:

enter image description here

2 个答案:

答案 0 :(得分:0)

根据ID(或最左边的列)创建一个组。然后禁止“详细信息”部分和“组头”。相反,您将把要显示的所有字段放在“组尾”中。从那里很简单:

  1. cubicFtSavings创建摘要或运行总计。
  2. 重新配置$PerFt以使用您在步骤1中创建的摘要/运行总计字段。
  3. 通过创建共享字符串变量Descriptions来组合描述。每当小组更改时,请使用Descriptions = ""重置它。只要没有更改,请将描述字符串添加到变量中。类似的东西:

    Descriptions = Descriptions & " ; " & {yourtable.Description}
    
  4. 然后在“组尾”中创建最终公式ShowDescription,以RIGHT(Descriptions, LEN(Descriptions)-2)显示结果

答案 1 :(得分:0)

您需要通过修改SELECT语句或生成数据的存储查询或在Crystal Reports中进行分组。我在Crystal Reports上已经过了20年,虽然我使用过类似的软件,所以必须进行调整。

对于第一个解决方案,您只需要字符串字段的串联聚合函数。您的数据库可能有也可能没有内置数据库,因此您可能需要添加它。

SELECT Building, ID, 
  SUM(cubicFt), SUM(savings),
  SUM(savings)/SUM(cubicFt) AS [$perft], 
  LEFT(STRING_AGG(description, ';'), -1) -- drop extra ; at end
GROUP BY Building, ID;

但是,您应该能够在 Crystal中执行相同的,方法是将其设置为小计组(不确定是否必须为字符串聚合执行用户定义),和然后隐藏细节部分。