我有一个表单设计,它填充了请求信息的用户名。包含详细信息的字段显示人员响应请求所需的总天数。我们有多达10个字段,将保存用户的姓名和天数的人作出回应。
我试图对此进行总结,以便在视图中显示这些信息,作为对细节的总结。
下面是一个细节的例子:
FieldName1 = Sally DaysProcess1 =3
FieldName2 = John DaysProcess2 =2
FieldName3 = Fred DaysProcess3 =1
FieldName4 = Sally DaysProcess4 =4
FieldName5 = Fred DaysProcess5 =2
我想在这样的视图中显示。
姓名号码请求-Total日
莎莉琼斯-2-7
约翰史密斯-1-2
弗雷德·约翰逊-2-3
你的想法很感激简
发布于 2014-01-29 23:37:05
这是简单的部分。Name列可以如下所示:
enter code here@Unique(FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5);
现在让我们来看看最难的部分。在第二列中,您希望第一个值是2,因为Sally有两个条目,对吗?那么,您的第二列必须按顺序访问唯一名称列表,并且必须计算引用该名称的字段的数量。对于您的第二列公式来说,这看起来很合适:
theUniqueNames := @Unique(FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5);
allTheNames := FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5;
output := @Transform(theUniqueNames; "x";
@Elements(@Trim(@Replace(allTheNames;x;"")))
);
output;最后一列需要是与您刚才为每个名称计算的DaysProcessX字段对应的FieldNameX字段的和。那就更难了我将在这里作弊,并假设您将不再向表单中添加任何字段.
theUniqueNames := @Unique(FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5);
allTheNames := FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5;
output := @Transform(theUniqueNames; "x";
@If(fieldName1 = x;DaysProcess1;0) +
@If(fieldName2 = x;DaysProcess2;0) +
@If(fieldName3 = x;DaysProcess3;0) +
@If(fieldName4 = x;DaysProcess4;0) +
@If(fieldName5 = x;DaysProcess5;0)
);
output;如果您想在将来考虑更多的字段,那么嵌套的@Transform可能就能做到这一点,但是如果没有实际的测试,这可能有点太多毛了。(也就是说,我在这里的意思是,上面没有经过测试。)希望它足够接近给你正确的想法。)
https://stackoverflow.com/questions/21441050
复制相似问题