Forum Discussion
DAX compute Conditional Status giving custom rules
- 1 year ago
Anonymous Create a Calculated Column for Category Status
dax
CategoryStatus =
VAR TraineeID = 'Results'[id_trainee]
VAR Category = 'Config'[category]
VAR Level = 'Config'[level]
VAR RequiredQuizzes =
FILTER(
'Config',
'Config'[category] = Category && 'Config'[level] = Level
)
VAR CompletedQuizzes =
FILTER(
'Results',
'Results'[id_trainee] = TraineeID && 'Results'[status] = "complete"
)
VAR RequiredCount = COUNTROWS(RequiredQuizzes)
VAR CompletedCount = COUNTROWS(
INTERSECT(RequiredQuizzes, CompletedQuizzes)
)
VAR Operator = MAXX(RequiredQuizzes, 'Config'[operator])
RETURN
IF(
Operator = "AND",
IF(CompletedCount = RequiredCount, "complete", "incomplete"),
IF(CompletedCount > 0, "complete", "incomplete")
)Create a Calculated Column for Level Status:
dax
LevelStatus =
VAR TraineeID = 'Results'[id_trainee]
VAR Level = 'Config'[level]
VAR Categories =
DISTINCT(
SELECTCOLUMNS(
FILTER('Config', 'Config'[level] = Level),
"Category", 'Config'[category]
)
)
VAR CategoryStatuses =
ADDCOLUMNS(
Categories,
"Status",
CALCULATE(
MAX('Results'[CategoryStatus]),
FILTER('Results', 'Results'[id_trainee] = TraineeID)
)
)
VAR IncompleteCount = COUNTROWS(
FILTER(CategoryStatuses, [Status] = "incomplete")
)
VAR FailedCount = COUNTROWS(
FILTER(CategoryStatuses, [Status] = "failed")
)
RETURN
IF(
IncompleteCount > 0, "incomplete",
IF(FailedCount > 0, "failed", "complete")
)Add a Matrix visual to your Power BI report.
Place id_trainee in the Rows.
Place level and category in the Columns.
Use the CategoryStatus and LevelStatus calculated columns as Values.
Hi, thanks a lot for your answer, that inspired me. I compute this measure. It works fine by category and trainee. Now I need to check wether all categories within some level are succeeded. Thanks a lot !
- Anonymous1 year agoNot applicable
Hi everyone,
I am always looking for better approach. Thanks a lot !