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.
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.