我有以下查询:let table = MyMaterialisedView| extend Value= iff(isnan(Value), double(null), Value) //用 Nulls 替换 NAN,以避免在计算平均值时出现问题| order by
我有以下疑问:
let table = MyMaterialisedView
| extend Value= iff(isnan(Value), double(null), Value) //replacing NANs with Nulls to avoid issues when calculating the Average
| order by ObjectAndId asc, ['10MinBin'] asc
| scan declare (val: real) with
(
step s1: true => val = iff(ObjectAndId == s1.ObjectAndId , iff(isempty(Value), s1.val, Value), Value);
)
| extend Value = val
| project-away val, ObjectAndId ;
table
这里 所做的基本上是查询我的物化视图,并将每个 ObjectAndId 组的空值替换为最新的非空值。我按照 Kusto 文档的建议使用扫描运算符
这将按预期向前填充值。我的问题是这个函数的内存消耗非常高,这是因为我有一个非常大的数据集。我该如何改进逻辑来向前填充我的数据集?
谢谢