Experimenting with automated documenting


Author: Taichi Amaya, Certified Master Anaplanner, and Financial Planning and Analysis Specialist at Pasona Group, Inc.

When I first started model building, I looked at the model map and was impressed by how easy it was to understand the logic of the model. Even now that we are dealing with larger models, we can look at the model map while we are building and see visually how far we have come. I think it is one of the indispensable functions.

If the advantage of a model map is to get the big picture, can we focus on a narrower area and visualize the contents of the model?

So I experimented with a way to mechanically visualize the LINE ITEM data that can be extracted from the API.

From the ID assigned to each model, It was able to access the URL to extract the data of LINE ITEMs. I refered to this article here:

URL ➡️ us1a.app.anaplan.com/2/0/models/(Model_ID)/lineItems?includeAll =true

Example of L1 training model:

Since the referenceBy attribute is attached to the line item, it may be possible to visualize the connection between line items based on that attribute.

In addition, since very detailed information such as formulas and formats can be viewed, all necessary information is covered.

I used DOT language (Viz.js) to visualize the relationship between LINE ITEMS. The displayed graph looks like this:

I am not an expert in coding, so please use at your own risk, but have published a prototype below for your reference. It may be useful for checking model logic that has already been built.


Screenshot of the resource:

I would be happy to hear your comments!


  • JaredDolich

    @Amaya You and I are thinking the same. I use Python, networkx library specifically, to recreate the DAG. This is by far in my opinion the most effective way to visualize what's happening. While it's great to see how the modules relate to each other, even more impressive is to see how the line items all relate to each other.

    Where this becomes super important is evaluating the editable line items so you can chart the dependent calculation paths.

    This proves the importance of "calculate once, refer often".

  • @Amaya do you think it is possible to show the references between line items not directly linked but via imports?

  • Hello, @Amaya!
    Nice idea!
    We had the same issues and same ideas several time ago and built very similar application!
    It is also available for free and works as web application.
    Details is here, for example:

    Its so nice to understand that we are not alone in thoughts and researches!