About the Series …
This is the eighth
article of the series, Introduction to MSSQL Server 2000 Analysis
Services. As I stated in the first article, Creating Our First
Cube, the primary focus of this series is an introduction to the
practical creation and manipulation of multidimensional OLAP cubes. The series
is designed to provide hands-on application of the fundamentals of MS SQL Server
2000 Analysis Services ("Analysis Services"), with each
installment progressively adding features designed to meet specific real –
world needs. For more information on the series, as well as the hardware /
software requirements to prepare for the exercises we will undertake,
please see my initial article, Creating Our
First Cube.
Introduction
In the first article of the series,
we used the Cube Wizard to build an initial cube with the assistance of
the Dimension Wizard. We progressed through subsequent articles,
creating similar dimensions to those we built with the Wizard, focusing largely
in our second article on using the Dimension Editor to illustrate
options for building a more customized cube. We continued this examination of
dimensions in Article
Three, where we recreated the calendar
time dimension, this time focusing on the process through which the Dimension
Wizard converts existing time / date fields to a time dimension, along with
its hierarchy of levels and members. Article Three also
exposed ways to customize the predefined, time-related properties that the
wizard establishes in building the time dimension, suggesting options for
customization of these properties to enhance the cube, from the dual
perspectives of user-friendliness and the reporting needs of the organization.
We created an example of an alternate time dimension for fiscal time
reporting, and then we discussed some of the considerations surrounding the
simultaneous housing of both hierarchies in the same OLAP cube structure.
In Article
Four, we examined another
special type of dimension, the Parent – Child dimension, and explored
the attributes that make it different from a regular dimension. We discussed
the considerations that surround Parent-Child dimensions, such as the recursive
nature of their data sources, and various actions that must be handled
differently in their creation and maintenance. We created a parent-child
dimension using the Dimension Wizard, within which we worked with levels
and properties. Finally, we enabled values at the parent level of our newly
created parent-child dimension. In Article
Five, Working with the
Cube Editor, we reviewed, summarized and integrated many of the
concepts and components that we had previously constructed individually in
earlier lessons. We undertook a complete cube build "from scratch,"
pulling together all that we had learned, to demonstrate the assembly of a cube
more sophisticated than the cube we generated in our first lesson with the Cube
Wizard.
In Article
Six, Exploring Virtual Cubes, we introduced the concept of
virtual cubes, and practiced their creation and use. We discussed the options
that virtual cubes provide, from the often-intermingling perspectives of
consolidation of multiple data sources, presentation enhancement and control,
and other functionality. Through the use of hands-on illustrations, we
demonstrated some of the options that virtual cubes offer to extend the functionality and capabilities
of individual OLAP cubes
In
this two-part article, we will build a simple cube to
meet some illustrative business requirements of a hypothetical corporate
financial reporting function. We will expand upon many of the concepts we
introduced in earlier lessons, where we used virtual cubes to merge the two
into a single reporting "view," then we will discuss some of the
challenges that accompany cube design for financial reporting, and explore an
alternative approach to "merging"cubes.
In Part
One of this article, we:
- Created
a core financial cube, focusing on the expense side, and based upon the
expense fact table provided within the FoodMart 2000 sample
database; - Discussed
some of the realities of multiple fact tables in data sources that we
often encounter in the business environment; - Explored
some of the realities that accompany cube design for financial reporting.
In this
half of the article, we will:
- Develop
our core cube further, bringing in sales / revenue and other information
to make the Profit / Loss position of the organization complete for basic
financial reporting purposes; - Explore
and practice the use of a UNION ALL query to prepare a "virtual"
fact table for more effective cube creation; - Discuss
rollup and aggregation concepts and considerations; - Explore
"merging" cubes using Custom Members; - Introduce
methods of sign and data type control within our presentation; - Address
formatting and other considerations that arise as we create a cube to meet
the needs of our information consumers.
We will develop our
initial core further in Part
II of this lesson, then we will
populate our model with the Revenue / Sales elements of a simple Income
Statement, after discussing the options we have available within Analysis
Services for doing so.