-
Need help with better approach
Hi, I am facing issue with the below senario. If someone can help me out with what is the best possible approach I have hierarchy with lists from L1 to L6 levels and a flat list D with list items from D1 to D5 Current setup: There are several hundreds of modules with combination of flat list D with one of the hierarchy…
-
Average Duration for process to be run or Line items to reflect the changes
Hello Community members. Hope you are doing all well. Currently I am optimizing a model for a client that was having troubles with the duration of processes being run or the duration which it takes for line item to reflect manual change by users in a line item . Model has been optimized now. I know that for sure different…
-
2.02-08 Never use SUM and LOOKUP together
SUM and LOOKUP used in the same expression generally cause large formula calculations and may cause intermediate relationship calculations especially if Time is a dimension or when the source and target structures are very different. Splitting them into different modules and line items considerably reduces the size of the…
-
Anaplan add list API timeout.
Currently we are running an integration which we are inserting values into list through Mulesoft. However sporadically through out the day, we would get time out errors inserting into Anaplan. If we are inserting batches of 500+ records from the API, Anaplan endpoint seems to either timeout or extremely slow. This has been…
-
5.04-09 Always use saved views as import sources
Modules and saved views should be used as the source for other imports Best Practice article: Filter Best Practice
-
How to stop calculation for a line item based on time selection
I have a module set up with weeks as the time dimension and covers a two-year timeframe. However, calculations are only needed for the user-selected quarter. To optimize performance, I'm looking for ways to avoid processing the entire two years. Currently, I'm using an If-Else statement, but I doubt it makes a significant…
-
Sum on dynamic filter selections
Looking for a way to sum off a data module based on dynamic user selections. My dashboard has a filter(dimensioned by user). Users select any combination of these dimensions(except amount and account). Sometimes fields are blank so a simple SUM wouldn't work. Ultimately the summation would live in a P&L statement so also…
-
2.02-13 Only use POST for its specific purpose
Don't use POST for simple data offsets. OFFSET, LAG or MOVINGSUM are more efficient
-
2.02-11 Avoid using TEXTLIST()
TEXTLIST() requires a lot of memory for calculations and should be avoided if possible, using two dimensional modules and Boolean flags with ANY is a good alternative. Other alternatives are using FIRSTNONBLANK as well as LASTNONBLANK.
-
1.05-03 Avoid using List Properties
List properties are the same as line items, but have many limitations, so keep it simple and have one place for calculations i.e. Module.Line Item Exceptions: * 1.05-03a Reference module line items: Where the following exceptions are used, reference module line items through a formula where possible to keep the audit trail…
-
Performance tuning in Anaplan’s Optimizer
Author: Mike Henderson is a Principal Solution Architect at Anaplan. A question recently came up from a customer regarding Anaplan Optimizer, and I thought it would be useful to share the answer with the broader Community. For background, Optimizer uses linear programming to quickly solve complex problems involving…
-
"Applies to order" in formulae
Does the order that we list LOOKUP: \ SUM: arguments also need to be consistent with the "applies to" ordering? Logically it would as I believe the reason behind this is to do with how Indexes are built in the background but am uncertain and would love confirmation.
-
1.03-02 Performance and size can be dependent on the Users list
When Users list is heavily used, the number of users added can have a significant impact, be mindful of this and remove model access from any Workspace users when not required
-
2.03-01 Turn Summary options off by default
Most line items in the model will not need summary calculations, so it is good practice to keep summaries off initially and turn them on only when necessary. This is especially true for Calculation modules and conditional formatting line items Exception: 2.03-01a User facing modules on dashboards: For Input or Output…
-
1.01-08 Daily Timescales on large timescales
Review the need for daily granularity for long timescales, specifically if the daily timescale spans five years or more. Use time ranges to restrict the daily calendars if possible and also use PREVIOUS rather than CUMULATE to optimise calculation efficiency. Related to Rule: 2.02-10 Using PREVIOUS vs. CUMULATE Best…
-
Formula Break-Down Without Space Penalty
Currently, to adhere to best practices it is beneficial to break out parts of a complex calculation into separate line items for logic traceability and audit-ability. However, in many models we're constrained by space and can effectively reduce space (especially in large multi-dimensioned modules) by combining logic in…
-
1.06-02 Don't use subsets on large lists
Lists, and subsets take up space within a model, so if you need multiple subsets of the same list, consider whether they would be better as separate lists. This is especially valid if the lists do not overlap and they are being fed from a Data hub. For overlapping subsets or if there is a need to “consolidate” the value…
-
No of sums in a single line item
Hi, Need to know that how many number of sums we can use in a single line item so that its performance will also won't downgraded. Thanks, Vicky
-
Unlock Your Next Level Model Building Potential with Improved Anaplan DX
Hi Anaplan Community! I’m excited to present you Improved Anaplan DX by valantic, a Chrome extension, that also works seamlessly on Edge. This tool is designed to make your Anaplan model building experience smoother, more efficient and supercharge your productivity. Download the Improved Anaplan DX today to bring your…
-
2.04-02 Filtering on views
Filter on a Boolean and only have one filter per dimensional tab Related to Rule: 4.03-01 Use efficient filters Best Practice article: Filter Best Practice
-
2.04-04 Nested Views
If possible, nest the dimensions in order of size (largest to smallest)
-
Repeated 'Illegal Argument' ERROR when pushing data through to a DataHub
I've been having an issue pushing large quantities of transactional data from an externally uploaded .csv file into a data module within a DataHub model. The .csv file is generated directly from an internal operational data store that queries data by client. I can populate its referential list with no issues which is the…
-
what would be the formula for referring Previous year value in current year ?
For example, I want to refer the value of last year july 2022 in current month July 23. the line item is Past year revenue where I just want to show same month revenue from previous year, how could I achieve that?
-
Ability to Apply Filters before downloading Model History
Currently, If I want to check history to view some activity on a specific module or list, but I am not aware of the dates when that change took place, It takes forever for me to extract the history for downloading 'ALL' change history and locate that change. I face issues especially when the changes are too many and file…
-
2.3.9.3 Update Historic Volumes for Baseline Forecast
I am having trouble adding a line item as my model has exceeded size. Here is what I am seeing on my screen.
-
Options to improve performance when loading flat list used in reporting
Hello, I'm loading flat data between 2 Anaplan models and in the target model, I'm using the Sum function to dimensionalize the flat data into a reporting module. The reporting module needs to have 5 lists + time and also requires summary to be on so data can be reviewed at aggregate levels. As a result the import action…
-
1.05-05 Format the Display Name property as a list if possible
Format the Display Name property for Numbered lists as List Formatted, not text. This is more efficient, saves a line item, minimizes text fields and simplifies mappings. However, it not recommended to create a separate list purely for this purpose; use an existing list if possible
-
2.02-10 Using PREVIOUS() vs CUMULATE()
For long timescales, using PREVIOUS is faster than CUMULATE due to the number of "reads" required for the calculation. So, the expression should be: 'Calc line item' = 'data line item' + PREVIOUS('Calc line item') rather than CUMULATE('data line item') Exception: 2.02-10a Short Timescales: Where the number of periods is…
-
1.05-08 Use Composite lists rather than ragged
Composite lists are more flexible and calculate more efficiently so try and "balance" the hierarchies whenever possible Exception: * 1.05-08a Chart of Accounts, or financial reporting hierarchies: Chart of Accounts, financial reporting hierarchies are valid uses of non-composite lists