Solved

Populating multi-select picklist through a rule

  • 29 October 2020
  • 18 replies
  • 781 views

Badge

Hi Gainsight community,

I am trying to populate the list of systems installed on an account through a “Systems installed” multi select picklist which i have created. How do i create a rule to populate multiple items for the same account. The rule takes once record at a time and only populates the last item. 

For eg Account 123 has install base serial numbers abc, def, ghi, jkl

I want to populate for all accounts their unique serial numbers in a multi-select dropdown. 

I created a multi-select dropdown and called it “Systems installed”, it wanted me to add one value atleast so added a default value while creating the field in the company object. But when i ran the rule for the account which has 17 such serial numbers it errored out.

 

Thanks

Anil

 

 

 

 

 

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 1

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 2

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 9

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 12

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 13

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 7

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 14

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 8

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 15

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 5

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 6

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 3

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 10

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 4

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 11

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 16

2020-10-29T00-49-57_UTC - GSOBJ_1012 : Invalid/Inactive value provided for picklist. [Field Name: Installed_Systems__gc] at row number 17

icon

Best answer by phani_kumar 29 October 2020, 07:20

View original

18 replies

Userlevel 5
Badge +3

Hi @bayareaguy 

Happy to assist you with this use case. I already faced this use case and implemented it via Rules.

Below is the Post where I mentioned with detailed notes and steps.

 

Hope that helps you.

Thanks.

Badge

@phani_kumar In your response it says “Media not available”

Userlevel 5
Badge +3

Hi All,

The below-mentioned steps help us to load Data to Multipick List Field.

Recently when I am working with a customer I had this scenario and implemented this via Rules. 

 

Example of your Input Data.

 

The target object has a Multi Picklist Data Type field whose values are like below.

Rules

Reports

JO

 

We need to load and map the data to the respective values in the target field where ever the Account responded as “Yes”  to the Question.

 

We could simply achieve this via rules.

Step 1: Fetch the Input data

Step 2: Choose Transform Task and Create a Case Expression like below.

Provide all the values which are mentioned in the above pic.

The trick we need to apply in the “Then” Section was to append the semicolon to the value. i.e. like ‘Rules;’, ‘Reports;’, and ‘JO;’(without Single Quotes)

In a similar way create two more case expressions for the fields “Using Reports Module” and “Using JO Module” in the same way.

 

Step 3: In the next transformation, Concat the fields created in step2 to load the target field.

 

Finally, create the Action and select the object and map the Concated field with MultiPicklist filed.

 

Thanks!!!

Userlevel 7
Badge +1

@phani_kumar In your response it says “Media not available”

@bayareaguy That was created internally so it was not visible to you and @phani_kumar pasted it for you. Thanks @phani_kumar 

Badge

@phani_kumar  @sai_ram 

My use case is different , there are around 10000 accounts (company object records) each account can have 14-20 install bases with unique serial numbers, almost like a master detail table, i want to have the multi-select dropdown get dynamically populate the install base serial numbers via a rule. 

 

Reason why i am doing this is , we need the drop down in the success plan, success plan can only have input values either from company or success plan object itself 

Userlevel 5
Badge +3

Hi @bayareaguy 

We don’t have a problem or limit with the number of accounts in your company Object.

What you have to do it, first create a Multiselect Dropdown list with all the values in Data Management under Dropdown Section.

Screenshot:

 

And then create a rule with the Object where you have picklist values per each account wise.

Take that object as a source i the rule, and create a transform task by using the Case Expessions formula you can create the final result.

Right now, there is a limit of where we can create only 10 Cases in a Case Expression. So for example in your source if you have 15 types of Install Base you have to create 2 Case Expressions and in the other Transformation you can Concat both the fields.

 

Thanks.

Badge

@phani_kumar yes agreed i am aware there is no limitation around the account/ company records. The install base is not a fixed list , it grows on daily basis, there are around 15000 unique serial numbers and this list will grow every day, even if i add these 15K + list of values through a csv manually to the multi-select picklist, how do i make sure this list is kept updated for the new serial numbers that come in? How do i assign the unique serial numbers (13-14 of them out of the 15K possible values) to each account?

Userlevel 5
Badge +3

Ok got it @bayareaguy 

@sai_ram I think we need some Product Team help here.

Thanks.

Userlevel 7
Badge +1

Ok got it @bayareaguy 

@sai_ramI think we need some Product Team help here.

Thanks.

@phani_kumar Thanks for the quick replies! and redirecting this to product team to look into.

Userlevel 2
Badge

@phani_kumar I’m trying this solution where I have 29 values I’m mapping in the case expression per the above instructions. Everything runs without errors however the picklist is only keeping the first value that meets the criteria in the case expression and then goes to the next so I only have 3 values selected in the list once I run the rules. Is the solution to create 29 separate case expressions in the transform task then concatenate them all? I’m going to try that but want to make sure I’m not missing something.

Userlevel 5
Badge +3

Hi @jkolle 

Yes, you have to create 29 separate case expressions and then concat all.

 

Userlevel 2
Badge

@phani_kumar Okay, I tried that workaround and formula and case fields are limited to 10. I suppose I can create three separate transform tasks with 10, 10 and 9 case expressions and then merge them back together to accomplish this. I’ll try that.

Userlevel 5
Badge +3

Absolutely correct. We have a limit of 10 formula fields creation in Transformation. So as you said have to create 3 Separate transforms and merge.

Userlevel 2
Badge

@phani_kumar Actually, isn’t Concat limited to 10 as well. So you can really only populate a Multi-Select list if your values are 10 or less. Is that correct?

Edit: See below post for solution if you have more than 10 values in your multi-select list.

Userlevel 2
Badge

Okay, figured it out. In case anyone else has a multi-select list with more than 10 values. You will need to do separate transform tasks for every 10, then separate concats for each transform, merge those all together, then one final concat to put it all together. Below is what I built for a multi-select list with 29 values.

 

Userlevel 5
Badge +3

Okay, figured it out. In case anyone else has a multi-select list with more than 10 values. You will need to do separate transform tasks for every 10, then separate concats for each transform, merge those all together, then one final concat to put it all together. Below is what I built for a multi-select list with 29 values.

 

Yes, that’s correct @jkolle 

Userlevel 4
Badge +3

Would you be able to load this data if your initial data looked slightly different and pre-concatenated?

GSID | listed;values;separated;by_semicolons

Userlevel 6
Badge +9

We really need something less extreme. It’s not viable to come up with all possible combinations through transform tasks. Used to be able to concat the picklist with a manual value and it won’t work in the new RE. 

Reply