Process the Cube and Review the Aging Capabilities within the Cube Browser
Let's process the cube to update it, before reviewing the new aging structures in action.
1. Right-click the Sales cube, once again.
2. Select Edit, as before, to open the Cube Editor.
3. From within the Cube Editor, right-click the Sales cube atop the tree.
4. Select Process Cube ... from the context menu that appears, as shown in Illustration 36.
Illustration 36: Select Tools --> Process Cube ... from the Main Menu
5. Click Yes (if prompted) to save the cube.
6. Click No when prompted to design aggregations, in the next message box that appears as shown in Illustration 37.
Illustration 37: Forgo the Design of Aggregations by Clicking No ...
The Process a Cube dialog appears next.
7. Click OK to begin Full processing of the Sales cube, as depicted in Illustration 38.
Illustration 38: Click OK to Begin Full Processing
Processing begins immediately, and the Process viewer appears, displaying the various logged events with which most of us have come to be familiar. Processing completes, and the viewer presents the green Processing completed successfully message, as shown in Illustration 39.
Illustration 39: Processing Completes Successfully as Indicated on the Process Viewer
8. Click Close to dismiss the viewer.
We will next review our new Aged Period dimension in action.
9. Click the Data tab within Analysis Manager.
The Cube Browser Data view appears.
10. Within the Data view, ensure that the new Aged Period dimension is in place as the row axis, by dragging it there to replace the existing dimension, as necessary.
11. Within the Data view, ensure that the Measures dimension is in place as the column axis, dragging it there to replace the existing dimension, if required.
The Data view, with the aforementioned dimensions in place within the respective axes, appears as partially depicted in Illustration 40.
Illustration 40: Data View, with Initial Axes in Place (Partial View) ...
We see the aggregations within the aging buckets that we have defined.
12. Double-click the "< 30" label to explode to the transaction date level, as partially shown in Illustration 41.
Illustration 41: Perform a Drilldown to Ascertain Proper Date Inclusion (Partial View)
We can readily see that the "<30" bucket appears to contain transactions that were "under thirty days old" at year end for 1997. (Alternate drill down on other buckets will also satisfy us in this same conclusion).
13. Right-click the Store Sales cell for a given date (in my example, I clicked Store Sales for 1997-12-11).
14. Select Drill Through ... from the context menu that appears, as depicted in Illustration 42.
Illustration 42: Perform a Drill Through on Store Sales for a Given Date ...
The Drillthrough Data viewer appears as partially shown in Illustration 43.
Illustration 43: Partial View of the Drillthrough Data ...
We can see at the transactional level, also, that the proper dates appear to be included in the transaction date (and ultimately the aging bucket) rollups.
15. Close the Drillthrough Data viewer when finished.
16. Experiment with drilldown and drillthrough until satisfied that our results are as expected.
We will return to examine the use of our aging buckets from within a reporting environment in a subsequent article in my MSSQL Server Reporting Services series at Database Journal. As I mentioned in the introduction, there are other ways to approach aging as well (some more optimal than others); this is only an introduction to one approach that can be managed largely from within the Analysis Services layer of an integrated business intelligence solution. (We will examine the use of an RDBMS view to support aging within a cube in a prospective article in this series).
17. Select File --> Exit to close the Cube Editor.
18. Select File --> Exit again, to close Analysis Services.
In this article, we introduced a general business need that is familiar to most of us, the aging of values. We then narrowed our discussion to a pervasive example of aging, the aging of accounts receivable. We touched upon the principles of aging customer accounts in preparation for our examination of a solution that works within the OLAP component of the integrated Microsoft BI solution, and that replicates the functionality provided in many accounting and financial applications, as well as many "pre-fab" reporting solutions on the market.
After discussing aging concepts, we prepared for our practice exercises by creating a clone of the FoodMart Analysis Services database. Our intent was to be able to use an existing example cube, Sales, as well as existing (and one additional) shared dimensions as a platform for aging customer transactions, and simulating accounts receivable. We created an Aged Periods shared dimension within the sample cube to provide "buckets" for date-based transactional data, inducted our new shared dimension into our Sales cube, and, using both drilldown and drillthrough capabilities, verified the adequacy of the processed cube in meeting the needs of a hypothetical group of information consumers.
Discuss this article in the MSSQL Server 2000 Analysis Services and MDX Topics Forum.