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!

 

Best Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    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 Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • GrantSmith
    GrantSmith Coach
    Answer ✓

    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 Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**

Answers

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    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 Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • 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

  • GrantSmith
    GrantSmith Coach
    Answer ✓

    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 Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Thanks @GrantSmith , makes sense, will give a try.

  • 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 Agree or Like below**
    **Did this solve your problem? Accept it as a solution!**
  • Thanks for the additional information, @GrantSmith , I prefer %contains% for the current scenario.