Azure Log Analytics (Kusto) Конвертировать из гекса - PullRequest
0 голосов
/ 21 мая 2019

Есть ли способ конвертировать из гекса в Кусто? Я вижу скалярную функцию для преобразования в шестнадцатеричное, но я хочу преобразовать из шестнадцатеричного.

https://docs.microsoft.com/en-us/azure/kusto/query/tohexfunction

Ответы [ 2 ]

1 голос
/ 21 мая 2019

вы можете использовать шестнадцатеричное значение для длинного литерала, например:

печать длинная (0x123)

подробнее здесь: https://docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types/long

0 голосов
/ 09 июля 2019

(Публикация в старой ветке, если кто-нибудь найдет это в будущем.)

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

...