2017-05-14 42 views
0

我需要格式化彙總日期,以便生成可讀的可排序格式。我創建了使用下面的代碼幾天內聚集請求數時間序列:Azure應用程序見解:如何格式化日期(和數字)

let us_date = (t:datetime) 
{ 
    strcat( getmonth(t - 8h), "-", dayofmonth(t - 8h)) 
}; 
requests 
| project timestamp, client_IP, local_date = us_date(timestamp) 
| where timestamp >= now() - 30d and timestamp <= now() + 1d 
| summarize uniqueUsers = dcount(client_IP) by usdate = us_date(timestamp) 
| order by usdate desc 

主要生產:

enter image description here

的數據是好的,但由於格式化排序順序已關閉。

爲了正確排序應看起來像05-09,但我看不到一種方法來做這種格式。

注意,我可以做以下,並在右爲了獲取數據,但醜陋格式:

let us_date = (t:datetime) 
{ 
    strcat( getyear(t - 8h) , '-', getmonth(t - 8h), "-", dayofmonth(t - 8h)) 
}; 
requests 
| project timestamp, client_IP 
| where timestamp >= now() - 30d and timestamp <= now() + 1d 
| summarize uniqueUsers = dcount(client_IP) by usdate = bin(timestamp - 8h,1d) 
| order by usdate desc 

,但是這會產生非常詳細列表視圖,還嵌入了時間到圖表。

enter image description here

任何想法如何解決無論是數字格式的問題或如何獲得另一個值進入查詢允許在不擺脫的結果排序?

回答

0

a)您可以在summarize之後project更改列格式,列名或列順序。

b)您可以格式化bin的結果。

+0

你的意思是'project'對?是的,這種工作,但仍然無法得到一個格式化的列表,看起來是正確的。我真正想要的是像C#字符串格式'yyyy-MM-dd'或'n2'的數字。似乎很奇怪,沿着這些線(或者至少是'PADL' /'PADR'功能缺失)。 –

+0

'項目',是的。我糾正了它。 – arboreal84

+0

不幸的是,我不再有一個見解env玩,但這是我以前在當天做的。如果你分享你的更新查詢,也許我們可以從那裏去。 – arboreal84

0

有點難看,但字符串分析可以在這裏做的伎倆:

requests 
| project timestamp, client_IP 
| where timestamp >= now() - 30d and timestamp <= now() + 1d 
| summarize uniqueUsers = dcount(client_IP) by usdate = bin(timestamp - 8h,1d) 
| parse tostring(usdate) with year "-" shortDate "T" * 
| project shortDate, uniqueUsers** 
| order by shortDate desc 

的解決之道在於parse線 - 只取日期的月和日