Crystal Reports - 来自2个来源的标准数据偏差

时间:2014-11-17 16:03:51

标签: arrays crystal-reports shared standard-deviation

我有2个子报告,可以从客户满意度调查中返回数据。一个用于Incidents Logged,另一个用于Requests Logged

两者都有相同的5个问题。

我需要将结果组合起来,找出主要报告中每个问题的标准偏差。

例如。

In report 1 field {usr_incidentsurveyquestion1.ubr_rank} gives results 4,3,4,4,5,3 In report 2 field {usr_requestsurveyquestion1.ubr_rank} gives results 3,4,5,4,3

所以在主报告中我需要4,3,4,4,5,3,3,4,5,4,3

我试图使用共享阵列撞墙。

这可能吗?任何指针都赞赏。

编辑---------------------------------------------- ------------

whileprintingrecords;
shared numbervar Array IncSurvey; 
shared numbervar n; 
n:=n+1; 
redim preserve Incsurvey[n]; 
Incsurvey[n] :={usr_incidentsurveyquestion1.ubr_rank};

2 个答案:

答案 0 :(得分:0)

好的,看到你的问题和公式看起来你没有公平地使用你的公式:

子报告1中的

使用您的公式并放置在组或详细信息中,无论您放置该字段,以便每个数据都将被添加

whileprintingrecords;
shared StringVar Array IncSurvey1; 

Incsurvey1 :=Incsurvey1 + totext({usr_incidentsurveyquestion1.ubr_rank});
1

如果整个字符串作为一个值出现,则使用如下:

whileprintingrecords1;
shared StringVar Array IncSurvey; 

Incsurvey1 :=totext({usr_incidentsurveyquestion1.ubr_rank});
1

对第二个子报告重复相同的操作。

现在在主报告中转到子报告部分之后的部分,并在下面的公式中写下:

   shared StringVar Array IncSurvey1;  //sub report 1
   shared StringVar Array IncSurvey2;  //sub report 2

 Join(IncSurvey1+IncSurvey2,",")

答案 1 :(得分:0)

非常感谢!真的很感激帮助。

与:

一起使用
Stringvar Array convert := Split({@Array},",");


Numbervar Array numbers;
Redim numbers[Ubound(convert)];


Numbervar i;
for i := 1 to Ubound(convert) do (
  numbers[i] := ToNumber(convert[i])
);


stddev(numbers);

完全解决我的问题。