Monthly Archives: August 2017

Customer Case Study: How to Implement Revenue Recognition in Oracle Hyperion Planning or PBCS

August 30, 2017

Author: Tony Tauro, Performance Architects

In a previous blog post, we took a high-level look at the basic principles behind the revenue recognition concept. In this post, we demonstrate how to implement revenue recognition in an Oracle Hyperion Planning or Oracle Planning and Budgeting Cloud Service (PBCS) solution.

Our customer’s planning application was used to analyze sales data from an external system. The results of this analysis fed into the enterprise resource planning (ERP) system as general ledger (GL) entries. That makes it a typical use case for a planning solution. However, part of this analysis included revenue numbers, including when to recognize this revenue. Thus, it made sense to build in limited revenue recognition functionality in the planning application, rather than try to implement a separate solution for just that functionality.

To create this solution, we had to store certain types of data in the planning solution.  The most critical was sales data, which came in as invoices; the goal of the revenue recognition exercise was to decide the date on which a particular line item of an invoice should be recognized.

Invoices are straightforward to import because the content in the invoices is easily divided into dimensions and facts. Customers, products and invoice numbers are obvious candidates for dimensions. Each customer number is a dimension member in the customer dimension, but we needed separate dimensions to account for the customer billing entity versus the delivery entity. Facts like quantities, amounts and related calculated values were all stored in the “Accounts” dimension as separate members. The “Currency,” “Year” and “Period” dimensions were implemented as standard dimensions.

The planning application allows us to maintain as many versions as needed, and we used two, “Actual”” and “Final.” Actual contains the “raw” data. Rules are applied and required adjustments are made. These edits are kept in members reserved for the edits, so that the actual data is not changed. After the review and edits are complete we transfer the “finalized” data into the Final version.

This brings us to the second item: we had to model and store the rules in our planning application. Luckily, the vast majority of the invoices could be recognized based on some basic rules.

The “Scenario” dimension was used to indicate the revenue recognition model that would apply to the invoice. The rules are stored at intersections not used by the invoices. To apply to the invoices, the corresponding intersection would be populated using a calculation rule.

Of course, all rules have exceptions. We also needed to store the exceptions to the rules. Exceptions were usually unique situations that did not fit into an existing rule, and were also not frequent enough to justify modifying an existing rule to accommodate.

Another interesting modeling issue was that sometimes the data from the external system would not arrive in time for the revenue recognition cutoff. This meant we had to provide the ability to manually override any rule-based recognition date.

To get user-initiated data into the system, we used web forms, which our customers seemed to prefer accessing in Excel via Smart View (especially forms that needed a fair bit of scrolling). Much of the processing was done using calculation rules.  However, in a few cases, we found it more convenient to use relational database queries. This was especially true when the data was already outside the cube (before loading into the application and while transferring it between applications) and involved date or date-based calculations.

We used an ASO cube for reporting. The Final version is synchronized into the reporting cube on a regular basis. The reporting cube aggregates the data at any and all levels possible. This allows us to keep the application cube speedy enough for data entry and edits, while the reporting cube can be used for reporting and analysis that feels rather speedy. Using Smart View on a fully aggregated cube is an absolute joy!

Hopefully this post provides a simple overview of an actual implementation of revenue recognition functionality in a planning application. It is necessary to justify including such a requirement in a planning application, but can be done using standard planning application functionality and project methodology.

Have questions about how to implement revenue recognition in your organization?  Contact us at sales@performancearchitects.com and we’d be happy to assist.


© Performance Architects, Inc. and Performance Architects Blog, 2006 - present. Unauthorized use and/or duplication of this material without express and written permission from this blog's author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Performance Architects, Inc. and Performance Architects Blog with appropriate and specific direction to the original content.

A Taxonomy of Oracle EPM (Hyperion) On-Premise and Cloud Products

August 22, 2017

Author: Kirby Lunger, Performance Architects

For many years, Oracle has been the leader in the enterprise performance management (EPM) (also called corporate performance management or CPM if you follow Gartner) arena with a suite of products called “Oracle EPM.”  These products started on-premise, and Oracle has very quickly migrated this functionality to the cloud since the release of its first EPM cloud product back in February 2014.

