Map Your Financial Health With an Excel-Friendly OLAP

Here's an easy way to connect your Excel spreadsheet to data required by the DuPont Chart Report.

by Charley Kyd
November, 2004

Because it's so carefully formatted, the DuPont Chart Report takes some effort to set up. But the report is easy to maintain if you use an Excel-friendly OLAP.

The reason for the ease of use is that an Excel user can prepare this report once, and then use it for any month or division for which data exists. In short, this report acts as a template.

The key design decision is to use a staging worksheet to support the chart. The figure below shows the top of the sheet that I used.

Below, I use PowerOLAP to illustrate Excel's link to an Excel-friendly OLAP. But other Excel-friendly OLAP products work similarly.

Column A contains labels throughout. The labels in cell A9 and below specify members of the Account dimension that are used in the report.

Excel relies in part on the contents of cells B1 and B2 to know where to find data for the report. Formulas in cells B3 through B6 specify the members I used from the dimensions shown, as illustrated here:

B6:   =OLAPMember(Database, "Month", 223)

To choose another month, I double-click on cell B6, choose the month from a PowerOLAP list, press enter, then recalculate.

The report uses the Beginning Equity value for Net Worth. (For an explanation, see the articles Weighing Your Debt Load and  How Fast Is Too Fast?.) This formula calculates that beginning date:

B7:   =TEXT(DATE( YEAR(LEFT(B\$6,8))-1, MONTH(LEFT(B\$6,8)),1),
"mmm-yyyy")&" YTD"

The formula for the beginning balance is:

B9:    =OLAPReadWrite(Database, Cube, GLView, Unit, Department,
LastYear, \$A9)

The formula for the Cash balance is:

ThisYear, \$A11)

Cell B11 is copied down the remainder of the column as needed.

Column C contains the sign of the data in column B, where -1 indicates a credit balance and +1 indicates a debit balance. This property is associated with members of the Account dimension, and is returned by a formula like this:

C9:   =OLAPReadWrite(Database, Cube, GLView, Unit, Department,
LastYear, \$A9)

Column D contains the values used in the DuPont Report. Each cell in this column is named using the adjacent cell in column E. Here's a representative formula:

D9:   =B9*C9

This formula adjusts the sign of the data coming from the OLAP's GL cube. It causes the results to be positive whenever the data has the expected sign, and negative otherwise.

The report's formulas reference the range names used in the formulas above. To illustrate:

D31:   =Cash
D34:   =AR
D37:   =Inventories

In each instance, the formulas refer to cells in column D of the data sheet, as illustrated in the figure above.

The formulas for the totals in the report could use the same approach. However they use simple logic to check for errors. To illustrate, the formula for the Current Assets balance is:

H39:   =IF(ABS(D31+D34+D37+D40-CurAssets)>0.01,NA(),CurAssets)

Here, if the absolute value of the difference between the report's value and the cube's value is greater than a penny, the formula returns "#N/A" as an error value. Otherwise, the formula returns the appropriate value. Other totals in the report use a similar approach.

This report displays its numeric results using this number format: #,##0.0,,

Here, the two ending commas tell Microsoft to round the results to nearest million. One ending comma would round the results to the nearest thousand.

 Excel User's Home ExcelUser Blog Site Map Contact Excel for Business Excel Dashboards Excel Solutions Exploring Excel BI for Excel Business Tools Excel Catalog Affiliate Program Excel Help Portal

ExcelUser, Inc.
http://www.ExcelUser.com