Decoding Anaplan Errors in Model Building

Misbah
edited December 2022 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.

Misbah_8-1629978088719.png

This type of error occurs in two cases:

  1. There is at least one dimension in the source module that doesn’t match with the dimension of the target module, and you are pulling the data/information from source to target. Let’s understand with an example; Suppose we have a source module that is dimensioned by Products and Customers and the target module is dimensioned by Products only. If the Customers dimension doesn’t have the top-level set, Anaplan will return the above error because it would not be able to figure out what needs to happen with that extra dimension. The reason for the error is that it is trying to sum the Customers data, but since it doesn't have a top member, the system doesn't have a place/member to aggregate the data to.
     


    Misbah_1-1629977370494.png

    Source Module:

    Misbah_6-1629977837532.png

     

    Target Module 

         Misbah_5-1629977730713.png

Result:

Misbah_7-1629977987177.png

  1. 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.

Misbah_1-1629644948122.png

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:

Misbah_9-1629978417522.png

Target Module:

Misbah_10-1629978468683.png

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.

Misbah_2-1629644948128.png

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.

Misbah_11-1629978836954.png

Misbah_12-1629978940922.png

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.

Misbah_3-1629644948130.png

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).

Misbah_14-1629979913326.png

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

Misbah_15-1629980017425.png

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:

Misbah_13-1629979783320.png

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.

 

Misbah_10-1629645132754.png

Let’s use the previous example:

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

Misbah_14-1629979913326.png

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

Misbah_16-1629980209289.png

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

Misbah_17-1629980338662.png

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.