Community perspective: Monitor activity in your models using an action log

Guillaume_D
edited December 2023 in Blog

Model actions are a useful tool when it comes to automating routine tasks in Anaplan. They enable a wide range of applications such as data integration, list management, or model maintenance. To keep track of action-related activity in a model, we can rely on the Start Date and Time (UTC) column in the Actions pane:

2022-10-20 20_45_51-Action Log Demo _ Anaplan and 20 more pages - Work - Microsoft​ Edge.png

A limitation of this table, however, is that the timestamp displayed only reflects the last instance when a process or action was run. The full details are available in the Model History, but it is only accessible to Workspace Admins and downloading it can lock other users out for extended periods. This article presents a method for creating an Action log by inserting a custom Import action in existing processes.

2022-10-20 22_50_08-Action Log Demo _ Anaplan and 21 more pages - Work - Microsoft​ Edge.png

1. Action log list

The first step is to create a new numbered list (e.g. FL – Log#) that we will use to store the log entries:

2022-10-19 23_50_09-Action Log Demo _ Anaplan and 2 more pages - Work - Microsoft​ Edge.png

Along with the list we need to need to create a set of properties that will hold the metadata associated with each log entry:

2022-10-19 23_54_24-Action Log Demo _ Anaplan and 2 more pages - Work - Microsoft​ Edge.png

At this stage the module LOG01 does not exist so the formula for Display Name will have to be completed after the next step is done.

2. Action log module

The action log module (e.g. LOG01 – Log Properties) displays the properties of each log entry and will constitute the user-facing output of the log to be displayed in dashboards and pages.

Guillaume_D_2-1666335344473.png

Notice the Last non-blank summary method for Item field, which will come in handy when snapshotting KPIs.

3. New log entry module

This module (e.g. LOG02 – New Log Entry) is the source of the import actions that will add new entries to the action log list. It is dimensioned using the Users list so we can keep track of which user is running the process.Guillaume_D_3-1666335406863.png

In the blueprint view, make sure to set the Users List property to: “Show All Users: Off”

If your model does not have the current date (e.g., SYS02 – Time.Today), you can refer to this community article on how to implement it using CloudWorks: Easily Get Current Date Using CloudWorks - Anaplan Community

The formula for the Code line item generates a Text value using the format: yyyy-mm-dd:# where # corresponds to the number of entries for a given day. For example, if there are 2 log entries on 2022/10/19, the code for the first one shall be 2022-10-19:1 while the code for the second one shall be 2022-10-19:2.

TEXT(YEAR(Date)) & "-" & TEXT(MONTH(Date)) & "-" & TEXT(DAY(Date)) & ":" & TEXT('LOG03 - Log Entries x Day'.Count[LOOKUP: Date] + 1)

To count the number of entries for each day, we rely on a separate module (e.g., LOG03 – Log Entries x Day) that uses the numbered list and a daily time scale as dimensions:

2022-10-20 00_23_12-Action Log Demo _ Anaplan and 2 more pages - Work - Microsoft​ Edge.png

Back in the LOG02 module, we need to create distinct line items for each type of action that we intend to track in the Action Log. In this example, we are set up to track integrations with the Accounting and HRIS systems. Any action that can be run by including it in a Process can be monitored using this method:

Guillaume_D_5-1666335701368.png

4. New log entry import actions

To prepare for the import action, we create a saved view in the LOG02 module with users as rows and line items as columns:

Guillaume_D_6-1666335732612.png

A separate view is needed for each process we intend to track in the log. The only difference between the views is the line item mapped to the Action property, which holds the description that will appear in the log (e.g., Action: Update P&L Actuals from Accounting).

Finally, we create a new Import action into the numbered list from the newly created saved view and insert it in the process we want to include in the log.

Guillaume_D_7-1666335766002.png

5. Optional: KPI snapshotting

Beyond tracking the simple execution of a process, the numbered list can be used as a dimension in a snapshot module where we import current values every time a process is run.

For example, if we want to log the quarterly totals for this P&L:

Guillaume_D_8-1666335821137.png

We need:

  • a module (e.g. P&L02 – P&L Log) with the line items we want to snapshot and the numbered list as dimension:

Guillaume_D_9-1666335851307.png

  • a saved view in the P&L01 module that will serve as the source for the import:

Guillaume_D_10-1666335876072.png

Note the formula for the Current Log Entry line item which relies on the property we have created earlier in the LOG01 module. It shows as a subsidiary view because the Time Scale has been set to Not Applicable (it is the same value regardless of the quarter).

  • An import action that maps the saved view with the P&L02 module:

Guillaume_D_11-1666335905874.png

By including this import action in existing processes, we can take a snapshot of the P&L every time said process is run:

Guillaume_D_0-1666335947152.png

 

Comments