2.01-14 Avoid using Select Levels and filters together

Don't use Select levels combined with filters on the same hierarchy.  It is a double filter and inefficient because both will be kicked off.  Use one or the other. Setting a Boolean line item in a System module with 'none' as the summary option will often achieve the same result

Tagged:

Comments

  • Rule 2.01-14 Avoid using Select Levels and Filters together. Don't use Select levels combined with filters on the same hierarchy.  It is a double filter and inefficient.  Use one or the other. Setting a Boolean line item in a System module with 'none' as the summary option will often achieve the same result”. It goes against PERFORMANCE, LOGICAL, NECESSARY element of PLANS if you wish to go against this rule

    Use Case: To display leaf level items amounting less than 100. Here I have used Two Level hierarchy and a Top Level for L1.

    Here is how it was done in Pre Planual Era: We expect three leaf items to be shown after the filter.

    Misbah_0-1589971852459.png

    Step 1: We apply the filter (not as per best practice)

    Misbah_1-1589971852480.png

    Once filter is applied we see all the three leaf items (<100) are displayed but we also see one unwanted guest here – Parent level item which is also less than 100.

    Misbah_2-1589971852489.png

    Step 2: In order to remove parent level from the grid we use “Select Levels to show” feature. We uncheck all the parent levels to get the desired result.

    Misbah_3-1589971852497.png

    Result Module:

    Misbah_4-1589971852507.png

    What is wrong with this method? Although there are no performance degradations but it is considered to be in efficient, illogical and is absolutely unnecessary to apply both. Also filter has not been applied as per best practices.

    Here is how it should be done in Planual Way:

    Step 1: Create a filter module and insert a Boolean formatted line item. Make sure you don’t change the summary settings of this line item from Default None to Any, All or Formula

    Misbah_5-1589971852512.png

    Step 2: Write the logic for your filter. In this case Child Access. Example line item to be less than 100

    Step 3:  Apply the filter

    Misbah_6-1589971852514.png

    Result Module:

    Misbah_7-1589971852515.png