Crystal reports 集团级数据与汇总数据的比率-Crystal报告

Crystal reports 集团级数据与汇总数据的比率-Crystal报告,crystal-reports,cumulative-sum,group-summaries,Crystal Reports,Cumulative Sum,Group Summaries,我无法找到将汇总数据与组级数据(而不是详细级别)进行比率的方法 该问题的简化版本如下: a/b = Sum({Sales},{Group1})/Sum({Sales}) Sum ({ numeric field }, { grouping item }) % Sum ({ numeric field }) 比如说,我有两个具有一对多关系的表: stock LEFT OUTER JOIN sales ON stock.barcode=sales.barcode 报告布局如下: GroupH

我无法找到将汇总数据与组级数据(而不是详细级别)进行比率的方法

该问题的简化版本如下:

a/b = Sum({Sales},{Group1})/Sum({Sales})
Sum ({ numeric field }, { grouping item }) % Sum ({ numeric field })

比如说,我有两个具有一对多关系的表:

stock LEFT OUTER JOIN sales ON stock.barcode=sales.barcode
报告布局如下:

GroupHead2 |
GroupHead1 | Sales$                       %             Stock$      %
Details    | Sales
GroupFoot1 | a=Sum(Sales,{Group1})       a/b            c=Stock      c/d
GroupFoot2 | b=Sum(Sales)                               d=Sum(Stock)
我可以得到a/b比,如下所示:

a/b = Sum({Sales},{Group1})/Sum({Sales})
Sum ({ numeric field }, { grouping item }) % Sum ({ numeric field })
但是“d”是一个运行总数(使用运行总数向导生成),因为我只需要每个条形码的现有库存与每个条形码的销售额之和

因此,如果我试图得到比率“c/d”,我会收到一个错误


编辑:输出如下所示-例如:

Sales$   %            Stock$   %     
200      13.3         50       100
300      20           20       28.5 
800      53.3         30       30
200      13.3         10       9.1
----------------------------------------------------------------
1500                  110
请注意,库存百分比很奇怪,因为它是在重新计算每行的总计(运行)而不是使用总计(如110)


编辑2:

我把这看作是一个挑战,希望有人能提供这个答案的改编(我没想到)来适应上面的场景

答案如下:

a/b = Sum({Sales},{Group1})/Sum({Sales})
Sum ({ numeric field }, { grouping item }) % Sum ({ numeric field })
这个问题与我的略有不同,因为{numeric field}是在第1组级别引入的,因此每个第1组只需要对它进行一次评估



我猜可能有一种方法可以得到“d”,而不使用运行总数(?),或者有一种更好的方法可以得到比率“c/d”?

错误是什么,是除以0的错误吗?您的c/d公式是否有
打印记录在其中?很抱歉,我遗漏了c/d公式错误检查除以0以简化问题(但确实存在)。我还没有一个WhilePrintingRecords声明,我会检查这是否有区别。谢谢B@EvilBob22-使用WhilePrintingRecords时,它似乎没有改变输出,请参阅编辑以了解更多信息。啊,我可能在WhilePrintingRecords的
中误导了您,我们可能需要把它取出来。问题在于,所使用的{numeric field}不应是运行总计,而应是正在进行总计的值(在运行总计向导中选择的字段)。