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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
techtina
Frequent Visitor

Using IF function with DAX to classify account types

Hello all! I'm fairly new to using DAX and Power BI and I keep getting stumped using the IF function. 

 

I'm trying to create a new column in 'edit queries' where I'm trying to classify account codes by account type. Specifically, I have a column of Account Codes (7010, 7209, 7997, 8010, 8116, ect) and I want all the accounts beginning with 7 to be classified as "Personnel," and all the accounts beginning with 8 to be classified as "General". (All the account codes begin with 7 or 😎 

 

I assumed that I would be using an IF function, however, I'm not sure what the correct formatting is and I keep getting error messages particularly this one: 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.

 

I've tried many different functions. This is the latest one I've tried:

 

Column = IF(DimAccount[AccountCode]<=7999,"Personnel","General")

 

Any feedback would be much appreciated!

2 ACCEPTED SOLUTIONS
Vvelarde
Community Champion
Community Champion

Hi @techtina make sure thar Account Codes columns is not a text field.




Lima - Peru

View solution in original post

jahida
Impactful Individual
Impactful Individual

@Vvelarde is almost certainly right; the workaround is just to change your formula to:

 

Column = IF(VALUE(DimAccount[AccountCode])<=7999,"Personnel","General")

 

However, I would say better practice might be:

 

Column = IF(LEFT(DimAccount[AccountCode]) = "7", "Personnel", "General")

 

just because it makes it a bit more clear to me. Your call.

View solution in original post

3 REPLIES 3
Vvelarde
Community Champion
Community Champion

Hi @techtina make sure thar Account Codes columns is not a text field.




Lima - Peru
jahida
Impactful Individual
Impactful Individual

@Vvelarde is almost certainly right; the workaround is just to change your formula to:

 

Column = IF(VALUE(DimAccount[AccountCode])<=7999,"Personnel","General")

 

However, I would say better practice might be:

 

Column = IF(LEFT(DimAccount[AccountCode]) = "7", "Personnel", "General")

 

just because it makes it a bit more clear to me. Your call.

@Vvelarde You were definitely right! It was as simple as changing Account Codes to a number field. 

 

@jahida I went for your advice and incorporated the LEFT function for best practice. 

 

Thank you so much for your advice! Much appreciated. 

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.