首页 > 解决方案 > 有没有办法使用 Sharepoint 版本历史来计算列值?

问题描述

我看不到本机执行此操作的方法,但基本上我想利用特定字段值的版本历史记录来计算当前值与上次输入值之间的差异。

场景:业务用户每周将每个列表项的列中的数值更新为累积量。(即迄今为止的销售额)

我目前能够在版本历史记录中看到最后输入的值是什么,输入的人以及输入的时间。我想知道是否有办法以计算列的形式访问此信息以找到这种差异(即本周的销售额)。我正在考虑的解决方案是为“上周总销售额”添加另一列,并让用户在更新“本周总销售额”时手动更新,然后有一个计算列来减去这些值。但是,这似乎很乏味,因为信息已经在 Sharepoint 中。如果有办法通过计算列、PowerAutomate 流或其他方法来做到这一点,请告诉我。

标签: sharepointsharepoint-onlinepower-automate

解决方案


无法使用计算列捕获版本历史记录。REST API 是唯一有助于获取这些详细信息的选项。考虑到这一点,我可以在这里提出两种解决方案:

  1. 使用 REST API

    • 在您的列表中创建一个附加列,并使用您将使用 SharePoint REST API 从版本历史记录中捕获的数据对其进行更新。在这里,Rest API 将用于获取版本历史记录并更新列表项。
    • 作为执行此代码的触发事件,您可以在页面上设置一个按钮(如果使用任何自定义屏幕)或将其设置为定期执行。
  2. 在 Power Automate 中使用 REST API(推荐)

    • Power Automate/MS Flow 不提供任何直接连接器来获取版本历史记录,但您可以使用 HTTP 请求连接器,这将帮助您执行 SP 休息调用以获取版本历史记录。
    • 从 HTTP 请求调用中获得版本历史数据后,您可以在下一步操作中使用相同的电源自动更新列表中的列。
    • 此解决方案将更有用,因为您不需要像第一个解决方案中提到的那样设置任何触发事件,但您可以简单地配置此 Power Automate 以在更新列表项时运行,您将立即获得结果在您的列表中。

您可以参考此链接来检查如何使用 Power 自动化从 HTTP 请求中获取数据,也可以参考此链接,这将帮助您了解如何使用 SharePoint REST API 获取版本历史记录。

我希望这将是您实现目标的有用信息。


推荐阅读