我有一个用于其他组织的资产。
我正在尝试在给定的一天中如何在组织中使用小时资产。
考虑小时数,因为车辆行驶了总公里数。它将保持增量。
我有一份工作,每小时可以获得组织中存在的资产的小时数。
具有相同组织的SampleData快照资产:
在这种情况下,资产仅在一个组织中使用,因此很容易获得一天的时间。
MaxHours(8) - MinHours(2) = 6 hours a day
但是,如果同一天在多个组织中使用资产。我将获得如下数据。
在这里,我按时间排序。
具有多个组织的SampleData快照资产
如果我按资产和组织分组并获得最小值和最大值。将具有如下数据。
GroupBy的组织和资产
但是现在我不能做最大和最小。
例如:组织1
MaxHour(22) - MinHours(10) = 12 hours a day
错了。
首先,组织1将资产“ A”使用了4个小时,然后资产移至组织2。 当天晚些时候,资产又回到了组织1了2个小时。
所以总共应该是6个小时。
应该基于第二个快照。
14 - 10 = 4
22 - 20 = 2
Total: 6 hours
我找不到资产何时移至其他组织。 并且没有获得执行上述计算的逻辑。
请注意,我一天不能使用90万条记录/行,因此无法用于循环。
我正在连接到CosmosDB的Databrick(Python Spark)中进行操作。