PowerBI 如何返回按序排列的元素文本

PowerBI战友联盟

共 835字,需浏览 2分钟

 ·

2021-09-03 21:36

我们常常需要 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

点击“阅读原文”进入学习中心


浏览 77
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报