【问题标题】:How to add a conditional grand total in Crystal Reports?如何在 Crystal Reports 中添加条件总计?
【发布时间】:2012-07-09 03:44:27
【问题描述】:

我有一个需要在报表页脚汇总的组运行总计。由于 CR 无法做到这一点,因此我不得不最终获得另一个刷新“从不”的运行总数。但是现在我需要根据这个总计计算小组级别的一些百分比。不幸的是,我无法访问总计的值(因为它是另一个运行总计)。 使困惑??好的报告应该如下所示..


    Column 1                           | Colunm 2
    ========                            ========= 

|组 200(在组级别运行总刷新)| 20% (200%1000) |
|组 500(在组级别运行总刷新)| 50% (500%1000) |
|组 300(在组级别运行总刷新)| 30% (300%1000) |


页脚 1000(运行总数从不刷新)


但是第 2 列没有给我正确的值。它给了我 100% 总是意味着 200%200 或 500%500 等等。

知道如何解决这个问题吗?

【问题讨论】:

    标签: crystal-reports summary


    【解决方案1】:

    Thanx Lee,使用运行总计公式有效,我在报告页脚中添加了以下公式,

    numbervar Samples; 
    if {product.sku}="card-sample" then 
       Samples := Samples + {@num_qty}; 
    
    Samples; 
    

    然后我用这个公式计算第2列

    【讨论】:

      【解决方案2】:

      试试这个

      为组百分比添加一个公式字段,然后将下面的代码粘贴到其中。

      Group total / sum(column)
      

      将此公式放在您的小组级别。

      【讨论】:

      • 谢谢 Asif,但问题是我不能在我的报告中使用组总计,因为组 200、500、300 等是有条件的组运行总计。如果我使用 Group Totals,我将无法使用该条件。
      • 200,500,300 是三个不同的运行总数还是一个运行总数,您按组应用了条件?
      • 是的,它的一个运行总数应用于组级别.. 并且条件类似于 {product.sku}='card-sample'
      【解决方案3】:

      我应该认为您的报表总计只想成为汇总字段而不是运行总计。然后您的第 2 列值可以使用 running total / sum(field);

      计算

      这是一个例子:

      • 我有两列年龄和薪水。
      • 当年龄> 18 我想加薪。

      最初我使用条件 {age} > 18 的运行总计

      效果不好,所以我删除了运行总计,并创建了一个公式:if {age} > 18 then {salary} else 0

      然后我在该公式字段上创建了一个摘要。

      有意义吗?

      【讨论】:

      • 我不能使用summery,因为我正在使用一个条件,这意味着第1列的详细信息列需要使用一个条件进行总结。意味着我只将详细信息部分中的一种数据汇总到该组第 1 列的运行总计..​​.
      • 条件是什么?我一般避开运行总计。作为替代方案,您可以使用条件创建公式字段,然后汇总公式字段。
      • 我之前尝试过,就像只是将运行总数放入一个公式并试图总结它,但它给了我相同的答案:(
      • 不,您不能将运行总计放入公式中。我在答案中添加了一个示例
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多