Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hoping this will be easy to answer.
I have a table which contains student results. Because of the different types of result that exist (9 to 1, and A to E), the data type has to be a string.
I have filtered my table to only show those grades that are 9 to 1, but as the data has to be live, I cannot change the column data type.
I need to create a measure that gets the sum of all of the grades for a given student, so need to convert the string values to integer values using DAX. Can this be done?
Solved! Go to Solution.
Can you try the following ? :
Total Grades =
SUMX(
FILTER(YourTableName, ISNUMBER(VALUE(YourGradeColumn))),
IF(
ISERROR(VALUE(YourGradeColumn)),
0,
VALUE(YourGradeColumn)
)
)
HI @rflook,
You can add a filter in your table to exclude the A to E text string, then you can use value function to convert these to numeric before aggregating these values.
formula =
SUMX (
ADDCOLUMNS (
FILTER (
ALLSELECTED ( Table1 ),
NOT ( [Results] IN { "A", "B", "C", "D", "E" } )
),
"Score", VALUE ( Table1[Results] )
),
[Score]
)
Regards,
Xiaoxin Sheng
Can you try the following ? :
Total Grades =
SUMX(
FILTER(YourTableName, ISNUMBER(VALUE(YourGradeColumn))),
IF(
ISERROR(VALUE(YourGradeColumn)),
0,
VALUE(YourGradeColumn)
)
)
Hello @rflook
Use FORMAT DAX function to change the datatype of that particular column in your calculations.
If this post helps, then please consider accepting it as the solution to help other members find it more quickly. Thank You!!
User | Count |
---|---|
88 | |
88 | |
74 | |
68 | |
58 |
User | Count |
---|---|
136 | |
110 | |
91 | |
84 | |
69 |