Запрос Кусто - сортировка по расширенному столбцу

Как следует настроить запрос Kusto на счетчике, чтобы отображать результаты с правильной последовательной сортировкой по «имени» - сортировка по алфавиту здесь не подходит, поскольку фактическая последовательность значений «имя» - это Шаг F - ›Шаг W -› Шаг B и т. Д. Кажется, мне нужно сопоставить «имя» с расширенным номером столбца с чем-то вроде ‹Step F == 1, Step W == 2, ...›, а затем добавить сортировку по этому столбцу.

timestamp                     name      count
=== ========= ====
01/01/2020, 12:00:00.000 AM   Step W      55
01/01/2020, 12:00:00.000 AM   Step B      44
01/01/2020, 12:00:00.000 AM   Step F      33
01/01/2020, 12:00:00.000 AM   Step D      10

Помогите настроить запрос:

tablename 
| where name == "Step D"
or name == "Step F"
or name == "Step B"
or name == "Step W"
| summarize count() by name, bin(timestamp, 1d) 

person Milla13    schedule 17.11.2020    source источник


Ответы (1)


Если я правильно понял, вас интересует что-то вроде этого:

let weights = dynamic({"Step F":1, "Step W":2, "Step B": 3, "Step D":4});
datatable(timestamp:datetime, name:string, count:int)
[
    datetime(01/01/2020 12:00:00.000 AM), 'Step W', 55,
    datetime(01/01/2020 12:00:00.000 AM), 'Step B', 44,
    datetime(01/01/2020 12:00:00.000 AM), 'Step F', 33,
    datetime(01/01/2020 12:00:00.000 AM), 'Step D', 10,
]
| order by toint(weights[name]) asc

или по вашему запросу:

let weights = dynamic({"Step F":1, "Step W":2, "Step B": 3, "Step D":4});
tablename 
| where name in("Step D", "Step F", "Step B", "Step W")
| summarize count() by name, bin(timestamp, 1d)
| order by toint(weights[name]) asc
person Yoni    schedule 17.11.2020