Dax 基于 Top N 转置 table - Power BI
Dax to Transpose a table based on Top N - Power BI
在 POWER BI DAX 中寻求帮助 - 我创建了一个 DAX table,它采用名称并将各种结果及其可能性转换为以下格式:
目前,我有一个措施来确定前 3 个不同的输出,其形式如下:
Most Likely =
LOOKUPVALUE(
'Test'[Result],
'Test'[Expected Percentage],
MINX(
TOPN(
1,
'Test',
'Test'[Expected Percentage],
desc),
'Test'[Expected Percentage])
)
我用它在我的仪表板中显示,以根据预期输出的最高百分比显示最有可能的结果。
但是,现在我想将此数据转换为以下静态 table 格式:
我遇到的问题是 DAX table 添加语句没有按名称拆分,因此我正在检索整个 table 的最高预期百分比并且它没有按名称拆分- 这是我目前正在使用的:
Outcomes Summary = (
SELECTCOLUMNS('Test', "Most Likely",
LOOKUPVALUE(
'Test'[Result],
'Test'[Expected Percentage],
MINX(
TOPN(
1,
'Test',
'Test'[Expected Percentage]&'Score Outcomes'[Name],
desc),
'Score Outcomes'[Expected Percentage])
), "Name", 'Test'[Name], "Result", 'Test'[Expected Percentage]
)
)
如有任何帮助,我们将不胜感激!
如果您先将排名列添加到 table,这会变得更容易一些。
Summary =
VAR AddRank =
ADDCOLUMNS (
Test,
"@Rank",
RANKX (
FILTER ( Test, Test[Name] = EARLIER ( Test[Name] ) ),
Test[Expected Percentage]
)
)
RETURN
SUMMARIZE (
AddRank,
Test[Name],
"Most Likely",
MAXX (
FILTER ( AddRank, [@Rank] = 1 && Test[Name] = EARLIER ( Test[Name] ) ),
Test[Result]
),
"2nd Most Likely",
MAXX (
FILTER ( AddRank, [@Rank] = 2 && Test[Name] = EARLIER ( Test[Name] ) ),
Test[Result]
),
"3rd Most Likely",
MAXX (
FILTER ( AddRank, [@Rank] = 3 && Test[Name] = EARLIER ( Test[Name] ) ),
Test[Result]
)
)
在 POWER BI DAX 中寻求帮助 - 我创建了一个 DAX table,它采用名称并将各种结果及其可能性转换为以下格式:
目前,我有一个措施来确定前 3 个不同的输出,其形式如下:
Most Likely =
LOOKUPVALUE(
'Test'[Result],
'Test'[Expected Percentage],
MINX(
TOPN(
1,
'Test',
'Test'[Expected Percentage],
desc),
'Test'[Expected Percentage])
)
我用它在我的仪表板中显示,以根据预期输出的最高百分比显示最有可能的结果。
但是,现在我想将此数据转换为以下静态 table 格式:
我遇到的问题是 DAX table 添加语句没有按名称拆分,因此我正在检索整个 table 的最高预期百分比并且它没有按名称拆分- 这是我目前正在使用的:
Outcomes Summary = (
SELECTCOLUMNS('Test', "Most Likely",
LOOKUPVALUE(
'Test'[Result],
'Test'[Expected Percentage],
MINX(
TOPN(
1,
'Test',
'Test'[Expected Percentage]&'Score Outcomes'[Name],
desc),
'Score Outcomes'[Expected Percentage])
), "Name", 'Test'[Name], "Result", 'Test'[Expected Percentage]
)
)
如有任何帮助,我们将不胜感激!
如果您先将排名列添加到 table,这会变得更容易一些。
Summary =
VAR AddRank =
ADDCOLUMNS (
Test,
"@Rank",
RANKX (
FILTER ( Test, Test[Name] = EARLIER ( Test[Name] ) ),
Test[Expected Percentage]
)
)
RETURN
SUMMARIZE (
AddRank,
Test[Name],
"Most Likely",
MAXX (
FILTER ( AddRank, [@Rank] = 1 && Test[Name] = EARLIER ( Test[Name] ) ),
Test[Result]
),
"2nd Most Likely",
MAXX (
FILTER ( AddRank, [@Rank] = 2 && Test[Name] = EARLIER ( Test[Name] ) ),
Test[Result]
),
"3rd Most Likely",
MAXX (
FILTER ( AddRank, [@Rank] = 3 && Test[Name] = EARLIER ( Test[Name] ) ),
Test[Result]
)
)