Lotus notes 如何计算带有@DbColumn的记录数?
我试图使用Lotus notes 如何计算带有@DbColumn的记录数?,lotus-notes,lotus,lotus-formula,Lotus Notes,Lotus,Lotus Formula,我试图使用@DbColumn获取页面上某些计算文本字段的列值 假设我有一个名为“按状态”的视图,如下所示: +-------+--------+-----------+----------+------------+ | Count | Status | Created | Author | Comments | +-------+--------+-----------+----------+------------+ | 134 | Open | |
@DbColumn
获取页面上某些计算文本字段的列值
假设我有一个名为“按状态”的视图,如下所示:
+-------+--------+-----------+----------+------------+
| Count | Status | Created | Author | Comments |
+-------+--------+-----------+----------+------------+
| 134 | Open | | | |
+-------+--------+-----------+----------+------------+
| | | Records with "Status" = "Open"... |
+-------+--------+-----------------------------------+
| 101 | Hold | | | |
+-------+--------+-----------+----------+------------+
| | | Records with "Status" = "Hold"... |
+-------+--------+-----------------------------------+
...
非常不言自明-它按状态显示数据库的所有记录,并且每个状态都有一个计数(记录数)
在我的页面上,每个状态都有一个计算文本字段;打开、保持等。我正在尝试按状态获取计数。例如:
@Text( @DbColumn( "Notes" : "ReCache" ; "" : "" ; "By Status"; 1 ) );
这将返回134,这是状态“打开”的计数。我知道这对我的上述陈述是正确的,但是,这不是我想要的
如何获得每个“状态”的“计数”值?使用
@DbLookup
也许是一种解决方案。@DbLookup。您可能希望设置一个新视图,其中状态列是视图中的第一列,并按字母顺序排序。第二列将是计数,然后获取保留计数的公式将是:
@DbLookup("Notes":"NoCache"; "":""; "NewView"; "Hold"; 2);
您还应该能够使用@DbColumn获取两个相关的列表
Statuses := @DbColumn( "Notes" : "ReCache" ; "" : "" ; "By Status"; 2 );
Counts := @DbColumn( "Notes" : "ReCache" ; "" : "" ; "By Status"; 1 );
NumberOnHold := @Select(@Member("Hold"; Statuses); Counts);
有两种不同的方式做你想做的事情。 首先是对状态的每个值执行@DbLookup。如下所示(状态打开的示例): 取决于可能变慢的状态数 另一种方法是在计算字段中创建dbcolumn(这意味着使用表单而不是页面,但这不是真正的问题): 名为“allTotals”的字段,数字,为显示而计算,允许多个值,公式:
@DbColumn( "":"ReCache"; ""; "By Status"; 1)
然后在一个特殊状态的总计的每个值中,您需要它在视图中的位置。第一状态:
@Subset( @Subset( allTotals; 1 ) ; -1 )
第二状态:
@Subset( @Subset( allTotals; 2 ) ; -1 )
当然,可能还有其他更复杂的处理方法…啊,我没有想过使用
@子集。谢谢我可以把状态
和计数
放在查询打开
页面中吗?然后我只需要引用每个字段的最后一行…您可以在表单顶部放置一些隐藏的计算字段,以便您可以在表单的其他字段中引用它们。我忘了,如果让它们被计算出来显示,你就可以引用它们,但不能保存它们——值得一试。谢谢
@Subset( @Subset( allTotals; 2 ) ; -1 )