Azure Data Explorer table has 2 columns with array of same size. I want to add a new column that joins ith index of both arrays with underscore to create new array of same size.
zip()
function can only create array of array with each element being an array of 2 of type [ array1[i], array2[i] ]
.
I want each element of new column array as array[i]_array2[i]
.
e.g. Column arr1 = [ 'A1', 'A2', 'A3', arr2 = ['10', '20', '30'] I want to create a new column 'Out' = [ 'A1_10', 'A2_20', 'A3_30']
Input table:
datatable (Val:int, Arr1:dynamic, Arr2:dynamic)
[ 1, dynamic(['A1', 'A2', 'A3']), dynamic(['C1', 'C2', 'C3']),
2, dynamic(['B1', 'B2']), dynamic(['D1', 'D2'])
]
Expected table:
datatable (Val:int, Arr1:dynamic, Arr2:dynamic, Out:dynamic )
[ 1, dynamic(['A1', 'A2', 'A3']), dynamic(['C1', 'C2', 'C3']),
dynamic(['A1_C1', 'A2_C2', 'A3_C3']),
2, dynamic(['B1', 'B2']), dynamic(['D1', 'D2']),
dynamic(['B1_D1', 'B2_D2'])
]
Does this work?
datatable (Val:int, Arr1:dynamic, Arr2:dynamic)
[ 1, dynamic(['A1', 'A2', 'A3']), dynamic(['C1', 'C2', 'C3']),
2, dynamic(['B1', 'B2']), dynamic(['D1', 'D2'])
]
| mv-apply Arr1, Arr2 on (
extend Out = strcat(Arr1, "_", Arr2)
| summarize Arr1 = make_list(Arr1), Arr2 = make_list(Arr2), Out= make_list(Out)
)
Val | Arr1 | Arr2 | Out |
---|---|---|---|
1 | [ "A1", "A2", "A3" ] |
[ "C1", "C2", "C3" ] |
[ "A1_C1", "A2_C2", "A3_C3" ] |
2 | [ "B1", "B2" ] |
[ "D1", "D2" ] |
[ "B1_D1", "B2_D2" ] |