1

我想显示每个时间片的最小值、最大值以及最大值和最小值之间的差的图表。它适用于最小值和最大值

| parse "FromPosition *)" as FromPosition
| timeslice 2h  
|  max(FromPosition) ,min(FromPosition)  group by _timeslice 

但我找不到指定差异的正确方法。例如

| (max(FromPosition)- min(FromPosition))  as diffFromPosition  by _timeslice

返回错误 - 发现意外的令牌“b”。

按照https://help.sumologic.com/05Search/Search-Query-Language/aaGroup上的建议,我尝试了几种不同的组合来在不同的行上声明它们。例如

| int(FromPosition) as intFromPosition
| max(intFromPosition) as  maxFromPosition , min(intFromPosition) as minFromPosition 
| (maxFromPosition - minFromPosition) as diffFromPosition
| diffFromPosition by _timeslice

没有成功。

谁能建议正确的语法?

4

1 回答 1

1

尝试这个:

| parse "FromPosition *)" as FromPosition
| timeslice 2h  
| max(FromPosition), min(FromPosition) by _timeslice 
| _max - _min as diffFromPosition
| fields _timeslice, diffFromPosition

这是让group bymin 和 max 函数知道要使用的范围,而不是整个搜索查询的 group by。这就是您收到语法错误的原因,也是我更喜欢by按上述方式使用的原因之一。

对于这些类型的查询,我通常更喜欢你会做的箱线图:

| min(FromPosition), pct(FromPosition, 25), pct(FromPosition, 50), pct(FromPosition, 75), max(FromPosition) by _timeslice

然后选择箱线图作为图表类型。在仪表板上看起来很棒,并且一目了然地提供了很多关于偏差的详细信息。

于 2019-01-04T19:31:13.503 回答