PowerBI 如何返回按序排列的元素文本
我们常常需要 PowerBI 返回元素,而不是值,例如:
这里返回了 TOP 4 的元素,公式如下:
Info = CONCATENATEX( TOPN( 4 , Data , [Value] ) , [Item] , "," )
仔细观察下,问题来了:
E D C A 并不是按照元素大小排列的,因为,原始数据如下:
返回的元素是按照原始数据构成排列的。
我们希望按照元素大小排列怎么办呢?下面给出终极解法:
对应的 DAX 公式如下:
Info.ByOrder =
VAR vTopN = 4
VAR vData = TOPN( vTopN , Data , [Value] )
VAR vDataWithRank = ADDCOLUMNS( vData , "Rank" , RANKX( vData , [Value] , [Value] ) )
RETURN
CONCATENATEX(
GENERATESERIES( 1 , vTopN ) ,
SELECTCOLUMNS( FILTER( vDataWithRank , [Rank] = EARLIER( [Value] ) ) , "Item" , [Item] ) ,
","
)
其中,值得注意的是,先加序号,再通过序号列反向查找元素后给出文本。
在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,可以下载本文案例,还可以观看视频讲解。
Power BI 终极系列课程《BI真经》
BI真经 - 让数据真正成为你的力量
扫码与精英一起讨论 Power BI,验证码:data2021
点击“阅读原文”进入学习中心
↙
评论