Does Anaplan allow different formula for each versions?

Occasional Contributor

Does Anaplan allow different formula for each versions?



For example I have 4 versions namely: Actual, Budget, Forecast 1 and Forecast 2. Does Anaplan allow different formula for each version I have in my module? Say, Actual version will have a different and unique formula with Budget, etc for the same modul.


Thanks for any help! 

Frequent Contributor

Re: Does Anaplan allow different formula for each versions?

Hello jsdeguzman,


If I'm understanding your question correctly, you are interested in using at least 2 different formulas for a single line item, each formula differing depending on the version.

OPTION 1 (recommended): Create a new "Version Control" module, that applies to Version. Create 1 new line item for each different set of formulaic logic you want to apply.

This can be as simple as Actual and Budget.


Or you can create other conditions like "Is Plan?" or "Is Other?", and associate multiple versions with one of them, because multiple versions should use the same formula.


Now that you have that set up, go to your module where you want to apply the version-specific formulas to a particular line item, and create something like the following, using conditional statements that check what version the formula is currently applying to (using the line items from our Version Control module), and using differential logic based on the TRUE flags in that Version Control module. You will notice that the line item where we're using this formula applies to "All" versions, as seen in the screenshot of the blueprint, below.

Module with Formula.png

Let's zoom in on the formula there:


IF Version Control.Is Actual? = TRUE THEN 123 ELSE IF Version Control.Is Plan? = TRUE THEN 456 ELSE IF Version Control.Is Other? = TRUE THEN 789 ELSE 0

Does that make sense?

OPTION 2: This one is a bit less-flexible, but you can use the ISACTUALVERSION() function in a conditional statement to apply differential logic based on whether the version is Actual or something else. This doesn't allow differentiation of non-Actual versions though, so I prefer to set up my models using Option 1 and modifying it to meet my needs.

Let me know if I misunderstood your question or if you need any additional clarification!





Valued Contributor

Re: Does Anaplan allow different formula for each versions?

Hi, didn't see your post, its a better response!
Frequent Contributor

Re: Does Anaplan allow different formula for each versions?

Hey @PaulRitner, I respectfully disagree. Your response was informative and on-point!

During Anaplan Launchpad trainings I always tout how active the Anaplan Community site is, so it brightens my day when I see customer questions getting multiple responses, representing different perspectives, informed by varied experiences, and with multiple examples.

@jsdeguzman, if you need anything else, you've got a couple of folks here happy to help.



Valued Contributor

Re: Does Anaplan allow different formula for each versions?



In most of the models I've built, Actuals come from a different source than (other versions).  In this context, I often use formulas like:  IF ISACTUALVERSION() THEN  (get actuals) ELSE (get other versions).


Its increasingly common (recently) to see that we have data from three directions:

  1. Actuals (from GL)
  2. Budget (very detailed bottoms-up annual plan)
  3. interim forecasts (high-level P&L and/or BS only... no detailed load)
  4. snapshots (might be the same as interim forecasts, but may be loaded into Anaplan differently (as a flat dataset, not as an input sheet)

I don't generally embed version names in formulas (except Actuals) (in fact, I avoid it at all costs).  So, in this case, I'll do something like the following:

  1. Create a version mapping module where each version can be mapped to what type of process it uses
    1. For example, I might have three kinds of data (in addition to actuals):  "Detailed" and "Interim" and "Snapshot".  
    2. I like to use booleans rather than explicit... so the "Detailed", "High Level", and "Snapshot" will probably be boolean line items.
    3. Then, in my modules, I can say:  IF ISACTUALVERSION() THEN (get actuals) ELSE IF VersionMap.Detailed THEN (get detailed info) ELSE IF VersionMap.Interim THEN (get high level) ELSE (get snapshot)

By using the mapping, I can add a new version without having to update formulas... we just have to check a box.


Also, as versions come in and out of existence (this does happen at some clients) we, again, don't have to update any formulas.


The above is just an example, there are other ways to customize/manipulate how versions are mapped & referenced.