0

如何实现相当于summarize sum(Trend) by idwhere Trendis 整数数组?

Input:
——————————————————————————
Id    | ParentId | Trend 
——————————————————————————
C1-P1 | P1       | [1,2,3]
C2-P1 | P1       | [4,5,6]
C3-P1 | P1       | [1,1,1]
P1    |          |
C1-P2 | P2       | [4,5,6]
C2-P2 | P2       | [7,8,9]
P2    |          |
—————————————————————————-

Needed Output:
——————————————————————————
Id    | ParentId | Trend 
——————————————————————————
C1-P1 | P1       | [1,2,3]
C2-P1 | P1       | [4,5,6]
C3-P1 | P1       | [1,1,1]
P1    |          | [6,8,10] 
C1-P2 | P2       | [4,5,6]
C2-P2 | P2       | [7,8,9]
P2    |          | [11,13,15]
—————————————————————————-
4

1 回答 1

2

请检查以下查询是否解决了您的情况:它使用mv-expand 运算符和 'with_itemindex' 选项来扩展数组的值。

let _data = datatable(Id:string, ParentId:string, Trend:dynamic)
[
'C1-P1','P1', dynamic([1,2,3]),
'C2-P1', 'P1',  dynamic([4,5,6]),
'C3-P','P1',dynamic([1,1,1]),
'P1','',dynamic([]),
'C1-P2','P2',dynamic([4,5,6]),
'C2-P2','P2',dynamic([7,8,9]),
'P2', '', dynamic([])
];
_data 
| mv-expand with_itemindex=x Trend to typeof(long)
| summarize sum(Trend) by  ParentId, x
| summarize Trend=make_list(sum_Trend) by ParentId
| union (_data | where isnotempty( ParentId))
于 2019-09-08T07:28:09.883 回答