Alternative to beast modes

Reply
Yellow Belt

Alternative to beast modes

Hi,

 

We have a few beast modes with pretty lengthy list of our clients and we update it frequently, may I know if there is any alternative to a Beast Mode calculation to more easily manage those lists in various datasets.

 

Thanks!

 


Accepted Solutions
Black Belt

Hi @Khan_Naziya 

 

I'd recommend using a webform to maintain the list of clients and then utilize a Magic ETL or Dataset View to join your original dataset to this client list dataset to filter out any non-client data. If you're looking to do some special calculations based on which client is which you could attempt to pull out the parameters of your calculation into this webform (with each client listed as well) as well and then just reference the value / column from the webform in your beast modes.

 

This would remove the tedious process of continuing to update the beast modes wherever they reside and you have a central location to update when a new customer is added for special processing.



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**

View solution in original post

Black Belt

Interesting scenario!

 

We can solve this by still utilizing a web form and utilizing a DataSet View (could also do similar logic in Magic)

 

Your webform would look something like this:

ContainsValue
%AMC%Auro Medical Center
%SYS Sol%Syndia Solutions
%Benjamin%Benjamin Research Group

 

 

So now you have your two datasets. What we'd want to do is a Cartesian join to find all the possibilities and then filter out the incorrect ones.

 

Create 2 new views where you're just creating a calculated field where the value is 1 called "Join Column".

 

In a 5th view take these two new views with the join columns and join them together based on this join column. Then you'd need to create a beast mode to filter out the records which don't match your contains. (Note this is a case insensitive comparison)

 

 

CASE WHEN `Name` LIKE `Contains` THEN 'Include' ELSE 'Exclude' END

 

 

Then in your dataset view just set this new beast mode as your filter and only include "Include" records. It will then have your original text and your Translation text from the web form.

 

Hope that makes sense.



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**

View solution in original post


All Replies
Black Belt

Hi @Khan_Naziya 

 

I'd recommend using a webform to maintain the list of clients and then utilize a Magic ETL or Dataset View to join your original dataset to this client list dataset to filter out any non-client data. If you're looking to do some special calculations based on which client is which you could attempt to pull out the parameters of your calculation into this webform (with each client listed as well) as well and then just reference the value / column from the webform in your beast modes.

 

This would remove the tedious process of continuing to update the beast modes wherever they reside and you have a central location to update when a new customer is added for special processing.



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**

View solution in original post

Yellow Belt

Thanks @GrantSmith.

I would like to share an example of the beast mode we have in our instance.

Example:

case when `Project` like '%AMC%' then 'Auro Medical Center'

                when `Project` like '%SYS Sol%' then 'Syndia Solutions'

                when `Client` like '%Benjamin%' then 'Benjamin Research Group'

end

Likewise, we have more than 350 projects and clients, how will the match pattern in the beast mode can be replaced in Webform?

Thanks

Black Belt

Interesting scenario!

 

We can solve this by still utilizing a web form and utilizing a DataSet View (could also do similar logic in Magic)

 

Your webform would look something like this:

ContainsValue
%AMC%Auro Medical Center
%SYS Sol%Syndia Solutions
%Benjamin%Benjamin Research Group

 

 

So now you have your two datasets. What we'd want to do is a Cartesian join to find all the possibilities and then filter out the incorrect ones.

 

Create 2 new views where you're just creating a calculated field where the value is 1 called "Join Column".

 

In a 5th view take these two new views with the join columns and join them together based on this join column. Then you'd need to create a beast mode to filter out the records which don't match your contains. (Note this is a case insensitive comparison)

 

 

CASE WHEN `Name` LIKE `Contains` THEN 'Include' ELSE 'Exclude' END

 

 

Then in your dataset view just set this new beast mode as your filter and only include "Include" records. It will then have your original text and your Translation text from the web form.

 

Hope that makes sense.



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**

View solution in original post

Yellow Belt

Thanks @GrantSmith , makes sense, will give a try.

Black Belt

Also to clarify this also gives you the give you the flexibility to do a "Starts With", "Ends With" or "Contains" depending if the percent sign is at the end, start or both ends respectively.

 

For example of the Contains column:

Starts With: Prefix%

Ends With: %Suffix

Within: %Contains% (as shown in my prior example)



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**
Yellow Belt

Thanks for the additional information, @GrantSmith , I prefer %contains% for the current scenario.

Announcements
New & Improved Dojo: Get excited for a new feel and additional features in the online community.

Site will be down February 4-5th for maintenance.

Launch coming February 8th!