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 )