For those of us who have been in this area for a while, the rapid product evolution can be confusing…so this blog post attempts to clarify the state of the world right now in terms of what Oracle is offering in on-premise and in the cloud (as software-as-a-service or SaaS solutions).

Oracle EPM History

These products have a storied history, having started back in the 1990s as Arbor Software (which marketed Essbase, the database that still powers most of the Oracle EPM solutions today) and Hyperion Software, which merged with Arbor Software to become Hyperion Solutions.  Oracle eventually acquired Hyperion in the mid-2000s. As a result, many of the on-premise Oracle EPM applications have “Hyperion” in the title.

Oracle EPM On-Premise Solutions

This chart from Oracle demonstrates a variation of the four functional focus areas of the Oracle EPM (Hyperion) product suite (as many of you know who’ve been in this area for a while, there are several variations of this chart floating around, so please consider this “representative”):

Oracle’s major EPM on-premise product offerings map to these functional areas in the following way:

  • Planning and Forecasting (also often referred to as “Planning, Budgeting and Forecasting”)
    • Oracle Hyperion Planning (Planning)
    • Oracle Hyperion Public Sector Planning and Budgeting (PSPB)
    • Oracle Hyperion Strategic Finance (HSF)
    • Oracle Hyperion Workforce Planning (Workforce Planning)
    • Oracle Hyperion Capital Asset Planning (Capital Planning or CapEx Planning)
    • Oracle Hyperion Project Financial Planning (PFP or Project Financial Planning)
  • Strategy Management (note this often gets merged into the “Planning” category above)
    • Oracle Hyperion Strategic Finance (HSF)
  • Financial Close and Reporting (also often referred to as “Financial Close and Consolidation”)
    • Oracle Hyperion Financial Management (HFM)
    • Oracle Hyperion Financial Close Management (FCM)
    • Oracle Hyperion Disclosure Management (Disclosure Management)
    • Oracle Hyperion Tax Provision (Tax Provision)
  • Profitability Management
    • Oracle Hyperion Profitability and Cost Management (HPCM)

There are also “horizontal” capabilities that map across these product categories that are also offered as either products or “named” functionality within products that are useful to know about; these include:

  • Reporting and Analysis
    • Oracle Hyperion Financial Reporting (FR)
    • Oracle Hyperion Interactive Reporting (BRIO)
    • Oracle Hyperion SQR Production Reporting
    • Oracle Hyperion Web Analysis (Web Analysis)
    • Oracle Hyperion Smart View for Office (SmartView or Smart View)
  • Data Management and Integration
    • Oracle Data Relationship Management (DRM)
    • Oracle Hyperion Financial Data Quality Management Enterprise Edition (FDMEE)
    • Oracle Data Relationship Governance (DRG)
    • Oracle Data Integrator (ODI)
    • Oracle GoldenGate (Golden Gate)
    • Oracle Reports Services
    • Oracle Business Activity Monitoring (BAM)

Oracle SaaS/Cloud Solutions

 Oracle’s EPM (Hyperion) software-as-a-service (SaaS or cloud) solutions also map to the same four functional focus areas of the Oracle EPM (Hyperion) product suite:

  • Planning and Forecasting (also often referred to as “Planning, Budgeting and Forecasting”)
    • Oracle Enterprise Planning and Budgeting Cloud Service (EPBCS or E-PBCS)
    • Oracle Planning and Budgeting Cloud Service (PBCS)
    • Important note: As of the date of publication of this blog entry, Oracle is exploring simplifying the name of these solutions to “Oracle Enterprise Planning Cloud” and “Oracle Planning Cloud,” but this isn’t definitive yet; also, many of the modules offered in addition to Oracle Hyperion Planning on-premise such as capital, workforce, and project financial planning are offered as part of the EPBCS suite and the pricing/bundling model for this is evolving as of the date of publication of this blog entry.
  • Strategy Management (note this often gets merged into the “Planning” category above)
    • This became a feature of E-PBCS called “Strategic Modeling”
  • Financial Close and Reporting (also often referred to as “Financial Close and Consolidation”)
    • Oracle Financial Consolidation and Close Cloud Service (FCCCS or FCCS)
    • Oracle Account Reconciliation Cloud Service (ARCS)
    • Oracle Tax Reporting Cloud Service (TRCS)
  • Profitability Management
    • Oracle Profitability and Cost Management Cloud Service (PCMCS)

