Как проецировать пару значений ключа json на столбцы без явного указания имени

В customDimensions у меня есть x количество данных пары ключ-значение (в настоящее время только два Name и Channel в качестве примера на скриншоте ниже)

введите здесь описание изображения

и я хотел бы спроецировать их на столбцы без явного указания имени ключа, чтобы в будущем, если в лог добавилась новая пара ключ-значение, мне не пришлось переходить назад и изменить мой запрос, чтобы отобразить его как новый столбец.

введите здесь описание изображения

Благодарю вас!




Ответы (1)


Язык запросов Kusto включает подключаемый модуль bag_unpack(): https://docs.microsoft.com/en-us/azure/kusto/query/bag-unpackplugin

Вот пример:

datatable(anotherColumn:int, customDimensions:dynamic)
[
    1, dynamic({"Name":"mfdg",  "Channel":"wer"}),
    2, dynamic({"Name":"mfdg2", "Channel":"wer2"}),
    3, dynamic({"NotAName":2.22, "NotAChannel":7}),
]
| evaluate bag_unpack(customDimensions)

Который дает:

| anotherColumn | Name  | Channel | NotAName | NotAChannel |
|---------------|-------|---------|----------|-------------|
| 1             | mfdg  | wer     |          |             |
| 2             | mfdg2 | wer2    |          |             |
| 3             |       |         | 2.22     | 7           |
person Yoni    schedule 01.12.2018