一:思维导图&数据源示例
1.1思维导图
1.2示例数据源
二:参数构成
三:案例度量值
基础度量值
总销量 = CALCULATE(SUM('数据源'[销量])) 总销售额 = CALCULATE(SUM('数据源'[销售额]))
RANK度量值
RANK排名 = RANK( ---MAKE BY SIMONE ---第一参数,skip/dense,可选参数,相同值排名处理, 省略是会默认为skip SKIP, ---第二参数,可选参数,表表达式,计算排名的表,这里选择了数据源中的产品和产品分类列,是因为我们演示的表中,只拉了这两个维度的统计字段,如果涉及更多层级的计算, ---可以在ALLSELECTED参数中,新增字段,这样可以轻松实现多层级、多字段排名 ALLSELECTED('数据源'[产品],'数据源'[产品分类]), ---第三参数,可选参数,排序依据,如省略第2参数必须指定表,这里选择了【总销量】和【总销售额】两个字段来进行排名依据,计算排名中会根据参数的位置确定优先级 ---例如,我们将总销量放在第一个参数位置,那么会优先根据总销量排名,当遇到总销量一样的,才会根据总销售额继续排名 ORDERBY([总销量],DESC,[总销售额],DESC), ---第四参数,可选参数,暂时没有用,这里直接用逗号跳过 , ---第五参数,可选参数,分区依据,如果省略,会默认为一个分区,即不会分区,在这里,我们指定了【产品分类】,可以简单理解为,我们确定了排名的区域,即根据我们奶茶的类型进行排名 ---有点类似与组内排名,而这里的参数相当于指定组,然后根据上面参数的逻辑去排名 PARTITIONBY('数据源'[产品分类]) )RANKX度量值
RANKX排名 = RANKX(ALL('数据源'[产品]),[总销量])
将对应的度量值拉入表格视觉对象,我们可以看到,RANK函数实现了多字段的排名功能,并且可以分组去进行多字段排名。而RANKX实现不了,或者说需要其他辅助,才能实现同样的效果。
四:注意点
1:ALLSELECTED参数,应该和度量值应用的行上下文的字段一致
2:PARTITIONBY参数,要注意理解分区概念,分区应该是第一步,后续的排序逻辑,都是基于分区后的数据,进行排序
标签:函数,数据源,RANK,Powerbi,---,参数,排名,度量 From: https://www.cnblogs.com/simone331/p/17646688.html