DCA - Time Dimension

Hi Team,


I have a:

* Time Filter Boolean/DCA Boolean for Annual Time Periods in a Time Filter module 

* Target module with Time Period set to months and the DCA for line item set to the Boolean above


My understanding was that there would be no input fields available as the DCA is being set at the Parent level (the Year) but the input is available at the Child level (Month). The Annual Periods that were set to FALSE are working as expected, invisible but not the Periods set to TRUE


Have I not understood the concept of DCA correctly?









Best Answer

  • Misbah
    Answer ✓



    Ah I see what you are saying In this case It isn't checking the dimensionality of a module first instead it gets allocated based on the parent level directly. However it checks for the uncommon dimension whether it has a top level built in or not.


    For Time dimension it doesn't even look for Top level ( All Periods) and it allocates itself each month within the year. I am not sure if this is supposed to work the way it is now


    Filters on the other hand behave differently, one Anaplan will let you filter only when it is on the same dimension and second it won't have any impact on parent level items


  • Hi @MarkTurkenburg 

    In theory, if you set the DCA boolean at the year level, it should carry the same to the month's level. I just tried it and it works as expected.


    In your 3rd screenshot, what is the middle dimension  Out Year Assumption $

  • Thanks @einas.ibrahim 


    Could please help me & explain why the DCA would cascade down to the child level? I'm thinking it works similarly to a Filter and if I had set the Filter TRUE at the year level only I wouldn't expect any of the months in that year to be visible



  • @einas.ibrahim  in my 3rd screenshot I have:


    Line Item Subset as Rows

    Time as Columns

    Versions, Line Items & Regions as Pages








  • @MarkTurkenburg 



    Anaplan understands TIME as the hierarchy just the other List based hierarchies. We all know Anaplan does beautifully well with Bottom's up and Top down, only difference is that the latter has to work on some logic to arrive at the meaningful numbers at child level otherwise Anaplan allocates the top level number to each child item. If we only use LOOKUP at the parent level it pulls the values as is.


    Booleans on the other hand doesn't have that complications you just pull it to the lower level by using LOOKUP. Now the question is why does it pull the yearly booleans into months boolean. It depends upon the requirement, if you have created a module dimensioned by months pulling the values from module dimensioned by years, Anaplan will let you edit the numbers only at the lowest granularity and it will automatically take that to Summary levels. In other words it will not let you edit the numbers at parent level or edit the formula specifically for the parent level. If that was not the requirement then why to create a module with months.

  • @MarkTurkenburg 


    If you expect all the months of FY22 to be read only then go to your blueprint mode and reverse the mappings - keep Write access blank and Apply Read Access Driver 

    If you expect all the months of FY22 to be editable then "As is"



    Hope that helps

  • Thanks for the detailed reply @Misbah 


    Firstly you can disregard the purpose of what I have produced. It is actually an error but I was just surprised at the Output result for the DCA being TRUE when it only referenced the FY item rather than the months


    Could you assist a little further and explain what you are referring to 'Anaplan allocates the top level number to each child item'?


    My understanding is if you directly reference a parent list from a child list then you receive a mistmatch error. Below is an example of what I am referring to:


    I have List Hierarchy with Location rolling up to Countries rolling up to Regions


    Source Data entered into a module dimensionalised by Countries (Parent)

    Target Data is a module dimensionalised by Locations (Child)

    If you directly reference the Source Data Line Item from the Target Data Line Item you receive an error.






  • Thanks @Misbah  but I think we have crossed wires 😂


    You can forget the DCA purpose as I was only using that as an example as to ask why the DCA was write only for Child list items when I have only entered the DCA at the parent level


    I'm primarily trying to understand how the DCA has been allocated to child items when it was entered at a Parent level. That makes no sense to myself as this will not work when you use a Parent item for Filtering (you will not see the child items) 


    Does DCA cascade down to child items but Filtering does not?







  • @MarkTurkenburg 


    Of Course there will be an error on level mismatch on common dimension - I meant to say even after using LOOKUP while top down the numbers will be flat lined across all children of the parent. You will have to give some distribution logic to arrive at meaningful numbers at the child level.


    In your example even after using LOOKUP, all the states of US will receive 1 as an input and if you had to distribute that 1 into many states you would need that distribution logic.

  • Nice 1 @Misbah!  - that's what I was looking for 👍


    Ok so I get it now. When your DCA list is not identical to the list in the module two events can occur:


    - If the DCA list is a parent of the Target module list then it will use the Boolean of the parent item OR

    - If there is no relationship between the lists it will use the Top Level Boolean from the DCA list across all items


    Due to the fact that the DCA list does not need to be identical to the Target List you must set the DCA Boolean Summary off None