【发布时间】: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