Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It 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!!