1.05-03 Avoid using List Properties

List properties are the same as line items, but have many limitations, so keep it simple and have one place for calculations i.e. Module.Line Item

 

Exceptions:

  • 1.05-03a Reference module line items: Where the following exceptions are used, reference module line items through a formula where possible to keep the audit trail valid
  • 1.05-03b Numbered lists (and related actions): Assign actions, and associated filters require list properties
  • 1.05-03c Exports: List properties can be used as export labels
  • 1.05-03d Conditional Dashboard navigation (old UX): List properties are needed to facilitate navigation to different dashboards based on the selection in the list
  • 1.05-03e Dependent drop downs: List properties are needed to create driver and dependent lists

Best Practices article: 
Data Hubs Purpose and Peak Performance

Tagged:

Comments

  • Rule 1.05-03 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 two disadvantages of using list properties.

    1. It is to be believed that list properties have a negative impact on the model performance.
    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-1599212790792.png

    Misbah_3-1589190262095.png

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

    Misbah_4-1599212821040.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 Open Dashboard

    5. 1.05-03e Dependent Dropdowns: List Properties are needed to create Dependent Dropdowns

    Misbah_6-1599213009101.pngMisbah_7-1599213019797.png

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

  • @Misbah Thanks for the details in this post. I was able to confirm an instance of the performance impact using list properties vs. line items in a module that is actually pretty significant.

    I originally created a list with 4 list-formatted properties that were populated by an action. I had a process that created two items in that list, populated those properties, and loaded other details into a system module. Upon realizing that process would take 68 seconds to run, we decided to revisit the architecture to figure out how it could be optimized.

    By removing those list properties and updating the actions to load that data into the system module instead, we were able to reduce the process run time from 68 seconds to 28 seconds. Those list properties did not meet any of the exception criteria, so we were fine moving them to module line items.