Just like on-premise, there are also “horizontal” capabilities that map across these product categories that are also offered as either products or “named” functionality within products that are useful to know about; these include:

  • Reporting and Analysis
    • Oracle Hyperion Financial Reporting (FR)
    • Oracle Hyperion Smart View for Office (SmartView or Smart View)
    • Oracle Enterprise Performance Reporting Cloud Service (EPRCS)
  • Data Management and Integration
    • Oracle Data Integrator Cloud Service (ODICS)
    • Oracle GoldenGate Cloud Service (GGCS)

Where’s Essbase?

Going back to the history of how this all started, you may recall that there’s a database underlying most of these solutions on-premise – and pretty much all of these solutions in the cloud – called Essbase…and you’re probably wondering why it’s not listed as a separate product in either the on-premise or cloud lists above.  This is because Oracle’s team views it as a “foundational” offering (a database) as opposed to a “business application” (like the four functional categories listed above).

What this means is that Essbase is grouped internally at Oracle with its technology-oriented offerings (its platform-as-a-service or PaaS solutions) within the business analytics/BI arena.  This means that it’s sold by a different team than the EPM team – and is viewed as a separate product line – at Oracle.

With a nod to its roots in EPM – and because at the end of the day, EPM is how you spell out your strategy and BI/business analytics is how you report your strategy – here are the on-premise Essbase/BI/business analytics products for your reference:

  • Essbase
    • Oracle Essbase (Essbase)
    • Oracle Essbase Integration Services (EIS)
    • Oracle Essbase Studio (Essbase Studio)
  • Business Intelligence (BI or Business Analytics)
    • Oracle Data Visualization (DV)
    • Oracle Big Data Discovery (BDD)
    • Oracle Endeca Information Discovery (OEID)
    • Oracle Business Intelligence Enterprise Edition (OBI or OBIEE)
    • Oracle Business Intelligence Publisher (BI Publisher or BIP)

These translate to the following platform-as-a-service (PaaS) solutions in the cloud, which are now all grouped in one category:

  • Business Intelligence (BI or Business Analytics)
    • Oracle Analytics Cloud (OAC)
    • Oracle Business Intelligence Cloud (BICS)
    • Oracle Data Visualization Cloud Service (DVCS)
    • Oracle Essbase Cloud (Essbase Cloud)
    • Oracle Day by Day (Day by Day)
    • Oracle Synopsis (Synopsis) 

The Current View of the World: Oracle EPM (Hyperion) On-Premise versus Cloud Solutions Taxonomy 

What this means is that there’s almost a 1:1 parity in terms of functional categories between on-premise and cloud EPM offerings at Oracle, as demonstrated in this chart:

However, as always, the devil is in the details. Almost all of the on-premise products have been commercially available for over ten years, while many of the cloud products were only released in the last 12 months or less.  This means that Oracle is racing (and doing a good job, by the way) to provide the same breadth and depth of functionality that they offer on-premise in their cloud solutions.  Various cloud offerings offer varying levels of parity with their on-premise products (feel free to contact us directly if you want a more detailed comparison at a product level).

Still need help?  Please contact us at communications@performancearchitects.com or contact me directly on LinkedIn and we’ll help clarify!


© Performance Architects, Inc. and Performance Architects Blog, 2006 - present. Unauthorized use and/or duplication of this material without express and written permission from this blog's author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Performance Architects, Inc. and Performance Architects Blog with appropriate and specific direction to the original content.

Fun with Oracle Analytics Cloud (OAC): Creating Essbase Cubes

August 16, 2017

Author: Andrew Tauro, Performance Architects

Just like there are multiple ways to skin a cat, there’s more than one way to create an Essbase cube in Oracle Analytics Cloud (OAC). While the best way to migrate on-premise Essbase cubes to OAC is to use the standalone “EssbaseLCMUtility” tool, to create cubes from scratch there are three ways that I have used so far: use the Web UI; build an Application Workbook by hand (or from a template); or use the Cube builder. The latter two are the focus of this blog.

The Application Workbook is essentially a Microsoft Excel workbook that contains a predefined set of tabs, with the contents arranged in a predetermined manner. What that means is the workbook has a bunch of tabs like this:

Each of these tabs serves a particular purpose, but from what I can tell only the first two are a “must” when creating the application:

