首页 > 解决方案 > 项目运算符中多列的平均值

问题描述

我们在 loganalytics 中有 2 个自定义日志,我能够得到每个自定义日志的平均值,我需要合并这 2 个并使其成为 1 表示 vpn+url 的平均值

workspace(name).vpn_CL
| extend healty=iff(Status_s == 'Connected' , 100 , 0)
| summarize vpn = avg(healty) by EnvName_s, ClientName_s
| 
join
(
    workspace(name).url_CL
    | extend Availability=iff(StatusDescription_s == 'OK' , 100 , 0)
    | summarize URL=avg(Availability) by EnvName_s, ClientName_s
 ) on ClientName_s
  | project Client=ClientName_s, Environment=EnvName_s , vpn , URL

标签: azureazure-data-explorer

解决方案


根据我的理解,我认为平均值的值是当实体数等于实体数时加值与值vpn+url的结果。vpnurlhealtyAvailability

在此处输入图像描述

否则,如果它们的实体数量不相等,则两个标签的平均值是基于它们的概率的期望值,

在此处输入图像描述

然后,

workspace(name).vpn_CL
| extend healty=iff(Status_s == 'Connected' , 100 , 0)
| summarize m = count(), vpn = avg(healty) by EnvName_s, ClientName_s
| 
join
(
    workspace(name).url_CL
    | extend Availability=iff(StatusDescription_s == 'OK' , 100 , 0)
    | summarize n = count(), URL=avg(Availability) by EnvName_s, ClientName_s
 ) on ClientName_s
  | project Client=ClientName_s, Environment=EnvName_s , vpn , URL, avgOfVpnUrl = vpn*m/(m+n)+url*n/(m+n)

希望能帮助到你。


推荐阅读