RANKX 显示双数和跳过系列
RANKX showing double numbers and skipping series
我一直在尝试使用计算列对 2 列进行排名,但是,我似乎无法使其正常工作。我是 Power BI 的新手,所以我不确定我是否遗漏了什么。我怀疑它与我的过滤器有关,但即使没有过滤器,RANKX 仍然无法正常工作。
我创建了一个新的table
rankingYear =
SUMMARIZE(
responses,
responses[Year],
responses[Name],
"Positive", SUM(responses[Positive]),
"Passive", SUM(responses[Passive]),
"Negative", SUM(responses[Negative]),
"Responses", SUM(responses[Responses]),
"Score", IFERROR(((SUM(responses[Positive])/SUM(responses[Responses]))-(SUM(responses[Negative])/SUM(responses[Responses])))*100,0)
)
然后我将其转换为 Table 可视化,然后我添加了一些过滤器以隐藏空 Names, Year是 2022,并且 Responses 必须大于 4
然后我创建了一个 Ranker 列,稍后我将用于 RANKX:
Ranker =
VAR MaxResponse = MAX(rankingYear[Responses])
VAR Result =
(rankingYear[Score] * MaxResponse) + rankingYear[Responses]
RETURN
Result
然后我创建了排名列:
Rank = RANKX(ALLSELECTED(rankingYear),rankingYear[Ranker],,DESC,Dense)
但是,它不会显示正确的系列。它加倍并跳过一些数字:
我在此处向我的示例数据添加 link:
Sample Data
希望有人能帮我解决这个问题。谢谢!
问题是您将度量放入计算列中。作为一个列,您的度量工作得很好,因为它对 table 中的每一行进行了排名,就像您可以查看是否查看数据一样。计算列不受筛选视觉对象的影响。要使 table 视觉过滤器发挥作用,只需将其转换为适当的度量即可。为了方便工作,可以对RANKX表达式进行度量,例如:
Ranker_Sum = SUM('Sample Data'[Ranker])
你们都准备好了:
Rank as a measure = RANKX(ALLSELECTED('Sample Data'); [Ranker_Sum];;DESC;Dense)
它应该在 table 有过滤器的情况下像这样工作。
我一直在尝试使用计算列对 2 列进行排名,但是,我似乎无法使其正常工作。我是 Power BI 的新手,所以我不确定我是否遗漏了什么。我怀疑它与我的过滤器有关,但即使没有过滤器,RANKX 仍然无法正常工作。
我创建了一个新的table
rankingYear =
SUMMARIZE(
responses,
responses[Year],
responses[Name],
"Positive", SUM(responses[Positive]),
"Passive", SUM(responses[Passive]),
"Negative", SUM(responses[Negative]),
"Responses", SUM(responses[Responses]),
"Score", IFERROR(((SUM(responses[Positive])/SUM(responses[Responses]))-(SUM(responses[Negative])/SUM(responses[Responses])))*100,0)
)
然后我将其转换为 Table 可视化,然后我添加了一些过滤器以隐藏空 Names, Year是 2022,并且 Responses 必须大于 4
然后我创建了一个 Ranker 列,稍后我将用于 RANKX:
Ranker =
VAR MaxResponse = MAX(rankingYear[Responses])
VAR Result =
(rankingYear[Score] * MaxResponse) + rankingYear[Responses]
RETURN
Result
然后我创建了排名列:
Rank = RANKX(ALLSELECTED(rankingYear),rankingYear[Ranker],,DESC,Dense)
但是,它不会显示正确的系列。它加倍并跳过一些数字:
我在此处向我的示例数据添加 link: Sample Data
希望有人能帮我解决这个问题。谢谢!
问题是您将度量放入计算列中。作为一个列,您的度量工作得很好,因为它对 table 中的每一行进行了排名,就像您可以查看是否查看数据一样。计算列不受筛选视觉对象的影响。要使 table 视觉过滤器发挥作用,只需将其转换为适当的度量即可。为了方便工作,可以对RANKX表达式进行度量,例如:
Ranker_Sum = SUM('Sample Data'[Ranker])
你们都准备好了:
Rank as a measure = RANKX(ALLSELECTED('Sample Data'); [Ranker_Sum];;DESC;Dense)
它应该在 table 有过滤器的情况下像这样工作。