The “Essbase.Cube” worksheet defines the application and database names, which are required information when creating a cube. In addition, this sheet is used to define the cube dimensions:

“Cube.Settings” and “Cube.Generations” define properties of the Essbase database. The former defines some crucial cube information, such as whether it is going to be a block storage option (BSO) or aggregate storage option (ASO) cube, and if it will allow for duplicate member names.

The remaining tabs populate the dimensions (“Dim” tabs), data (“Data” tabs) and/or define calculation scripts (“Calc” tabs) for the cube. If you are familiar with building Essbase dimensions or data files and/or writing calc scripts, these will look very familiar.

For those of you who are not familiar with these items, there is the option of using the Cube Designer.

This is an add-in for Microsoft Excel that you can download via Smart View from your OAC instance.

The “Cube Designer” menu item provides tabbed screens for creating the application workbook. Walking through the tabs allows to setup the application workbook, and the “To Sheet” and “From Sheet” options facilitate reading from, and pushing to, the active workbook:

Once complete, the cube can be created via the web user interface as an import.

This has greatly reduced the complexity of creating Essbase cubes, and is just one of the ways that OAC is redefining the way we perform analytics using Essbase.

As we explore the capabilities of OAC, we will continue to share our thoughts with you, so stay tuned. While you take this journey with us, if you have any questions on this, feel free to send us a note at communications@performancearchitects.com and we will be in touch.


© Performance Architects, Inc. and Performance Architects Blog, 2006 - present. Unauthorized use and/or duplication of this material without express and written permission from this blog's author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Performance Architects, Inc. and Performance Architects Blog with appropriate and specific direction to the original content.

Projection Process Case Study for Oracle Planning and Budgeting Cloud Service (PBCS)

August 9, 2017

Author: Mike McLean, Performance Architects

One of the requirements during a recent Performance Architects Oracle Planning and Budgeting Cloud Service (PBCS) implementation project was to create a solution for their projection process.   During discussions with the Budget Office, we learned that requirements included:

  • Projections occur three times a year:
    • After Q1 actuals are complete
    • After Q2 actuals are complete
    • After Q3 actuals are complete
  • Historical actuals and budget data must be used to seed the projection scenario
  • Revenues need to be seeded using one methodology, while expenses are seeded using another methodology
  • After the projection scenario is seeded, additional adjustments may need to be made by department, fund, program, etc.

The calculation to seed the “Projection” scenario contains several components:

  1. Q1 revenue and expense actuals were copied to “Q1 Projection”:
  1. Using prior year actuals, “% of YearTotal” was calculated for all revenue accounts for each month. See the example below for October (500 / 9,750 = 5.1%):
  1. The monthly “% of YearTotal” is then multiplied by the “Budget YearTotal” value to calculate each month’s revenue. See the example below for October (5.1% x 8,100 = 415):
  1. Expense accounts are calculated by taking the average of “Q1 Actuals” and loading that value into all of the out months:
  2. After the business rule is launched, the results are displayed:

After the “Q1 Projection” is calculated, the Budget Office wanted the option to make additional adjustments.  This was accomplished by leveraging the hierarchy in the “Version” dimension.  We created a sibling of “Projection Calculated” and named the member “Projection Adjustments.”  The parent of those two members is “Projection Total”.

Need help with your PBCS implementation project? Contact us at sales@performancearchitects.com and we can help you out!


© Performance Architects, Inc. and Performance Architects Blog, 2006 - present. Unauthorized use and/or duplication of this material without express and written permission from this blog's author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Performance Architects, Inc. and Performance Architects Blog with appropriate and specific direction to the original content.

Secure Dashboard Access in Oracle BI Cloud Service (BICS): Sales and Marketing Dashboard Example

August 2, 2017

 Author: Linda Stewart, Performance Architects

Oracle Business Intelligence Cloud Service (BICS) is part of Oracle’s Platform as Service (PaaS) offerings.  The Oracle cloud offerings permit enterprise IT teams to rapidly build and deploy applications without the need to set up expensive infrastructure.  There’s still a need, however, for strong security capabilities in the cloud, and this blog post discusses how BICS security works and how to set up secure dashboard access in the solution via a sales and marketing dashboard sample business case.

How Oracle Cloud Security Works

