Как я могу заполнить в Кусто - PullRequest
0 голосов
/ 08 февраля 2020

Я бы хотел, чтобы мой запрос kusto запоминал и возвращал, т.е. заполнял, последнее непустое или непустое значение, когда я анализирую или извлекаю поле из журнала, как показано ниже.

datatable (Date:datetime, LogEntry:string) [ 
  datetime(1910-06-11), "version: 1.0",
  datetime(1930-01-01), "starting foo",
  datetime(1953-01-01), "ending foo",
  datetime(1910-06-11), "version: 2.0",
  datetime(1930-01-01), "starting foo",
  datetime(1953-01-01), "ending foo" ]
| parse LogEntry with 'version: ' Version
| project Date, Version, LogEntry

Есть ли способ сделать это?

1 Ответ

1 голос
/ 16 февраля 2020

Извините за задержку, вы ищете что-то вроде этого:

let sampleData = datatable (Date:datetime, LogEntry:string) [ 
  datetime(1910-06-11), "version: 1.1",
  datetime(1930-01-01), "starting foo",
  datetime(1953-01-01), "ending foo",
  datetime(1910-06-11), "version: 2.1",
  datetime(1930-01-01), "starting foo",
  datetime(1953-01-01), "ending foo",
  datetime(1950-01-01), "version: 3.1"]
| parse LogEntry with 'version: ' Version:double
| order by Date asc
| extend rn = row_number()
| extend rn = iif(isempty(Version),0 , rn)
| extend rn = row_cumsum(rn, rn!=0);
sampleData
| project-away Version
| lookup (sampleData | where isnotempty(Version) ) on rn
| project-away Date1, LogEntry1, rn

вот вывод:

enter image description here

...