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
rush
Helper V
Helper V

SEARCH and SWITCH Data type issues

Hi 

 

I need help trying to search for a text in a column and bring back a value due to the error below:

Function 'SWITCH' does not support comparing values of type True/False with values of type Text.

Your help is much appreciated.

Client =
SWITCH( TRUE(),
SEARCH("Apple", 'Billing and GP'[Project Name], 1 , 0) = 1  , "Apple", 'Billing and GP'[Client Name] ,
SEARCH("Pear", 'Billing and GP'[Project Name], 1 , 0) = 1, "Pear", 'Billing and GP'[Client Name],
'Billing and GP'[Client Name] 

 

2 ACCEPTED SOLUTIONS
jdbuchanan71
Super User
Super User

@rush 

Try it withouth the second text string.  You just need the TRUE part on each line of the SWITCH

 

Client = 
SWITCH( TRUE(),
SEARCH("Apple", 'Billing and GP'[Project Name], 1 , 0) = 1 , "Apple",
SEARCH("Pear", 'Billing and GP'[Project Name], 1 , 0) = 1, "Pear",
'Billing and GP'[Client Name] 
)

 

View solution in original post

@rush 

I think you would be better off using CONTAINSSTRING.  That way it will looking the whole string, not just the start and you can simplify it a bit:

Client = 
SWITCH( TRUE(),
    CONTAINSSTRING('Billing and GP'[Project Name],"Apple"),"Apple",
    CONTAINSSTRING('Billing and GP'[Project Name],"Pear"),"Pear",
    'Billing and GP'[Client Name]
)

View solution in original post

4 REPLIES 4
jdbuchanan71
Super User
Super User

@rush 

Try it withouth the second text string.  You just need the TRUE part on each line of the SWITCH

 

Client = 
SWITCH( TRUE(),
SEARCH("Apple", 'Billing and GP'[Project Name], 1 , 0) = 1 , "Apple",
SEARCH("Pear", 'Billing and GP'[Project Name], 1 , 0) = 1, "Pear",
'Billing and GP'[Client Name] 
)

 

@jdbuchanan71 , thank you very much. It works well. 🙏

 

@rush 

I think you would be better off using CONTAINSSTRING.  That way it will looking the whole string, not just the start and you can simplify it a bit:

Client = 
SWITCH( TRUE(),
    CONTAINSSTRING('Billing and GP'[Project Name],"Apple"),"Apple",
    CONTAINSSTRING('Billing and GP'[Project Name],"Pear"),"Pear",
    'Billing and GP'[Client Name]
)

@jdbuchanan71 Thank you. This is better. Much appreciated. 🙏

 

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.