Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hello community.
Please help me recreate the Excel table in Power BI.
Expected result:
Link to sample file.
Thanks in advance.
Solved! Go to Solution.
First I would create a calculated column in "fct_test_results".
Rank =
RANKX(
FILTER(
fct_test_results,
fct_test_results[Course] = EARLIER(fct_test_results[Course])
)
, fct_test_results[Pace],
, ASC
)
Then you can create a DAX query for the results.
fct_test_results_pivot =
VAR _result =
UNION(
SELECTCOLUMNS(fct_test_results
, "Course" , fct_test_results[Course]
, "Rank" , fct_test_results[Rank]
, "Column Value" , fct_test_results[Pace]
, "Column Name" , "Pace")
,
SELECTCOLUMNS(fct_test_results
, "Course" , fct_test_results[Course]
, "Rank" , fct_test_results[Rank]
, "Column Value" , FORMAT(fct_test_results[Pace Test Result], "0%")
, "Column Name" , "Result")
,
SELECTCOLUMNS(fct_test_results
, "Course" , fct_test_results[Course]
, "Rank" , fct_test_results[Rank]
, "Column Value" , FORMAT(fct_test_results[Pace Test Date], "MM/dd/yyyy")
, "Column Name" , "Date")
)
RETURN
_result
If you want a different sort, you can create an additional DAX query and then relate it to the pivot.
Metric List =
VAR _results =
DATATABLE (
"Column Name", STRING
, "Column Order", INTEGER
,
{
{"Pace", 1}
, {"Result", 2}
, {"Date", 3}
}
)
RETURN
_results
In this matrix I've used the [Course] from the "fct_test_results_pivot", [Column Name] from "Metric List" (which has a column sort on [Column Order]), [Rank] from "fct_test_results_pivot" and the first [Column Value] from "fct_test_results_pivot". If you have a unique key/id, you can include it in the pivot and relate it back to your original table so date filters would still work.
no worries, anytime, happy to help
First I would create a calculated column in "fct_test_results".
Rank =
RANKX(
FILTER(
fct_test_results,
fct_test_results[Course] = EARLIER(fct_test_results[Course])
)
, fct_test_results[Pace],
, ASC
)
Then you can create a DAX query for the results.
fct_test_results_pivot =
VAR _result =
UNION(
SELECTCOLUMNS(fct_test_results
, "Course" , fct_test_results[Course]
, "Rank" , fct_test_results[Rank]
, "Column Value" , fct_test_results[Pace]
, "Column Name" , "Pace")
,
SELECTCOLUMNS(fct_test_results
, "Course" , fct_test_results[Course]
, "Rank" , fct_test_results[Rank]
, "Column Value" , FORMAT(fct_test_results[Pace Test Result], "0%")
, "Column Name" , "Result")
,
SELECTCOLUMNS(fct_test_results
, "Course" , fct_test_results[Course]
, "Rank" , fct_test_results[Rank]
, "Column Value" , FORMAT(fct_test_results[Pace Test Date], "MM/dd/yyyy")
, "Column Name" , "Date")
)
RETURN
_result
If you want a different sort, you can create an additional DAX query and then relate it to the pivot.
Metric List =
VAR _results =
DATATABLE (
"Column Name", STRING
, "Column Order", INTEGER
,
{
{"Pace", 1}
, {"Result", 2}
, {"Date", 3}
}
)
RETURN
_results
In this matrix I've used the [Course] from the "fct_test_results_pivot", [Column Name] from "Metric List" (which has a column sort on [Column Order]), [Rank] from "fct_test_results_pivot" and the first [Column Value] from "fct_test_results_pivot". If you have a unique key/id, you can include it in the pivot and relate it back to your original table so date filters would still work.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
14 | |
11 | |
8 | |
8 | |
8 |
User | Count |
---|---|
22 | |
13 | |
11 | |
10 | |
10 |