Planual Explained - Day 5

Highlighted
Master Anaplanner/Community Boss

Planual Explained - Day 5

Rule "1.05-03": Article 1, Chapter 5, and Rule 3 – “Avoid using List Properties” List Properties are same as line items but have many limitations, so keep it simple and have one place for calculations i.e., Module line items. This goes against P and A of PLANS if you wish to create list properties.

Here is how it was done in Pre Planual Era: Whenever there was a need to have an attribute to the lists we used to create list properties.

Misbah_0-1589190262070.png

 

What is wrong with this method? There are lot of disadvantages of using list properties. A few listed below

  1. It is to be believed that list properties have a negative impact on the model performance especially on the model opening times.
  2. There is no floating formula editor in list properties – meaning you cannot activate the formula bar and use point and click.
  3. You cannot filter upon any list items or any property items/values in Lists

Here is how it should be done in Planual Way: Create a System Module for each list wherever you have properties associated to the lists. This will be a centralized place to store the attributes of the lists. It is worth to mention that these system modules should not have additional dimensionality – No Time, No Versions, no other lists.

Misbah_1-1589190262081.png

 

Exceptions: There are 5 exceptions that have been given by Planual where you can use List Properties and here is the detailed explanation about all these exceptions

  1. 1.05-03a Reference module line items: This exception is given because there might be cases or scenarios where you want to refer the module line items into list properties. For example Display Names of Numbered lists are being driven by Module Line Items
  2. 1.05-03b Numbered Lists and related actions: Actions like ASSIGN need to have list properties in place before you start using this function. Read more Assign
  3. 1.05-03c Exports: When you want to take any export from Anaplan list properties can be used as an export labels. Let’s see the difference when we export with both these options

 

Without Row Labels – By default list Name will be available in the labels

Misbah_2-1589190262092.png

 

Here is the output file

Misbah_3-1589190262095.png

 

 

With all Row Labels i.e., Name, Code and List Property called Order

Misbah_4-1589190262098.png

 

             Here is the output file

Misbah_5-1589190262101.png

4.1.05-03d Conditional Dashboard Navigation: In Classic Dashboard list properties are used to help navigate from one dashboard to another. For example basis the Order list property value different dashboards are being opened up

     

Misbah_7-1589190528725.png

Read more on Anapedia link below Open Dashboard

5. 1.05-03e Dependent Dropdowns: List Properties are needed to create Dependent Dropdowns. Glimpse of what it means 

Misbah_8-1589191405797.pngMisbah_9-1589191418518.png

 

Here is the micro lesson on how to create dependent dropdowns Dependent Dropdowns - Anaplan Community

6 REPLIES 6
Highlighted
Valued Contributor

Re: Planual Explained - Day 5

Thanks @Misbah 
That post includes a heavy dose of information 👌

I do have a question though.
I was told the reason why we should replace using list properties with system modules is that when we load the model, line items in modules are calculated and stored in the memory, however, list properties are only calculated when we actually reference the list, causing performance delay.
Is that correct? if not, then what is the correct reason.

Thanks

Einas
"Give a Man a Fish, and You Feed Him for a Day. Teach a Man To Fish, and You Feed Him for a Lifetime"
Highlighted
Master Anaplanner/Community Boss

Re: Planual Explained - Day 5

I think you are right. Any calculation that happens within Anaplan happens in memory (as far as I know) and with lists there is a delay.(I didn't mention the reason though) Overall, it should have been there in point 1 of "What's wrong with this method section?"

 

Thanks @einas.ibrahim 

Highlighted
Master Anaplanner/Community Boss

Re: Planual Explained - Day 5

@einas.ibrahim @Misbah ,

 

List properties are loaded into memory as well so there is no delay.  Think of list properties as line items as that is essentially what they are.  Why not use them?  Basically, a couple of reasons:

  • there is currently not a way to control the summary of them
  • writing formulas in modules/line items are much easier than list properties
  • back in the day, there was no Reference By on lists, so you didn't know where they were being used (that has since changed)
  • List properties add to the overall size of the list upon load
  • SYS Properties allows you to store all of the data in one centralized place in a module for other model builders to use.  The same can be said as the list, but it is better to centralize on in module.

Hope this helps,

 

Rob

Highlighted
Valued Contributor

Re: Planual Explained - Day 5

Thanks @rob_marshall 

I'm full-heartedly against using list properties for all the reasons you mentioned above that are concerned with audibility. I just wanted to confirm the performance explanation I have received regarding loading into memory.
Appreciate the clarification

Einas
"Give a Man a Fish, and You Feed Him for a Day. Teach a Man To Fish, and You Feed Him for a Lifetime"
Highlighted
Master Anaplanner/Community Boss

Re: Planual Explained - Day 5

Excellent @rob_marshall  Thanks for sharing few more reasons.

 

Even I had learnt that there are some performance impacts on using List Properties. Are we saying that there are no performance degradation upon using list properties.

Highlighted
Master Anaplanner/Community Boss

Re: Planual Explained - Day 5

@Misbah ,

 

Yes, there could be performance impacts if the properties are formatted as numbers as they will always aggregate as you cannot turn summaries off.  Also, you are adding to the overall size of the list, the first thing that is built on model open.  Also, if you have subsets defined, you are directly impacting the size of the lists as you are duplicating the properties for every subset.

 

Rob