[英]How to exclude weekends in Kusto query?
有没有办法使用现有的 Kusto 命令排除两个日期之间的周末? 我在这里找不到正确的 function https://kusto.azurewebsites.net/docs/queryLanguage/query-essentials/readme.html
您可以使用| where dayofweek(timestamp) < 6
| where dayofweek(timestamp) < 6
从您的查询中排除星期六和星期日。 请参阅dayofweek() 文档。
我认为德米特里的评论可能已经过时,因为它不起作用。 第 0 个索引代表星期日,第 6 个索引代表星期六。 排除周末的更具体的工作示例如下:
| where dayofweek(Timestamp) != time(6.00:00:00)
| where dayofweek(Timestamp) != time(0.00:00:00)
如果需要,可以进一步浓缩。
源自 Void.Massive 答案。
为了提高可读性,我只是为周六/周日创建了变量,因为我不经常使用这个逻辑,或者如果我正在分享,我想让这个逻辑对读者来说更容易一些。
let Saturday = time(6.00:00:00);
let Sunday = time(0.00:00:00);
//
| where dayofweek(Timestamp) != Saturday
| where dayofweek(Timestamp) != Sunday
另一种选择是执行!in
check。
let T = datatable(timestamp: datetime)
[
datetime("2022-04-03"), // Sunday
datetime("2022-04-04"), // Monday
datetime("2022-04-05"), // Tuesday
datetime("2022-04-06"), // Wednesday
datetime("2022-04-07"), // Thursday
datetime("2022-04-08"), // Friday
datetime("2022-04-09"), // Saturday
datetime("2022-04-10"), // Sunday
];
T
// 0d = Sunday, 6d = Saturday
| where dayofweek(timestamp) !in (0d, 6d)
正如有人已经指出的那样,德米特里的评论已经过时并且不起作用。 这里的其他答案更好。 但是,我认为现在有一种不同但更好的方法是将此条件添加到 where 子句中:
and dayofweek(timestamp) between (1d .. 5d)
其中 1d 是星期一,5d 是星期五
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.