As the Anaplan model size capacity has recently grown from roughly 18 billion cells to 100 billion cells with the introduction of HyperModel, it is still important to structure models efficiently, while creating as little 'wasted space' as possible.
The Planual states that the Summary Method for most line items should be set to None. This is a great rule to follow—unless:
The totals need to be displayed on a dashboard/page.
The data needs to be aggregated.
Let's assume we have several levels in a cost center hierarchy as shown below:
- L1 Region
- L2 Sub Region
- L3 Business Unit
- L4 Cost Center
Let's assume we have a source module dimensioned by Accts, L4 Cost Centers, Months, and a single line item where NONE is the Summary Method.
Now, let's say we have a target module dimensioned by Accts, L2 Sub Region, Months, and some line items.
If we simply reference the source module without any functions then this will not roll the data up (see above line item on the left). A quick way around this is to use the SUM formula and reference an SYS module that has the mapping of the L4 Cost Centers to the L3, L2, and L1.
In this example, the formula would be Source Data.'Amt (No Summary)'[SUM: 'SYS L4 Cost Center'.Sub Region]. Simple enough, right?
But what if the target module does not contain a higher level dimension of the L4 Cost Center structure? A workaround is to create a one-item dimension...
...and map it to the L4 Cost Centers list within the L4 Cost Center SYS module.
Whereas the L4 Cost Center mapping to L3, L2, etc. is based on the composite structure and uses the PARENT formula, the mapping to this one-item list is just OneItemList.MemberOfOneItemList.
Then, in order to sum the data within a target module, the one-item dimension must be included in the structure and reference the L4 Cost Center SYS module for the one-item mapping via a SUM formula.
If it is not desired to have the one-item dimension in the final output module, then the above module can be used as the source in conjunction with a line item to select the 'Dummy Total'...
...and then feed into a target model that references the staging module using a LOOKUP statement to point to the above line item.
Depending on the number of levels and size of the dimensions for the source and target modules this can save a lot of space, roughly 30-70%. For small modules, using this approach is likely not worth the effort, but this can provide tremendous space savings on very large modules.
... View more
I can't give you the final answer but just think about the values that you are comparing within the 'Confirmed PO Delivery', i.e. what possible values this line item can hold (coming from 'PO Submitted'). It's better to be more precise in IF/THEN/ELSE formulas.
... View more
You are very very close. Look at the following (Formulas section): https://community.anaplan.com/t5/Chapter-2/tkb-p/Chapter2Planual#formulas Think about having Anaplan doing the calculation quickly (for the majority of the instances).
... View more
I have a circular reference issue that I have not previously seen. The screenshot below shows a relatively simple example of a roll forward calculation where balances are carried forward. The issue I am having is that I would like the 'Out' line item to be dependent on the 'In' line item and simply take data from the 'In' line item and post the negative of it to future periods. I've hard coded the formula to post it 10 periods in the future (days in my example) but if I instead reference any line item to use as the length I get a circular reference, even if the '10' in this example is not dim'd by anything. I get a circular reference issue when using Lag, Offset, Lead, and Profile. Any thoughts would be appreciated.
... View more
Jerry - thanks for the video, it was a big help. I just added booleans for the intermediate levels (dimensioned at the intermediate levels) and then incorporated the booleans into the filtered line items. 'IF 'L3 Dummy check' THEN 0 ELSE 3' for the level 3 value and 'IF 'L2 Dummy check' THEN 0 ELSE 2' for the level 2 value.
... View more
The Anaplan connector in Boomi is currently in it's 1st version. It currently does not allow Anaplan users to a certificate to connect with, instead forcing the use of IDs/PSWDs, which means that every 60-90 days the password will need to be changed. There is hope! - - - - Using Boomi's generic HTTP connector to access Anaplan's RESTful API can be accomplished. It does take some effort, but i hope the following article will be helpful. PLEASE REMEMBER using this method means HEADER is uses the 'Authorization' KEY with the BASE64 encoded value of the ID and Certificate. See section 4 below
High-level steps needed to ensure a successful:
Create an Anaplan certificate.
Convert certificate from DER format to PEM format → This site helps explain the differences (https://support.ssl.com/Knowledgebase/Article/View/19/0/der-vs-crt-vs-cer-vs-pem-certificates-and-how-to-convert-them)
Encode the certificate to BASE64
Configure Boomi or other applications with encoded ID & certificate
1.) Create an Anaplan certificate.
Certificate is created in Anaplan. Any administrators has the ability to create a certificate.
A.) Depending on the screen click on either your initials or the blue down arrow next to your name. Take a look at the screen shots below:
B.) Once in the next screen click on the Certificate tab
C.) If not certificates have been created the screen will look like this:
D.) Click on the button 'Create new Certificate'. Once clicked a pop-up screen will appear asking to view or save the newly created certificate. Click on the radio button to 'SAVE' and click the button 'OK'
E.) After the certificate has been created, the certificate dashboard screen will be updated with the new certificate.
2. Convert certificate from DER format to PEM format
(Per Anaplan support. OpenSSL is suggested to convert the certificate)
**Another topic will be created on how to install OpenSSL
To open the application OpenSSL, please review the screen shot below:
Once opened OpenSSL will look like this, as it is a command line program:
In order to convert the certificate, it MUST be copied to the bin folder. (Note i will not be explaining how to use the command in other directories)
In my example, the bin folder is located here: C:\OpenSSL-Win64\bin
A.) The conversion script: x509 -inform der -in certificate-100699999999999999999999999999999999514.cer -out certtest.pem
Before & After the execution this is what you will see:
B.) After the conversion script is run, you execute this script: x509 -text -in certtest.pem (Where certtest.pem is the name you provided when converting the DER formatted certification) . This will display the converted script.
Example of what would be displayed. Please note there is a lot more data being displayed, but I will not show all the data.
3. Encode the certificate & ID to BASE64
(Per Anaplan support, this site < https://www.base64encode.org/ > is suggested to encode the certificate and ID)
A.) Copy all the data shown below, including all the BEGIN CERTIFICATE and END CERTIFICATE data. This data can be found by opening OpenSSL and using this command: x509 -text -in certtest.pem (Where certtest.pem is the name you provided when converting the DER formatted certification)
B.) Per instructions from the Anaplan support team:
Use a Base-64 encoder (e.g. https://www.base64encode.org/ ) to encrypt the CN and PEM string, separated by a colon. For example, paste this in: email@example.com:-----BEGIN CERTIFICATE----- CERTCONTENTS -----END CERTIFICATE-----
4. Configure Boomi or other applications with encoded ID & certificate
Before you can paste any values into Boomi, the entire relevant string needs to be made.
This value (AnaplanCertificate ENCRYPTEDSTRING) needs to be used in Boomi, and sent via the HTTP header to the Anaplan API.
AnaplanCertificate is the prefix and the ENCRYPTEDSTRING represents the data encoded by the base 64 website. That Entire string needs to be pasted after AnaplanCertificate as seen below.
Once this value is created, it can be tested in Postman (an Open source 3rd party API testing tool) as in the screen shot below. REMEMBER THERE IS NO AUTHENTICATION!!!
In Boomi it will look like this. Once this value is created, it can be used in Boomi in a number of ways. In the example below I inserted the value as a parameter. Please see the screen below. REMEMBER THERE IS NO AUTHENTICATION!!!
An successful test will look something like this, but that all depends on what your Boomi flow looks like.
... View more