汇总Lotus Notes中视图显示的字段

时间:2014-01-29 19:46:05

标签: lotus-notes

我有一个表单设计,其中填充了已请求信息的用户名。详细信息中包含一个字段,显示此人响应请求所需的总天数。我们最多有10个字段,用于保存用户的姓名以及此人回复的天数。

我正在尝试总结这一点,以便我可以在视图中显示信息作为详细信息的摘要。

以下是详细信息的示例:

FieldName1 = Sally Jones DaysProcess1 = 3

FieldName2 = John Smith DaysProcess2 = 2

FieldName3 = Fred Johnson DaysProcess3 = 1

FieldName4 = Sally Jones DaysProcess4 = 4

FieldName5 = Fred Johnson DaysProcess5 = 2

我想在视图中显示

名称 - 号码请求 - 总天数

Sally Jones - 2 - 7

John Smith - 1 - 2

弗雷德约翰逊 - 2 - 3

非常感谢您的想法 让

1 个答案:

答案 0 :(得分:0)

这是简单的部分。 “名称”列可能如下所示:

enter code here @ Unique(FieldName1:FieldName2:FieldName3:FieldName4:FieldName5);

现在让我们来看看困难的部分。在第二列中,您希望第一个值为2,因为Sally Jones有两个条目,对吧?那么,你的第二列必须按顺序访问唯一名称列表,并且必须计算有多少字段引用该名称。这看起来适合您的第二列公式:

theUniqueNames := @Unique(FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5);
allTheNames := FieldName1 : FieldName2 : FieldName3 : FieldName4 : FieldName5;
output := @Transform(theUniqueNames; "x"; 
     @Elements(@Trim(@Replace(allTheNames;x;"")))
);
output;

最后一列需要是与刚刚为每个名称计算的FieldNameX字段对应的DaysProcessX字段的总和。那更难了。我要在这里作弊,并假设你永远不会再添加任何字段对...

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可能会做到这一点,但是如果没有实际的测试,那就太麻烦了。 (即,我在这里说的是上面没有经过测试。希望它足够接近给你正确的想法。

相关问题