首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在为一列在另一列的上下文中建立动态排名函数时存在问题

在为一列在另一列的上下文中建立动态排名函数时存在问题
EN

Stack Overflow用户
提问于 2021-07-10 18:35:27
回答 2查看 47关注 0票数 0

我在PowerBI中遇到了一个功能问题。我将描述她的情况-我有以下数据:

在这里,我必须让切片器根据列B选择前10列或所有其他列(对于每一列A)。(即,如果我们在切片器中选择前10列,那么metrix应该为每列A显示前10列B,因此应该适用于所有其他选项。

在我看来,一种方法是为列A中的每一列B创建一个动态排名(我采用动态排名,因为页面上还有其他过滤器,所以我们的排名总是从1开始),如下所示:(如果在切片器中选择了all,则会显示此结果。

如表所示,对每一列A的B列进行排名。

现在假设我在区域切片器中选择区域abc,那么表应该如下所示。“

排名应该是动态的,如果我选择其他一些地区,那么排名也应该根据所选地区的B列进行混洗。

EN

回答 2

Stack Overflow用户

发布于 2021-07-10 20:56:06

代码语言:javascript
复制
_max: = max(tbl[colB])    
Rank:= RANKX(ALLEXCEPT(tbl,tbl[colA]),[_max],,DESC,Dense)

尝试以上两种方法

票数 1
EN

Stack Overflow用户

发布于 2021-07-12 21:15:11

用措施解决这两个问题

#1

代码语言:javascript
复制
Rank =
VAR _1 =
    MAX ( 'Table'[colA] )
VAR _2 =
    MAX ( 'Table'[region] )
VAR _3 =
    RANKX (
        FILTER ( ALLSELECTED ( 'Table' ), 'Table'[colA] = _1 && 'Table'[region] = _2 ),
        CALCULATE ( MAX ( 'Table'[colB] ) ),
        ,
        DESC,
        DENSE
    )
RETURN
    _3 

#2

代码语言:javascript
复制
Rank =
RANKX (
    ALLEXCEPT ( 'Table', 'Table'[reg], 'Table'[colA] ),
    CALCULATE ( MAX ( 'Table'[colB] ) ),
    ,
    DESC,
    DENSE
)

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

https://stackoverflow.com/questions/68326902

复制
相关文章

相似问题

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