我有以下情况:A组有两列(名称,金额),并在列表B(名称),我想添加计算列这应该是所有的总和如何从另一个列表中创建数据计算列
列表A:表A具有相同的名称作为列表B.示例条目
NAME Amount
L0011 100
L0011 50
L0020 234
在列表BI
所以要计算列显示:
NAME Amount
L0011 150
L0020 234
哪有这样做?工作流程(只要在列表A中添加/修改条目,更新列表B)或其他内容?由于
我有以下情况:A组有两列(名称,金额),并在列表B(名称),我想添加计算列这应该是所有的总和如何从另一个列表中创建数据计算列
列表A:表A具有相同的名称作为列表B.示例条目
NAME Amount
L0011 100
L0011 50
L0020 234
在列表BI
所以要计算列显示:
NAME Amount
L0011 150
L0020 234
哪有这样做?工作流程(只要在列表A中添加/修改条目,更新列表B)或其他内容?由于
这不能使用计算列完成,因为计算列只能用于列在同一名单上。
使用SharePoint Designer工作流,你可以只使用Create List Item
和Update List Item
行动,以便每当用户对L0011增加值金额将在其中包含了以前的数额已经是另一个列表的列被添加。
让我知道如果你需要一个更详细的解答对SharePoint的做法,我会提供你做什么一步一步的指令。
lem.mallari的答案是一个巨大的痛苦,除非你可以假设,在列表A的量不会改变,因为它不是跟踪商品是否已经被添加到总和。工作流无法遍历SharePoint列表,这意味着没有简单的方法可以计算多个列表项的总和或平均值。
实施将需要一些发展这一意志的正确方法。 SharePoint开发人员培训(2010,2013)实际上将为您带来大部分途径:在列表A和列表B中使用SharePoint的API添加或更改项目时,事件接收方应该触发列表A和按名称的平均值,然后更新列表B中的所有项目(或仅影响项目)。或者,只要所有数据都显示在您的列表中,则可以使用JavaScript来显示列表A中与列表B中的项目具有相同名称的所有项目的总和页。如果您在XPath和InfoPath中得心应手,则可以将列表A作为辅助数据源添加到列表B的表单中,并仅选择列表A中可用的项目进行汇总。
但是,如果我们谈论的工作流程,这里的“工作流程只”的方法。这是测试,并成功在2010年创建具有下列列自定义列表C:
中列出更换名称列A和B查找列指向在列表C中删除列表B中的金额列,而不是将总和列作为附加列。将以下列添加到列表A,并确保用户不能直接更改它们。这可以通过制作InfoPath表单或制作其他视图和编辑表单来限制。
创建工作流程的每个项目被创建或列表修改时间运行A.使用这些命令(我使用可读性列表;当作为代码格式化它是越来越难看):
什么? https://support.office.com/en-us/article/DSum-Function-08F8450E-3BF6-45E2-936F-386056E61A32
列表B
NAME Amount
L0011 =DSum("[Amount]","List A","[NAME]=''" & [NAME] & "'")
L0020 =DSum("[Amount]","List A","[NAME]=''" & [NAME] & "'")
大THX。我会尝试使用WF – DanielR 2013-05-01 06:31:05