簡體   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