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
Bgordon10
Regular Visitor

Using Switch and Contains for Multiple Conditions

Hello, 

 

I have a dataset with two specific columns, Marketing_grouping and campaign_name. I want to create a new column that reads the text string in the campaign_name column and returns a value. We want to identify if the campaign is a Brand or NonBrand campaign. There are other campaigns that are not Brand or Nonbrand specific, so if possible, the new column would return the Marketing grouping. Essentially we are splitting the Marketing_Grouping, Paid Search, into 2 groups, brand and nonbrand, and using the campaign name column to identify. Also, there are paid search campaigns that do no have brand or nonbrand in Its name and we will group them under nonbrand

 

 

** Case sensitive:

If campaign_name contains NB, Non, non, Non-Brand, and Marketing group = Paid Search, then NB 

If Campaign_Name contains Brand, BR, and marketing group = Paid Search, then Brand 

If Marketing_group = Paid Search and Campaign name doesn't contain any of the above, then NB 

Else, Marketing_Group (all other non paid search campaigns, use marketing group) 

 

 

Bgordon10_1-1647556484575.png

 

1 ACCEPTED SOLUTION

Hi, 

 

I wanted to provide an update that I figured out a solution. See code below. 

 

 

MOR Channel Type =
SWITCH (
TRUE (),
ISERROR ( FIND ( "NB", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "Non", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "non", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING]IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "Non Brand", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "BR", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "Brand",
ISERROR ( FIND ( "Brand", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "Brand",
ISERROR ( NOT( Summary[CAMPAIGN_NAME] )IN {"NB", "Non", "non","Non Brand", "BR", "Brand"}) <> TRUE()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR (FIND("RSVP Page _OPH_NA_Event", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] = "Event"
&& Summary[ICODE] IN { "CU-Online", "CU-Onsite" }, "CU Event" ,
ISERROR (Summary[CAMPAIGN_NAME] <> "RSVP Page _OPH_NA_Event") <> TRUE ()
&& Summary[MARKETING_GROUPING] = "Event"
&& Summary[ICODE] IN { "CU-Online", "CU-Onsite" }, "CU WFS",
Summary[MARKETING_GROUPING] IN {"Paid Social", "UK Paid Social"}, "Paid Social",
Summary[MARKETING_GROUPING] IN {"Internal Website", "UK Internal Website"}, "Internal Website",
Summary[MARKETING_GROUPING] IN {"Display", "Display/OLV", "UK Display", "Internet Display"}, "Internal Website",
Summary[MARKETING_GROUPING]
)

View solution in original post

3 REPLIES 3
Bgordon10
Regular Visitor

Thanks @amitchandak ! 

But now I am getting an error message, and I still need a formula for all other paid search campaigns that do not have the criteria in the formulas below 

 

Bgordon10_3-1647619641468.png

 

 

 

 

Hi, 

 

I wanted to provide an update that I figured out a solution. See code below. 

 

 

MOR Channel Type =
SWITCH (
TRUE (),
ISERROR ( FIND ( "NB", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "Non", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "non", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING]IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "Non Brand", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR ( FIND ( "BR", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "Brand",
ISERROR ( FIND ( "Brand", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "Brand",
ISERROR ( NOT( Summary[CAMPAIGN_NAME] )IN {"NB", "Non", "non","Non Brand", "BR", "Brand"}) <> TRUE()
&& Summary[MARKETING_GROUPING] IN {"Paid Search", "UK Paid Search"}, "NB",
ISERROR (FIND("RSVP Page _OPH_NA_Event", Summary[CAMPAIGN_NAME] ) ) <> TRUE ()
&& Summary[MARKETING_GROUPING] = "Event"
&& Summary[ICODE] IN { "CU-Online", "CU-Onsite" }, "CU Event" ,
ISERROR (Summary[CAMPAIGN_NAME] <> "RSVP Page _OPH_NA_Event") <> TRUE ()
&& Summary[MARKETING_GROUPING] = "Event"
&& Summary[ICODE] IN { "CU-Online", "CU-Onsite" }, "CU WFS",
Summary[MARKETING_GROUPING] IN {"Paid Social", "UK Paid Social"}, "Paid Social",
Summary[MARKETING_GROUPING] IN {"Internal Website", "UK Internal Website"}, "Internal Website",
Summary[MARKETING_GROUPING] IN {"Display", "Display/OLV", "UK Display", "Internet Display"}, "Internal Website",
Summary[MARKETING_GROUPING]
)
amitchandak
Super User
Super User

@Bgordon10 , You can use Switch and find in DAx to create a new column

 

SEARCH and FIND: https://www.youtube.com/watch?v=mZt0HJw4gjQ&list=PLPaNVDMhUXGaaqV92SBD5X2hk3TMNlHhb&index=45

 

Switch-Case statement of #PowerBI: https://www.youtube.com/watch?v=gelJWktlR80&list=PLPaNVDMhUXGaaqV92SBD5X2hk3TMNlHhb&index=56

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

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.