0

我希望在某些条件下在 kusto 中使用 percentile() 这是我拥有的数据,


OnStatus| OffStatus | WebId | UserId |
true    | false     | 1     | A123   |
true    | false     | 2     | A123   |
true    | false     | 3     | A123   |
false   | true      | 4     | A123   |
false   | true      | 1     | B123   |
false   | true      | 2     | B123   |
false   | true      | 3     | B123   |
false   | true      | 4     | B123   |

这就是我需要的:每个用户的唯一行,状态为 P50 和 P95,查看所有 WebId

步骤1:

UserId | P50_StatusOn | P95_StatusOn | P50_StatusOff | P95_StatusOff |
A123   | true         | false        | false         | false         |
B123   | false        | false        | true          | true          |

第2步:

| P50_StatusOnCnt | P95_StatusOnCnt | P50_StatusOffCnt | P95_StatusOffCnt |
| 1               | 0               | 1                |  1               |
4

1 回答 1

0

这是您可以为第 1 步执行的操作:

let T = datatable(UserId:string, OnStatus:bool, OffStatus:bool)
[
   "A123", true, false,
   "A123", true, false,
   "A123", true, false,
   "A123", false, false,
   "B123", false, true,
   "B123", false, true,
   "B123", false, true,
   "B123", false, true,
];
T
| summarize
    P50_StatusOn = percentile(OnStatus, 50), 
    P95_StatusOn = percentile(OnStatus, 95),
    P50_StatusOff = percentile(OffStatus, 50), 
    P95_StatusOff = percentile(OffStatus, 95)
by UserId

然后在第二步中简单地添加:

| summarize sum(P50_StatusOn), sum(P95_StatusOn), sum(P50_StatusOff), sum(P95_StatusOff)
于 2021-10-08T06:54:48.060 回答