计算时,Azure Log Analytics聚合类似数据

时间:2018-09-20 16:57:59

标签: azure azure-application-insights azure-log-analytics

我正在尝试获取有关客户使用的浏览器类型的数据。我想要一个饼图来显示 Chrome 用户的百分比, Firefox / Mozilla 用户的百分比, Safari 用户的百分比以及 Edge / IE 用户的百分比。

使用以下查询,我可以列出所有独特的浏览器类型:Chrome57,Chrome59等...

customEvents
| where timestamp >= ago(7d)
| summarize Count=count(customDimensions.Type) by Browser=tostring(customDimensions.Type)
| project Browser,Count
  

如何汇总名称相同但不同的浏览器   版?例如,将所有Chrome浏览器添加到一个巨型浏览器中   总计。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在数据收集步骤中不使用浏览器版本的情况下登录customDimension.Type。如果不是这样,那么第二个最简单的方法是使用reduce运算符,以避免正则表达式字符串操作仅提取浏览器名称。

如果在投射customDimensions.Type之后使用,它将自动对匹配的字符串(浏览器名称)进行分组,并为它们提供计数以及与通配符匹配的示例浏览器字符串。

语法

T | reduce [kind = ReduceKind] by Expr [with [threshold = Threshold] [, characters = Characters] ]

参数

Expr: An expression that evaluates to a string value.
Threshold: A real literal in the range (0..1). Default is 0.1. For large inputs, threshold should be small.
Characters: A string literal containing a list of characters to add to the list of characters that don't break a term. (For example, if you want aaa=bbbb and aaa:bbb to each be a whole term, rather than break on = and :, use ":=" as the string literal.)
ReduceKind: Specifies the reduce flavor. The only valid value for the time being is source.

返回

此运算符返回一个表,该表具有三列(模式,计数和代表),并且具有与组一样多的行。 Pattern是该组的模式值,其中*用作通配符(表示任意插入字符串),Count计数该模式表示操作员输入中有多少行,而Representative是从输入中减去的一个值参加这个小组。

P.S

或者,您也可以给regex extraction这个名称打个比方(例如,提取所有数字之前的所有内容并将其用作浏览器名称)。