繁体   English   中英

如何在 Kusto 查询中排除周末?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM