首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用左联接kql获取行数?函数'row_number‘不能在当前上下文中调用。详细信息:必须序列化行集。

使用左联接kql获取行数?函数'row_number‘不能在当前上下文中调用。详细信息:必须序列化行集。
EN

Stack Overflow用户
提问于 2021-05-31 14:18:14
回答 1查看 875关注 0票数 0

我有以下查询:

代码语言:javascript
复制
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 

它确实让用户从特定的提供者那里获得,然后查看他们将要访问的URL。

我现在正试图从那个提供商那里得到多少用户。

我可以只做distinct session_Idcount,但是我想要做的是添加两列,首先是针对特定session_id的列,然后在它更改时增加它,另一列是增加请求的数量。

i.e

I 已尝试

代码语言:javascript
复制
 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) 

但它给了我

函数'row_number‘不能在当前上下文中调用。详细信息:必须序列化行集。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-31 14:43:24

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

row_number()只对序列化的记录起作用,在使用order byserialize之后就有了这些记录。

因此,您的问题的解决方案是在| serialize之前添加| extend Rank=row_number(1)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67775487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档