从另一个SharePoint列表中计算列中的项目

时间:2012-10-18 01:29:45

标签: jquery sharepoint caml

如何计算与另一个列表中的项目匹配的实例?
请参阅示例。例如。

我有2个SharePoint列表。

列表A是经理记录其员工审核分数的列表。

Associate      Score
----------     ------
Associate 1     100
Associate 2     100
Associate 1     90
Associate 1     50
Associate 2     0
Associate 3     80

随着新评论的增加,名单A不断增长。

列表B只是一个人员配置列表,只保存一个员工姓名实例。
我希望列表B计算它在列表A中出现的次数,因此当一个新项目添加到列表A时,它会自动在列表B中对它进行计数。例如:

列表B

Associate      Count
----------         -----
Associate1      3
Associate2      2
Associate3      1

类似于Access中的查询计数或excel中的countif,只是为了进一步说明。 有什么建议吗?

此外,关联字段是一个组/人员类型,因此它匹配其userId,如果这是重要的。 我宁愿保持这种方式,但我愿意接受建议。 我也在使用SharePoint 2007。

3 个答案:

答案 0 :(得分:2)

如果您的列表A使用查阅列列出B作为关联名称,那么这应该非常简单。

简单转到列表B,并添加一个新列,它是列表A的查找。当您下拉字段以供选择时,您应该看到关联(计数)。

这将计算在列表A中使用每个员工姓名的次数,并将按照您想要的方式显示计数。

干杯!

答案 1 :(得分:0)

不是创建列表B,而是在列表A上创建另一个VIEW。您将拥有列表A的两个视图(AllItems.aspx和YourName.aspx)。第二个视图将按“关联”字段进行分组,当项目添加到列表A时,计数将自动更新。

否则,如果您确实需要另一个列表,列表B,则必须使用列表B中的插入(使用事件接收器或工作流)复制列表A中的插入,然后在列表B上创建相同类型的视图以上。

为什么有2个名单?有2个以上的观点!

答案 2 :(得分:0)

您还可以在SharePoint设计器中创建一个工作流程,该工作流程会将计数添加到列表B中。

例如,列表B中包含Associate1。当您在列表A中创建项目时,请执行一个工作流程,该工作流程将在列表B中查找Associate1,然后将+1添加到该关联者上的列表B的计数器。