When your business signs up for an Oracle Cloud account, Oracle Cloud creates an identity domain specific to your company. As users log in to an Oracle Cloud service, Oracle cloud identity management controls the user authentication and the features of the service users can access using Oracle Enterprise Single Sign-On (SSO).  SSO may be federated between on-premise and cloud SSO.  Oracle Cloud uses LDAP schemas for storing the identities.

User and Role Management Overview

BICS Security is comprised of two items:  1. Oracle Cloud Identity Domain Users and Roles and 2. Oracle BICS Application Users and Roles.

First, we add the user to Oracle Cloud Identity Management using the Identity Management Administrator credentials.  Click “Users,” then on the following form, click “Add”:

Typically, we use the email address as the user name.

A few things have changed in this form.  We can now set a role in the Cloud Service for each user.  If the new user just views reports, we will click on the “Service” drop down, select “BICS (Business Intelligence),” and then click the button with the two “greater than” signs. This pushes the roles to the “Selected Roles” box.  If the user is not a reports or dashboard author, then uncheck: “bics BI Cloud Service Advanced Content Authors” as shown above.

Click “Add to save the user.

Next, open BICS as an administrator to complete user creation.  Open “Console” and select “Users” and “Roles.”

In BICS, there are five predefined application roles.  We do not have to add our new user to any of the predefined application roles.

Sales and Marketing Dashboard Example

Let’s say we want to secure our data by sales region.  We have a global sales manager who should be able to see all sales regions.  In our fact table, we have the name of the sales region on each data row.  We want to secure the dashboard to only the members of the sales department, and then to filter the data where the salesperson may only see their own regional data and the sales manager should be able to see all regions.  Let’s also say there are marketing departmental dashboards in BICS and marketing should not be able to see the sales dashboard and sales should not be able to see the marketing dashboard.

To do this, we can establish two application roles to manage the dashboard level.  Add “Sales Dashboard.” Click “Save.”  Repeat for the marketing dashboard.

Add members (users) to “Sales” by selecting the button at the right end of the “Sales Application Role” and then by selecting “Manage Members:”

Search for “John Doe” and add this user to the “Sales Dashboard Role” by clicking the user name in the left box and then by clicking the single arrow to place the user in the “Selected Users” panel.  Click “OK” to save.

Create the marketing dashboard role and add users to that role using the same process.

Next, we will create roles to secure the data in the “Sales” fact. Open “Application Role” and add the following roles:

  • Global Sales Manager Data
  • Eastern Sales Data
  • Western Sales Data
  • Marketing Data

Use the same process as creating the “Sales Application Role,” and add a member to each role.

We can divide the sales regions as many ways as we want as long as the sales region data in our fact has data to support our scenario to slice up the data.  To simplify the example, we will establish two sales regions and then a sales manager role (who sees all sales regions).

Once the application roles are complete, we can navigate to the “BICS Modeler” to secure the data, and then to the “BICS Catalog” to secure the dashboards.

In the Modeler, we will need administrator rights so we can filter the data by role:

  • Open “Data Model” in the left panel
  • Select “Fact-Sales”
  • Select “Lock to Edit” button
  • Select “Data Filters” tab
  • Click “Add”
  • Select “Role” as “Eastern Sales Data”
  • Click the “FX” button
  • Select to filter the fact data on Region=’eastern’

Repeat for the Western region.  This secures our data.

Lastly, as demonstrated in the image below, we will secure the dashboards by opening the Catalog:

  • Under the “Company Shared Folder,” we established “Sales” and “Marketing” folders
  • Add both the sales and marketing dashboard roles to each folder
  • Apply permissions recursively
  • Select the “Sales” folder
  • In the “Tasks” pane, select “Permissions”
  • Click the ‘+’ button to add new application roles
    Select the sales and marketing dashboard roles
  • Set as custom permissions

Use the pencil icon on the “Marketing” role and uncheck all of the boxes to change the permissions to “No Access.”

Repeat the process for the “Marketing” dashboard, but set the “Marketing” role to “Full Control” and the “Sales” role to “No Access.”


© Performance Architects, Inc. and Performance Architects Blog, 2006 - present. Unauthorized use and/or duplication of this material without express and written permission from this blog's author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Performance Architects, Inc. and Performance Architects Blog with appropriate and specific direction to the original content.