我相信总的来说你是清楚的,但我需要一些细节来提供建议。你面临的一个挑战是它是基于Excel的。因此,Excel的性能永远不会很好,还有更多的工作要做。考虑下面的公式做你需要的:
Patch(ProductDataSource,
ForAll(
Filter(RentalDataSource, entUntil < Today()) As _expired,
With({_item: LookUp(ProductDataSource, ProductId = _expired.ProductId)},
Patch(_item, {items_left: _item.items_left + _expired.howmany_items_rented})
)
)
)
请记住,每次运行它时,它都会继续增加剩余的项目,因为您没有在租赁中指出该过程已“还原”/“添加回”。