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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.