Crystal Reports:每周标准差,每周有多个条目

时间:2014-07-22 19:18:28

标签: crystal-reports grouping standard-deviation

我要做的是获得每周标准差数量 我设法得到每周的总和;但是当我这样做时,我无法从这些值中获得标准偏差。它告诉我这些值无法概括

http://imgur.com/NI4LEES

http://imgur.com/UP8LS8F

如果有人有任何想法,我会非常感激

1 个答案:

答案 0 :(得分:0)

我认为StdDev函数只能将一个字段作为参数。您正在使用摘要。你可以尝试:

stdev({Mathlist.Qty}, {Mathlist.Date}, "weekly")

as

http://pic.dhe.ibm.com/infocenter/rsawshlp/v7r5m0/index.jsp?topic=%2Fcom.businessobjects.integration.eclipse.designer.doc%2Fhtml%2Ftopic533.html

编辑:

1)要获得周平均值的总和,请创建如下公式。将它放在组页脚中(按日期,每周)。

shared numbervar counterOfWeeks;
shared numbervar sumOfWeekAverages;
sumOfWeekAverages := sumOfWeekAverages + Sum ({Result.Valor}, {Result.Data}, "weekly");
counterOfWeeks := counterOfWeeks + 1;
sumOfWeekAverages; //this will print the result, you can suppress it, you know

2)要获得周平均值,请创建如下公式并将其放在报表页脚中。

shared numbervar sumOfWeekAverages;
shared numbervar counterOfWeeks;
numbervar missingWeeks := 0;
if counterOfWeeks + missingWeeks > 0 
then sumOfWeekAverages / (counterOfWeeks + missingWeeks)
else 0;

请注意“missingWeeks”。您可以将它作为一种手段来处理没有价值的周数,我想您可以计算它。

根据你的评论,这不是完整的解决方案,但我认为这是迈向它的一步。如果你没有得到理想的结果,请告诉我。

再次编辑:

现在,计算没有总和的stddev。

1)创建如下公式。将它放在组页脚中(按日期,每周)。

shared numbervar counterOfWeeks;
shared numbervar sumOfWeekAverages;
shared numbervar sumOfSquares;
sumOfWeekAverages:= sumOfWeekAverages+ Sum ({Result.Valor}, {Result.Data}, "weekly");
sumOfSquares:= sumOfSquares+ (Sum ({Result.Valor}, {Result.Data}, "weekly"))^2;
counterOfWeeks:= counterOfWeeks+ 1;

2)创建如下公式并将其放在报告页脚中。

shared numbervar counterOfWeeks;
shared numbervar sumOfSquares;
shared numbervar sumOfWeekAverages;
numbervar missingWeeks := 9;
numbervar n := counterOfWeeks + missingWeeks;
if n > 1 then
    sqr((sumOfSquares - (1/n) * (sumOfWeekAverages^2)) / (n - 1))
else 
    0

但是你仍然需要找到一种方法来确定“失踪周”。我将它设置为9进行测试,并得到你发布的结果(835,40)。如果你愿意,我可以发送你的RPT文件。