【问题标题】:How to use RankX in POWER BI with 2 values with criteria如何在 POWER BI 中使用具有 2 个值和条件的 RankX
【发布时间】:2020-09-29 16:39:27
【问题描述】:

我在 Power Bi 中有下表,并想添加基于两列的计算列,但按以下组合的顺序排列没有平局。例如:

ORDER = IF [MAX GOAL] > 0% AND [TAG]='FALSE' THEN [DISTINCT COUNT]
IF [MAX GOAL) > 0% AND [TAG]='TRUE' THEN [DISTINCT COUNT]
IF [[TAG] ='FALSE' THEN [DISTINCT COUNT]
IF [TAG]='TRUE' THEN [DISTINCT COUNT]

这是我想要的结果的表格示例:

Order Company#  Company_Name    Goal_Name   Max_GOAL    TAG
    1   1001    COMPANY NAME 1  GOAL 1      25%         FALSE
    2   1001    COMPANY NAME 1  GOAL 2      81%         FALSE
    3   1001    COMPANY NAME 1  GOAL 3      40%         FALSE
    4   1001    COMPANY NAME 1  GOAL 4      26%         TRUE
    5   1001    COMPANY NAME 1  GOAL 5      0%          FALSE
    6   1001    COMPANY NAME 1  GOAL 6      0%          TRUE
    1   1002    COMPANY NAME 2  GOAL 1      26%         FALSE
    2   1002    COMPANY NAME 2  GOAL 2      66%         FALSE
    3   1002    COMPANY NAME 2  GOAL 3      40%         FALSE
    4   1002    COMPANY NAME 2  GOAL 4      68%         TRUE
    5   1002    COMPANY NAME 2  GOAL 5      0%          FALSE
    6   1002    COMPANY NAME 2  GOAL 6      0%          FALSE

这也是我尝试和工作的示例代码,以防其他人需要它:

    RANKX(FILTER (
        GroupGoalMapping,
        GroupGoalMapping[GroupNumber] = EARLIER ( GroupGoalMapping[GroupNumber] ) 
    ),
    RANKX ( ALL ( GroupGoalMapping ), GroupGoalMapping[AnnualMaximum] * IF(GroupGoalMapping[AlternateGoal]="FALSE",2),, DESC )
        + DIVIDE (
            RANKX ( ALL ( GroupGoalMapping ), GroupGoalMapping[AnnualMaximum] * IF(GroupGoalMapping[AlternateGoal]="TRUE",1)  ,, DESC ),
            COUNTROWS ( ALL ( GroupGoalMapping ) ) + 1
        )
        + DIVIDE (
            DIVIDE (
                RANKX ( ALL ( GroupGoalMapping ), GroupGoalMapping[GoalName_Order] ,, ASC,Dense ),
                ( COUNTROWS ( ALL ( GroupGoalMapping ) ) + 1 )
            ),
            COUNTROWS ( ALL ( GroupGoalMapping ) ) + 1
        ),
    ,
    ASC,
    DENSE
)

【问题讨论】:

  • 您能否提供文本输出和所需的输出作为表格?另外,你能定义[DISTINCT COUNT]吗?
  • @AngeloCanepa 谢谢!我在 sn-p 中添加了文本,我需要排名或计数而不打领带。

标签: powerbi dax powerquery


【解决方案1】:

我想通了:

RANKX(FILTER (
            GroupGoalMapping,
            GroupGoalMapping[GroupNumber] = EARLIER ( GroupGoalMapping[GroupNumber] ) 
        ),
        RANKX ( ALL ( GroupGoalMapping ), GroupGoalMapping[AnnualMaximum] * IF(GroupGoalMapping[AlternateGoal]="FALSE",2),, DESC )
            + DIVIDE (
                RANKX ( ALL ( GroupGoalMapping ), GroupGoalMapping[AnnualMaximum] * IF(GroupGoalMapping[AlternateGoal]="TRUE",1)  ,, DESC ),
                COUNTROWS ( ALL ( GroupGoalMapping ) ) + 1
            )
            + DIVIDE (
                DIVIDE (
                    RANKX ( ALL ( GroupGoalMapping ), GroupGoalMapping[GoalName_Order] ,, ASC,Dense ),
                    ( COUNTROWS ( ALL ( GroupGoalMapping ) ) + 1 )
                ),
                COUNTROWS ( ALL ( GroupGoalMapping ) ) + 1
            ),
        ,
        ASC,
        DENSE
    )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 2019-11-19
    • 2021-10-30
    • 2020-05-07
    相关资源
    最近更新 更多