azure - 项目运算符中多列的平均值
问题描述
我们在 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
解决方案
根据我的理解,我认为平均值的值是当实体数等于实体数时加值与值vpn+url
的结果。vpn
url
healty
Availability
否则,如果它们的实体数量不相等,则两个标签的平均值是基于它们的概率的期望值,
然后,
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)
希望能帮助到你。
推荐阅读
- powershell - 如何使用 powershell 变量设置 Excel 工作表名称?
- docker - 无法通过 ssh 进入 docker 容器
- python - 使用 Pandas 数据框将具有非不同值(来自 csv)的列转换为具有唯一/不同值(保存在新 csv 中)的列?
- c - 如何在 Cython 中包装 C 内循环
- amazon-web-services - 是什么导致 Postman 中出现 InvalidSignatureException?
- javascript - 在 Chart.js 中将 x 轴标签格式化为时间值
- haskell - 使用 Haskell 中纸牌游戏的数据模型避免不可能的状态
- sql-server - 将 SQL Server 文件流数据移动到 AWS S3
- javascript - 如何使用 react-calendar 动态呈现列表?
- ruby-on-rails - Rails 随机选择 3 个不同的帖子