cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
yuvarajg Member
Member

Calculated column using multiple conditions

Hi

 

I have columns in a table like Request type and Leave taken days but the request type as work from home should not to be consider as a leave.

The maternity leave should not consider as a leave if leave days less than or equal to 150 days(want remaining days if leave taken greater than 150days).

The marriage leave should not consider as a leave if leave days less than or equal to 5 days(want remaining days if leave taken days greater than 5 days).

 

 

                                                 LEAVE DETAILS

 

Request type                      Leave taken days                    Expected column

 

Work FromHome                   15                                                 0

Maternity leave                      180                                               30

Marriage leave                       10                                                 5

 

Query:

 

Expected Column = if('Leave Details'[Request type] = "Work From Home" && if('Leave Details'[Leave taken days] >0,0,if('Leave Details'[Request type] = "Maternity" && if('Leave Details'[Leave taken days]>=150,'Leave Details'[Leave taken days] - 150,Leave Details'[Leave taken days]))))

 

Regards,

Yuvaraj

2 ACCEPTED SOLUTIONS

Accepted Solutions
themistoklis New Contributor
New Contributor

Re: Calculated column using multiple conditions

@yuvarajg

 

It seems that your days columns are datatype text.

 

Change them to number

 

image.png

Community Support Team
Community Support Team

Re: Calculated column using multiple conditions

@yuvarajg,

 

You may use DAX below.

Column =
SWITCH (
    'LEAVE DETAILS'[Request type],
    "Work FromHome", 0,
    "Maternity leave", MAX ( 0, 'LEAVE DETAILS'[Leave taken days] - 150 ),
    "Marriage leave", MAX ( 0, 'LEAVE DETAILS'[Leave taken days] - 5 )
)
Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
4 REPLIES 4
Super User
Super User

Re: Calculated column using multiple conditions

I would use SWITCH

 

Expected Column = 
SWITCH(TRUE(),
 'Leave Details'[Request type] = "Work From Home" && 'Leave Details'[Leave taken days] >0,0,
'Leave Details'[Request type] = "Maternity" && 'Leave Details'[Leave taken days]>=150,'Leave Details'[Leave taken days] - 150,
'Leave Details'[Request type] = "Marriage" && 'Leave Details'[Leave taken days]>=5,'Leave Details'[Leave taken days] - 5,
'Leave Details'[Request type] = "Maternity" && 'Leave Details'[Leave taken days]<150,0,
'Leave Details'[Request type] = "Marriage" && 'Leave Details'[Leave taken days]<5,0,
Leave Details'[Leave taken days]
)

Did I answer your question? Mark my post as a solution!

Proud to be a Datanaut!


yuvarajg Member
Member

Re: Calculated column using multiple conditions

HI,

 

error occurs,

 

Dax comparison operations do not support comparing values of type text with values of type integer. Consider using the VALUE or FORMAT function to convert one of the values.Screenshot_2.png

 

themistoklis New Contributor
New Contributor

Re: Calculated column using multiple conditions

@yuvarajg

 

It seems that your days columns are datatype text.

 

Change them to number

 

image.png

Community Support Team
Community Support Team

Re: Calculated column using multiple conditions

@yuvarajg,

 

You may use DAX below.

Column =
SWITCH (
    'LEAVE DETAILS'[Request type],
    "Work FromHome", 0,
    "Maternity leave", MAX ( 0, 'LEAVE DETAILS'[Leave taken days] - 150 ),
    "Marriage leave", MAX ( 0, 'LEAVE DETAILS'[Leave taken days] - 5 )
)
Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.