使用 Left Join kql 获取行数?无法在当前上下文中调用函数“row_number”。详细信息:行集必须序列化

Mat*_*ius 2 row-number azure-log-analytics kql

我有以下查询:

let p1 = pageViews | where url has "xxx";
p1
| join kind=inner (pageViews 
        | where  url !has "xxx")
on session_Id
| project timestamp1, session_Id1, url1, client_CountryOrRegion1, client_StateOrProvince1, client_City1, user_Id1 
Run Code Online (Sandbox Code Playgroud)

它确实获取来自某个提供商的用户,然后查看他们将访问哪些 URL。

我现在正在尝试了解我从该提供商那里获得了多少用户。

我可以这样做distinct session_Idcount但我想做的是添加两列,第一列用于特定的 session_id,然后在它更改时增加它,另一列用于增加发出的请求数。

IE

在此输入图像描述

试过

 let p1 = pageViews | where url has "project-management";
p1
| join kind=inner (pageViews 
        | where  url !has "project-management")
on session_Id
| project timestamp1, session_Id1, url1, client_CountryOrRegion1, client_StateOrProvince1, client_City1, user_Id1 
| extend Rank=row_number(1) 
Run Code Online (Sandbox Code Playgroud)

但它给了我

无法在当前上下文中调用函数“row_number”。详细信息:行集必须序列化

Sla*_*k N 7

输出中的记录未排序,因此没有任何意义row_number()

row_number()order by仅适用于使用, 或后获得的序列化记录serialize

| serialize所以你的问题的解决方案是在 之前添加| extend Rank=row_number(1).