Current Month, YTD and YTG in modules with no versions

Hi, The ability to know where you are across time is a common requirement in model building. Anaplan native feature of switchover allow this when you are using version in your modules. But there are cases where some modules are build without versions. For example, a pure Sales forecasting module may not need the Actual version nor the initial budget version. Of course it will use the Actual Sales and the Budget Sales, but as line items only, all other line items to calculate the forecast (variances trends, ...) on YTG months will be with no version. The full module will then have no verion at all.  In such cases, I find it usefull to set up an automatic Time properties module such as the following:

  • Current Month, boolean : INPERIOD(CURRENTPERIODSTART())
  • YTD Months, boolean: END() <= CURRENTPERIODEND()
  • YTG Months, boolean: NOT YTD Months
  • and all other tests one need to perform (such as 1quarter months, last 3 months, December, ... whatever you may need.

Example for a fiscal year starting October: Last 3 months, boolean : MONTH(CURRENTPERIODEND()) > 2 AND (MONTH(END()) = MONTH(CURRENTPERIODEND()) - 1 OR MONTH(END()) = MONTH(CURRENTPERIODEND()) - 2 OR Current Month) OR MONTH(CURRENTPERIODEND()) <= 2 AND (MONTH(END()) = MONTH(CURRENTPERIODEND()) + 10 OR MONTH(END()) = MONTH(CURRENTPERIODEND()) + 11 OR MONTH(END()) = MONTH(CURRENTPERIODEND()) - 1) OR Current Month 1st Quarter, boolean : Month(end()) >=10 (which is october) That allows me to set up IF THEN ELSE statement quite easely. Of course it is possible to repeat the IF statement on each line item in every module, but if you have a lot of line item in a lot of module, this Time Prperties module will make me save a lot of time... and spelling mistakes. KR Michel.  


Best Answer

  • I have to agree Michel - the larger and more complex that a module gets, the more sense it makes to make a separate "Time Properties" module.  It is also useful because it can now be applied to multiple other modules and can save a lot of potential clean-up time down the road, should you want to change any of the time formulas.  Always best to use the cleanest and most scalable solution to really take advtange of Anaplan's flexiblity!


  • Hi ,
    You can use something like [SELECT:Time.Current Period] to get the value of the current time period.

    I was fetching the value of price based on the current period given in the time settings which helped.

    pricemodule.price[SELECT:Time.Current Period]

  • Hi,
    in addition to what I wrote  3 years ago, I will add that the Time Management module needs to have line item being flagged as BroughtForward.

    That's the only way to use them for filetring moudles having line items with broughtforward.

    Kind regards.