azure KQL查询中的多个日期

5vf7fwbs  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(156)

我正试图使用KQL创建一个哨兵查询,它只会搜索某些日期的信息,如银行假日。我已经看到这可以在其他查询语言,但最好的,我已经创造了到目前为止,是有多个日期在一行,如

let startdate = (datetime(23/09/2022));
let enddate = (datetime(26/09/2022));

where timegenerated between (startdate .. enddate)

然而,这不允许多个不同的日期槽。我已经尝试在下面创建一个日期数组,但是'!contains'对timegenerated字段无效。有谁知道解决办法吗?

let HolidayDates = datatable(HDates: string)

[

'24/12/2022',

'25/12/2022',

//first holiday

'01/01/2023',

'02/01/2023',

'03/01/2023',

//New years

'07/04/2023',

'08/04/2023',

'09/04/2023',

'10/04/2023'

//easter holiday

];


| where TimeGenerated !contain (HolidayDates)
gblwokeq

gblwokeq1#

你可以这样做:

let HolidayDateTimes = datatable(HDates: datetime )
[
datetime(2022-12-24),
datetime(2022-09-27),
datetime(2022-12-25)];
traces | where startofday(timestamp) in (HolidayDateTimes)

除了使用contains(一个字符串运算符)之外,还可以使用in操作来检查某个项是否在集合中。然后我使用startofday来去除时间信息。

相关问题