有没有办法使用 Sharepoint 版本历史来计算列值?

Is there a way to use Sharepoint version history to make a calculated column value?

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

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

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

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

  1. 使用 REST API

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

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

您可以参考 this link to check how to get data from HTTP request using Power automate and you can also refer to this link 这将帮助您了解如何使用 SharePoint rest API.

获取版本历史记录

希望这些信息对您实现目标有用。