(Публикация в старой ветке, если кто-нибудь найдет это в будущем.)
let T = datatable(Value:string) [
'A2FF',
'BEAD',
'CAFE',
'FACE',
'C0C0'
];
T
| extend ValueExtracted = extract_all('(.)', reverse(Value))
| mv-expand ValueExtracted
| serialize
| extend ValueIndex = indexof('0123456789ABCDEF', ValueExtracted, 0)
| extend ValuePow = row_number(0, prev(Value) != Value)
| extend ValueDig = pow(16, ValuePow) * ValueIndex
| summarize ValueComplete = sum(ValueDig) by Value
| extend ToHexCalc = tohex(toint(ValueComplete))
Конечно, это не красиво, но, кажется, работает по крайней мере для этого набора данных. Встроенная функция была бы намного лучше, я согласен.
https://docs.microsoft.com/en-us/azure/kusto/query/tohexfunction
https://docs.microsoft.com/en-us/azure/kusto/query/mvexpandoperator
https://docs.microsoft.com/en-us/azure/kusto/query/indexoffunction
https://docs.microsoft.com/en-us/azure/kusto/query/rownumberfunction
https://docs.microsoft.com/en-us/azure/kusto/query/powfunction
Выход:
Value, ValueComplete, ToHexCalc
A2FF, 41727, a2ff
БУС, 48813, бусина
КАФЕ, 51966, кафе
ЛИЦО, 64206, лицо
C0C0, 49344, c0c0