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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors