Power BI中TOPN函数因重复值返回超N行,如何仅返回指定行数?
问题原因
DAX的TOPN函数默认会返回所有和第N位排序值相同的行,所以当第10位的Number of clicks值存在重复时,返回行数会超过10,这是函数的默认设计。
解决方案
要严格返回10行结果,只需要新增唯一字段作为第二排序维度,打破并列关系即可,这里你可以用唯一的User ID作为第二排序条件,修改后的表达式如下:
High Usage IDs = TOPN(10, 'Potential High Usage', [Number of clicks], DESC, [User ID], ASC)
说明
- 新增的后两个参数定义了第二排序规则:当两个用户的点击量数值相同时,会按照User ID从小到大排序,保证每一行的排序优先级唯一,不会出现并列多返回的情况。
- 如果有其他更符合业务逻辑的第二排序规则(比如用户注册时间、最近活跃时间等),也可以替换
[User ID]的位置,只要确保该字段或者字段组合能让排序优先级唯一即可。
内容的提问来源于stack exchange,提问作者Amy Qutaish
相关产品推荐
相关产品推荐

