Decoding Anaplan Errors in Model Building

Misbah
edited August 19 in Best Practices

Anaplan is a very smart and intelligent platform, and it educates its model builders/developers brilliantly about the mistakes or errors made. Here are some of the common errors that may occur while model building—decoded.

ERROR 1: Automatic Sum of “Module.Line item” over “List hierarchy” is not possible, as “List” doesn’t have a built-in top level.

This type of error occurs in two cases:

  1. Source Module: Target Module 

   Result:

There is only one dimension in the source module that doesn’t match with the dimension of the target module.

 ERROR FIX: There are many ways to fix this error.

  1. Setting up the top level for Customers list: Do this when there is a need to pull the data for all of the customers. Otherwise, refrain from doing so because having top-level for large lists impacts the performance of the model health. For more information, please read Planual 1-05.07 Avoid Top Levels for Large Lists.
  2. Use LOOKUP on Constant Module: If there is a need to pull the data of any one particular customer, create a LOOKUP module/Constant module (Dimensionless module) and store the LIST – Customers in one line item.
  3. Use LOOKUP on Mapping Module: If there is a need to pull the data of Customers aligned/mapped to the products. 

ERROR 2: Module.Line item has XXX format, but the formula resolves to YYY format.

This error occurs when the format of the source line item doesn’t match with the format of the Target line item. Let’s understand with the following example. Suppose we have a source module that is dimensioned by Products, and one of the line items is formatted as LIST - Location. Our Target module is also dimensioned by Products. To get the location details from the source module to the target module, change the formats of the line items so they are the same. In this case, the format of the target line item is TEXT—hence the error.

Source Module:

Target Module:

Additionally, attempt to stay away from Text Formats as:

  1. Text is bad for performance.
  2. Model builders cannot sum on data that is not List formatted.

ERROR FIX: Change the format from Text to List.

ERROR 3: “XXX,YYY” is an invalid Applies To for Module because XXX and YYY have a common ancestor.

This error occurs when you are attempting to add the lists to modules, but the lists have common ancestors. For example:

Product Hierarchy: Products roll up to Categories

XYZ Hierarchy: XYZ rolls up to Categories

Since Categories is the Common Ancestor, Anaplan will not allow you to add these two lists as dimensions in one module. Please note that this will also occur when using subset of a list.

Note: At the time of module creation Anaplan will grey out all the lists that are part of the hierarchy or have common ancestors, and the possibility of getting this error is none. However, you will receive this error once the module has been created and you try to change the dimensionality of the module after the creation of the module in blueprint mode.

ERROR FIX: This cannot be accomplished as this is an Anaplan Architecture misunderstanding.

ERROR 4: Dimension of mapping used for lookup doesn’t match any dimension of the result.

This error occurs due to a mismatch in the dimensions of the mapping used for LOOKUP. For example, if a Source Module is dimensioned by Transactions and has two line-items—Regions (LIST-Region formatted) Country (List-Country Formatted).

Country being a child of Region and Currency being an attribute of Country in SYS Country Module.

The target module is dimensioned by Country, Products. To get the Currency (an attribute of Country) into the Target module, we may directly use LOOKUP from SYS module, and our formula might look like below:

This will return the error because the mapping used for LOOKUP in the above formula doesn’t match any dimension of the Target or result line item.

ERROR FIX: Make sure that the mapping that is being used for LOOKUP has at least one dimension matching with the Target or Result Line item.

ERROR 5: Level mismatch on a common dimension.

Let’s use the previous example:

Source Module: Dimensioned by Transactions, with two Line items Region and Country. Country being a child of Region.

The only difference this time is Currency is an attribute of Region and not of Country.

Target Module: Dimensioned by Country, Products—to get Currency into the Target module, our formula may look like this:

Error Fix: Although the dimension is common, there is a mismatch in the levels between the Source and Target module—meaning an attribute of Region (Parent) is getting pulled into the module which is dimensioned by Country (Child). Make sure levels are common when you try to pull the information across modules, even if the hierarchies are the same.

Hope you enjoyed reading it, as the article is intended to make you aware or understand the errors Anaplan returns when a model builder makes a mistake. Try to understand these errors, and you may potentially save a lot of time in debugging them.

Contributing author Rob Marshall.

Tagged:

Comments

  • @Misbah 👍 👍 Thank you very much for this post. Now it's clearer for me 😁

  • @Misbah 

     

    Great Job I agree with you that “understanding” these errors can save the model builder a lot of time and unnecessary frustrations.

  • @Philippe  Glad that it helped

    @einas.ibrahim  Look who's here. Absolutely it does save us

  • Exactly what I needed! You just saved me several hours. Thanks!

     

    Thanks again ..  MCDVOICE

  • Sorry, I'm not understanding the term "dimensioned by" in this context. In the documentation it says line items are dimensions... so in the case of the explanation for level mismatch, how is the information only considered to be "dimensioned by" transactions? Aren't region and country still dimensions?

     

  • @jadefortunato Error 5 Level mismatch on common dimension - I don't think I have mentioned "Line items are dimensions".

     

    What is written is all the line items of the module are dimensioned by "Transactions". 

    "Transactions" is a list on which the module has been created meaning that list has been included in the module at the time of module creation or even after that. So whatever you see in the "Applies to" section of blueprint view of the module that can be considered as the dimension of the module along with Time and Versions (Time and Versions are also treated as dimensions of the module if they are included in the module)

     

    Hope that helps

    Misbah

    Miz Logix

  • Oh, you didn't. It's in the Anapedia:

    "Line items are a type of dimension, and represent how data in a module is measured." Line Item subsets are also mentioned as a dimension.

    So in this context "dimensioned by" would be a list in the "Applies To?" section of the module grid? Are line items not typically considered dimensions now? I'm just trying to understand if the term in common use and the dictionary version have become different in practice, since I don't really talk with anyone about this stuff other than here.