Views:

Scenario Overview

This business scenario requires us to build a set of dependent pick-lists between the option sets below. We need it so if the continent 'Europe' is selected then all the Country pick-list values are filtered to just countries in Europe. Following that if 'Ireland' is selected as a country then the City pick-list needs to be filtered to all the cities in Ireland.

  • Continent
  • Country
  • City       

North52 Decision Suite Solution

The North52 Decision Suite solution works like this,

  • A formula is setup to execute whenever the Account form loads or the Continent pick-list changes.
  • The formula checks to see what Continent has been selected
  • It then sets the corresponding values in the country pick-list
  • The same set of steps can be used to setup a similar formula on the Country pick-list for filtering cities
  • So there will be a ripple\cascading effect on the pick-lists

North52 Decision Suite Steps

These steps assume you have setup & populated your own set of pick-lists. Note the pick-list values in the sample formula will need to be changed to reflect your values. The steps below are just for the Continent pick-list so a similar set of steps are required for the Country pick-list.

  • Create a new formula of type 'ClientSide - Perform Action'
  • Set the Source Entity to 'Account'
  • Set the Source Property to 'OnLoad & Continent'
  • Copy & paste the formula below into the formula description field & click save
  • Click 'N52 Commands' -> 'Publish Formula'
  • You are now ready to test

Formula

Case([account.new_continentname],
             When('Europe'), Then (SetPicklistValues('new_country', false,
                                                   100000010,100000011, 100000012,100000013, 
                                                   100000014,100000015, 100000016,100000017)),
             When('North America'), Then (SetPicklistValues('new_country', false, 
                                                            100000020,100000021, 100000022,100000023, 
                                                           100000024,100000025, 100000026,100000027)),
             When('South America'), Then (SetPicklistValues('new_country', false,
                                                            100000030,100000031, 100000032,
                                                            100000033, 100000034,100000035,
                                                            100000036,100000037)),
             When('Africa'), Then (SetPicklistValues('new_country', false,
                                                     100000040,100000041, 100000042,100000043, 
                                                     100000044,100000045, 100000046,100000047)),
             When('Asia'), Then (SetPicklistValues('new_country', false,
                                                 100000050,100000051, 100000052,100000053,
                                                 100000054,100000055, 100000056,100000057)),
             When('Oceania'), Then (SetPicklistValues('new_country', false, 100000060,100000061,
                                                    100000062,100000063, 100000064,100000065,
                                                   100000066,100000067)),

             Default( SetPicklistValues('new_country', true, 1))
       )

 

Did you know?

North52 TestShield ensures Quality at Speed

TestShield's automated tests run on the Dynamics 365 platform rather than in the browser allowing extreme speed.

For example, we can run 1100 tests with over 15,000 Asserts to verify a new release of the North52 Decision Suite, in less than 4 minutes!

It means that we can deliver quality releases at unprecedented speed. Before TestShield, testing a new release was very manual and time consuming.

Learn how TestShield helps speed up your releases