我正在針對 Azure Application Insights 運行 KQL(Kusto 查詢語言)查詢。我有一些我想每周匯總的測量值。我試圖弄清楚如何將我的資料分成幾周。
為了說明我所尋求的,這里有一個計算持續時間列的每日平均值的查詢。
requests
| where timestamp > ago(7d)
| summarize
avg(duration)
by
Date = format_datetime(timestamp, "yyyy-MM-dd")
這會產生類似的東西:

在上面我已經將日期時間轉換為字串,因此有效地將它們“四舍五入”到一天的精度。這可能很難看,但這是我能想到的最簡單的方法,以便對某一天的所有結果進行分組。使用相同的技術將其舍入到數月或數年將是微不足道的。
但是,如果我想按周對日期時間進行分組怎么辦?有沒有一個很好的方法來做到這一點?
我不在乎我的“周”是從星期一、星期日還是 1 月 1 日或其他什么時候開始的。我只想將一組 KQL 日期時間分組為 7 天的塊。我怎樣才能做到這一點?
提前致謝!
uj5u.com熱心網友回復:
看起來您正在尋找“bin()”函式:
requests
| where timestamp > ago(7d)
| summarize
avg(duration)
by
bin(timestamp, 1d) // one day, for 7 days change it to 7d
uj5u.com熱心網友回復:
我發現我可以使用week_of_year函式按周數拆分日期時間:
requests
| where timestamp > ago(30d)
| summarize
avg(duration)
by
Week = week_of_year(timestamp)
| sort by Week

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/435934.html
