About the Series …
This
article is a member of the series Introduction to MSSQL Server Analysis Services. The series is designed to
provide hands-on application of the fundamentals of MS SQL Server Analysis
Services, with each installment progressively presenting features and
techniques designed to meet specific real – world needs. For more information
on the series, please see my initial article, Creating Our First
Cube.
Note: To follow along with the steps we undertake within this series, the
following components, samples and tools are recommended, and should be
installed according to the respective documentation that accompanies MSSQL
Server 2005:
-
Microsoft SQL
Server 2005 Database Engine -
Microsoft SQL
Server 2005 Analysis Services -
Microsoft SQL
Server 2005 Integration Services -
Business
Intelligence Development Studio -
Microsoft SQL
Server 2005 sample databases -
The Analysis Services
Tutorial sample project and other samples that are available with the
installation of the above.
To
successfully replicate the steps of the article, you also need to have:
-
Membership
within one of the following:-
the Administrators
local group on the Analysis Services computer -
the Server
role in the instance of Analysis Services
-
-
Read permissions within any SQL
Server 2005 sample databases we access within our practice session, as
appropriate.
Note: Current Service Pack updates are assumed for the operating system, MSSQL
Server 2005 ("MSSQL Server"), MSSQL Server 2005 Analysis
Services ("Analysis Services"), MSSQL Server 2005 Reporting
Services ("Reporting Services") and the related Books
Online and Samples. Images are from a Windows 2003
Server environment, but the steps performed in the articles, together with
the views that result, will be quite similar within any environment that
supports MSSQL Server 2005 and its component applications.
About the Mastering Enterprise
BI Articles …
Having implemented, and developed within, most of the major
enterprise BI applications for over for fourteen years, and having
developed an appreciation for the marriage of ease of use and analytical
power through my background in Accounting and Finance, I have come to
appreciate the leadership roles Cognos and other vendors have played in the
evolution of OLAP and enterprise reporting. As I have stated repeatedly,
however, I have become convinced that the components of the Microsoft
integrated BI solution (including MSSQL Server, Analysis Services,
and Reporting Services) will commoditize business intelligence. It is
therefore easy to see why a natural area of specialization for me has become
the conversion of Cognos (and other) enterprise BI to the Microsoft solution. In addition to converting formerly
dominant enterprise Business Intelligence systems, such as Cognos, Business
Objects, Crystal, and others, to the Reporting Services architecture, I
regularly conduct strategy sessions about these conversions with large
organizations in a diverse range of industries – the interest grows daily as
awareness of the solution becomes pervasive. Indeed, the five-to-six-plus
figures that many can shave from their annual IT budgets represent a compelling
sweetener to examining this incredible toolset.
The purpose of the Mastering
Enterprise BI subset of my Introduction
to MSSQL Server Analysis Services series is to focus on techniques for implementing features in Analysis
Services that parallel those found in the more "mature"
enterprise OLAP packages. In
many cases, which I try to outline in my articles at appropriate junctures, the
functionality of the OLAP solutions within well-established, but expensive,
packages, such as Cognos PowerPlay Transformer and Cognos PowerPlay,
can be met – often exceeded – in most respects by the Analysis Services /
Reporting Services combination – at a tiny fraction of the cost. The
vacuum of documentation comparing components of the Microsoft BI solution to
their counterparts among the dominant enterprise BI vendors, to date,
represents a serious "undersell" of both Analysis Services and
Reporting Services, particularly from an OLAP reporting perspective. I
hope to contribute to making this arena more accessible to everyone, and to
share my implementation and conversion experiences as the series evolves – and,
within the context of the Mastering Enterprise BI articles,
to demonstrate that the ease of replicating popular enterprise BI features in Analysis
Services will be yet another reason that the Microsoft solution will
commoditize Business Intelligence.
For
more information about the Mastering
Enterprise BI articles,
see the section entitled "About the
Mastering
Enterprise BI Articles" in my article Relative
Time Periods in an Analysis Services Cube, Part I.
Introduction
A Key
Performance Indicator ("KPI") is a performance measure
that specifies an emphasis intended to produce a desired result. As
quantifiable measurements that gauge business success, KPIs can be
diverse in nature, but they typically represent values, statuses, trends, or goals.
KPIs often combine two or more of these into a single indicator. Because
their purpose is to present high level, summary information to executives or
other managers of the enterprise, who then use the information to steer an integrated
organization, we typically limit the number of these vital measures to only a
few.
KPIs are usually graphic in nature, and are collected into a
dashboard, scorecard, or other central point of reference, where they can be
easily accessed by the management team, to obtain a
quick and accurate summary of business success or progress toward success. KPIs
make it possible for management to make decisions and take action. Based
upon the information the indicators convey, managers can pull the processes and
activities that the KPIs represent into alignment with strategic goals
and objectives.
KPIs can range from simple to complex,
and they are often evaluated over time. A simple KPI (represented, say,
by a smiling or frowning "Smiley" face image) might indicate a status
of monthly employee turnover or headcount, either of which might represent a
single, but important, key measure. A more complex KPI might combine
multiple perspectives (a status, with regard to corporate market share
for a given product, coupled with a trend, such as competitor market
share over the past few months for a similar product) into a single graphic
(say a directional arrow or a traffic signal), indicating that the enterprise
is leading in share, that share is eroding, or even that it has been overtaken
by its competition. KPIs can be used alone or in combination to support
rapid management decisions and actions, and to provide an indication of
progress toward the accomplishment of intended strategic outcomes.
In this article, we will examine KPIs, and get
hands-on exposure to the process of adding them to a sample cube, within the Business
Intelligence Development Studio. We will overview the creation of KPIs based
upon measures and calculated measures, and discuss ways in which
to use them to offer robust decision support capabilities. As a part of our
examination of the steps, we will:
-
Discuss the
concepts behind KPIs, and how we can leverage them within our business
environments for decision support, analysis and reporting purposes; -
Create a clone
Analysis Services Database in SQL Server Management Studio, within which to conduct
our practice exercises; -
Access the Analysis
Services Database from within Business Intelligence Development Studio to perform our practice
exercises; -
Create a calculated
measure to partially support the KPI we create in our practice
session; -
Create a KPI,
demonstrating examples of input for various expressions within its
designer form; -
Browse the KPI,
to verify operation and overview basic features.
Introducing Key Performance Indicators
Overview and Discussion
In Analysis
Services 2005, Key Performance Indicators are composed of
calculations that are associated with a measure group (or,
alternatively, all measure groups) within a cube. MDX expressions,
regular measures and calculated measures, often in combination, are used to
generate KPIs. Because KPIs in Analysis Services contain
additional metadata, they can direct the way that the results of their
underlying calculations can be displayed in client applications.
Different
client applications can consume Analysis Services KPIs because they are
server-based, offering advantages in presentation flexibility. Other strengths
of the server-based indicators include the obvious performance benefits that
accrue through the performance of what are often complex calculations on the
server rather than on the client machines, as well as the fact that they
clearly provide a "single version of the truth" versus separate,
potentially differing versions in separate client applications.
Analysis
Services KPIs are
supported by measures or calculated measures, and, as we shall see in the
practice section, they have multiple properties which we define as part
of their creation. KPI properties include a Value Expression, a Goal
Expression, a Status Indicator and a Status Expression, and a
Trend Indicator, and a Trend Expression. (We will discuss each of
these as we add them in our practice KPI later.) We can also define a Parent
KPI, a Current Time Member, a Weight, and a Description.
Moreover, we can logically group our KPIs through the use of a Display
Folder.
The Goal
and Value are usually the two most important properties of the KPI.
The Value represents the "current state" of the measure,
whereas the Goal represents the "desired state" of the
measure, or the state toward which the organization is striving. As we shall
see, the use and comparison of these two properties helps us to derive the Status
and Trend of the Key Performance Indicator.
Considerations and Comments
For purposes of the
practice exercises within this series, we will be working with samples that are
provided with MSSQL Server 2005 Analysis Services. These samples
include, predominantly, the Adventure Works DW Analysis Services
database (with member objects). The Adventure Works DW Analysis Services
database and companion samples are not installed by default in MSSQL Server
2005. The samples can be installed during Setup, or at any time
after MSSQL Server has been installed. The topics "Running Setup
to Install AdventureWorks Sample Databases and Samples" in SQL
Server Setup Help or "Installing AdventureWorks Sample Databases and
Samples" in
the Books Online (both of which are included on the installation CD(s), and
are available from www.Microsoft.com and other sources, as well),
provide guidance on samples installation.
Important information
regarding the rights / privileges required to accomplish samples installation,
as well as to access the samples once installed, is included in the references
I have noted.
Hands-On Procedure
Let’s get some
hands-on practice with the construction and use of KPIs. To prepare, we
will create a new Analysis Services database, based upon the existing Adventure
Works DW sample, to insulate the original sample database from
modifications we will make. We will accomplish the creation of the "clone"
database from within the SQL Server Management Studio, and then work
with our new database from the Business Intelligence Development Studio.