, ,

(VBA) Hyperion Data Pull Automation for Excel

Many finance adjacent teams use Hyperion Essbase to manually pull data into workbooks, a tedious process in large-scale tasks. VBA macros could automate the process but due to limited VBA knowledge across teams, implementation is challenging. The problem was addressed by developing VBA code to automate the entire data pull process.

My teams use Hyperion Essbase to pull data in all of their workbooks. To pull data, teams previously had to locate data pulls within a workbook, and manually pull the data. In large workbooks, this is tedious. Macros could be written by someone with knowledge of VBA to automate the data pulls, however VBA knowledge across teams is limited and makes this difficult to implement in a large scale across files and teams.

To solve this, I developed VBA code that completely automates the process of locating data pulls, writing macros to automate the data pulls, and many more operations on any workbook.

The VBA code was housed in an excel template file which could be easily shared. The user would then press the “Export Template” button as in the photo below.

Pressing the button triggered the following dialogue box. Users would select their destination workbook including all of their data pulls to easily import my code into their workbook.

Once imported, the user would simply press the ‘Populate Sheet List’ button and my code would parse through the workbook, find all worksheet names, the date the sheet’s data was last pulled, and all of the named ranges on the worksheet where data pulls were housed. The user could then perform a number of operations. They can “Refresh Essbase” to refresh all of the data pulls indicated with a ‘yes’ in the ‘Refresh?’ column. The user could toggle refreshes on and off to easily select specific data pulls while omitting unnecessary data pulls. The user could hide, unhide, protect, and unprotect the selected worksheets as well.

Finally, the user could ‘Save Refresh as Macro’. This would take the dashboard’s current selections, write a macro that performs the data pull specifically for those selections, creates a button, and maps the created macro to the button. This would allow the user to, without any technical knowledge of VBA or Hyperion, create macros that allowed them to do custom data pulls and other operations on their workbooks. See below the dialogue box that appears after pressing the ‘Save’ button and see how a custom button is created with the custom macro.

This project was revolutionary for the way teams in Corporate Finance perform data pulls in Hyperion Essbase. It removed much room for human error while empowering users without technical knowledge of VBA to perform complex operations and save them for stress-free use.

The code for this solution is below including annotations explaining the purpose of each segment. The template also included user forms and associated code that it not defined below but are referenced below. Their definitions are stored in a separate location within the excel file.

Leave a comment

Design a site like this with WordPress.com
Get started