Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
MekdigG
Frequent Visitor

Create a single column based on multiple columns and conditions

Hi,

 

I need to create a column (a Status) to show list of clients who has completed or not completed a quiz.

I have a sample table below. I want to say if a client has passed all the quizzes then "complete" if not "not complete"

there is "not applicable" value(option) in any of the columns but it shouldn't affect the output; it can be Pass or not applicable and they can be counted as completed. 

 

Please help 🙂

 

Quiz   1Quiz   2Quiz    3Status
FailPassPassNot Completed
PassFailPassNot Completed
PassPassPassCompleted
N/APassPassCompleted
PassN/APassCompleted
FailFailN/ANot Completed

 

1 ACCEPTED SOLUTION
AUaero
Responsive Resident
Responsive Resident

I'm assuming your quiz data has a client ID field.  If so, try this:

# Quiz Status = 
VAR Quiz1Result = MAX(QuizData[Quiz1])
VAR Quiz2Result = MAX(QuizData[Quiz2])
VAR Quiz3Result = MAX(QuizData[Quiz3])

VAR Quiz1Status = 
SWITCH(
    TRUE(),
    Quiz1Result IN {"N/A", "Pass"}, 1,
    0
)

VAR Quiz2Status = 
SWITCH(
    TRUE(),
    Quiz2Result IN {"N/A", "Pass"}, 1,
    0
)

VAR Quiz3Status = 
SWITCH(
    TRUE(),
    Quiz3Result IN {"N/A", "Pass"}, 1,
    0
)

RETURN
SWITCH(
    TRUE(),
    Quiz1Status + Quiz2Status + Quiz3Status = 3, "Complete",
    "Not Complete"
)

which will give you the following result:

AUaero_0-1659050544170.png

 

Please accept this as a solution if it solves your problem.

View solution in original post

4 REPLIES 4
AUaero
Responsive Resident
Responsive Resident

I'm assuming your quiz data has a client ID field.  If so, try this:

# Quiz Status = 
VAR Quiz1Result = MAX(QuizData[Quiz1])
VAR Quiz2Result = MAX(QuizData[Quiz2])
VAR Quiz3Result = MAX(QuizData[Quiz3])

VAR Quiz1Status = 
SWITCH(
    TRUE(),
    Quiz1Result IN {"N/A", "Pass"}, 1,
    0
)

VAR Quiz2Status = 
SWITCH(
    TRUE(),
    Quiz2Result IN {"N/A", "Pass"}, 1,
    0
)

VAR Quiz3Status = 
SWITCH(
    TRUE(),
    Quiz3Result IN {"N/A", "Pass"}, 1,
    0
)

RETURN
SWITCH(
    TRUE(),
    Quiz1Status + Quiz2Status + Quiz3Status = 3, "Complete",
    "Not Complete"
)

which will give you the following result:

AUaero_0-1659050544170.png

 

Please accept this as a solution if it solves your problem.

Thank you, i tried it and it gave me a new column with all results "complete", i checked to make sure the formula is correct but it is still giving me all all complete status only.

AUaero
Responsive Resident
Responsive Resident

Did you create this as a measure or a calculated column?  The code above will work as a measure.  To use it for a calculated column, ditch the MAX function on the QuizXResult variables.

Yes, it was created it as a column and now its working after i changed it to a meausre; thank you so much! I have accepted your solution.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.