PLAGIARISM FREE "A" WORK
Chapter 5 Business Analytics at the Data Warehouse Level During the last couple of years, a lot of changes have happened at the data warehouse level, and
we can expect many more changes in the future. One of the major changes was called by the
phrase Big Data. The reports that created this term came from McKinsey Global Institute in June 2011. The report also addressed the concern about the future lag of skilled analysts, but this we
will discuss in the next chapter. In this chapter we will only focus on the data warehousing
aspects of the Big Data term.
The Big Data phrase was coined to put focus on the fact that there is more data available for
organizations to store and commercially benefit from than ever before. Just think of the huge
amount of data provided by Facebook, Twitter, and Google. Often, this oversupply of data is
summed up in 3 Vs, standing for high volumes of data, high variability of data types, and high velocity in the data generation. More cynical minds may add that this has always been the case. It is just more clear for us, now that we know what we can use the data for, due to the
digitalization of the process landscape.
The huge amount of data may lead to problems. One concrete example of data problems
most companies are facing is multiple data systems, which leads to data‐driven optimization
made per process and never across the full value chain. This means that large companies, which
are the ones that relatively invest the most in data, cannot realize their scale advantages based on
data. Additionally, many companies still suffer from low data quality, which makes the business
reluctant to trust the data provided by its data warehouse section. In addition, the business
typically does not realize that their data warehouse section only stores the data on behalf of the
business, and that the data quality issue hence is a problem that they must be solved by
themselves. The trend is, however, positive, and we see more and more cases where the
ownership of each individual column in a data warehouse is assigned to an individual named
responsible business unit, based on who will suffer the most if the data quality is low.
Another trend we see is symbolized by the arrival of a little yellow toy elephant called Hadoop.
This open‐source file distribution system is free and allows organizations to store and process
huge amounts of raw data at a relatively low cost. Accessing the data stored via these file
distribution systems is, however, not easy, which means that there are still additional costs
associated with using the data for traditional BI reporting and operational systems. But at least
organizations can now join the era of Big Data and store social media information, Web logs,
reports, external data bases dumped locally, and the like, and analyze this data before investing
more into it.
Another newer area is the increased use of cloud computing. This term means that many systems are moved away from on‐premises installations (in the building) to external Web servers.
However, data privacy, legislation and other operational processes, often still makes it necessary
for the data to be stored on premises in the individual organizations.
In Chapter 4, we looked at the processes that transform raw warehouse data into information and
knowledge. Later, in Chapter 6, we will look at the typical data creating source systems that
constitute the real input to a data warehouse.
In this chapter, we discuss how to store data to best support business processes and thereby the
request for value creation. We'll look at the advantages of having a data warehouse and explain
the architecture and processes in a data warehouse. We look briefly at the concept of master data
management, too, and touch upon service‐oriented architecture (SOA). Finally, we discuss the
approaches to be adapted by analysts and business users to different parts of a data warehouse,
based on which information domain they wish to use.
WHY A DATA WAREHOUSE?
The point of having a data warehouse is to give the organization a common information
platform, which ensures consistent, integrated, and valid data across source systems and business
areas. This is essential if a company wants to obtain the most complete picture possible of its
customers.
To gather information about our customers from many different systems to generate a 360‐
degree profile based on the information we have about our customers already, we have to join
information from a large number of independent systems, such as:
• Billing systems (systems printing bills)
• Reminder systems (systems sending out reminders, if customers do not pay on time, and
credit scores)
• Debt collection systems (status on cases that were outsourced for external collection)
• Customer relationship management (CRM) systems (systems for storing history about
customer meetings and calls)
• Product and purchasing information (which products and services a customer has
purchased over time)
• Customer information (names, addresses, opening of accounts, cancellations, special
contracts, segmentations, etc.)
• Corporate information (industry codes, number of employees, accounts figures)
• Campaign history (who received which campaigns and when)
• Web logs (information about customer behavior on our portals)
• Social network information (e.g., Facebook and Twitter)
• Various questionnaire surveys carried out over time
• Human resources (HR) information (information about employees, time sheets, their
competencies, and history)
• Production information (production processes, inventory management, procurement)
• Generation of key performance indicators (KPIs; used for monitoring current processes,
but can be used to optimize processes at a later stage)
• Data mining results (segmentations, added sales models, loyalty segmentations, up‐sale
models, and loyalty segmentations, all of which have their history added when they are
placed in a data warehouse)
As shown, the business analytics (BA) function receives input from different primary source
systems and combines and uses these in a different context than initially intended. A billing
system, for instance, was built to send out bills, and when they have been sent, it's up to the
reminder system to monitor whether reminders should be sent out. Consequently, we might as
well delete the information about the bills that were sent to customers if we don't want to use it in
other contexts. Other contexts might be: profit and loss, preparing accounts, monitoring sales,
value‐based segmentation or activity‐based costing activities—contexts that require the
combination of information about customers across our primary systems over time and that make
this data available to the organization's analytical competencies. BA is not possible without
access to a combined data foundation from the organization's data‐creating source systems. In
fact, that is exactly what a data warehouse does.
A data warehouse consists of a technical part and a business part. The technical part must ensure
that the organization's data is collected from its source systems and that it is stored, combined,
structured, and cleansed regardless of the source system platform. The business content of a data
warehouse must ensure that the desired key figures and reports can be created.
There are many good arguments for integrating data into an overall data warehouse, including:
• To avoid information islands and manual processes in connection with the organization's
primary systems
• To avoid overloading of source systems with daily reporting and analysis
• To integrate data from many different source systems
• To create a historical data foundation that can be changed/ removed in source systems
(e.g., saving the orders historically, even if the enterprise resource planning [ERP] system
“deletes” open orders on invoicing)
• To aggregate performance and data for business needs
• To add new business terms, rules, and logic to data (e.g., rules that do not exist in source
systems)
• To establish central reporting and analysis environments
• To hold documentation of metadata centrally upon collection of data
• To secure scalability to ensure future handling of increased data volumes
• To ensure consistency and valid data definitions across business areas and countries (this
principle is called one version of the truth)
Overall, a well‐planned data warehouse enables the organization to create a qualitative, well‐
documented, true set of figures with history across source systems and business areas—and as a
scalable solution.
ARCHITECTURE AND PROCESSES IN A DATA WAREHOUSE
The architecture and processes in an enterprise data warehouse (EDW) will typically look as
illustrated in Exhibit 5.1. The exhibit is the pivot for the rest of this chapter.
Exhibit 5.1 Architecture and Processes in a Data Warehouse
As opposed to the approach we've used so far in this book, we will now discuss the data
warehouse based on the direction in which data and information actually move (from the bottom
up). Our point of departure in previous chapters has been the direction that is dictated by the
requirements for information (from the top‐down). The bottom‐up approach here is chosen for
pedagogical reasons and reflects the processes that take place in a data warehouse. This does not,
however, change the fact that the purpose of a data warehouse is to collect information required
by the organization's business side.
As is shown by the arrows in Exhibit 5.1, the extract, transform, and load (ETL) processes create
dynamics and transformation in a data warehouse. We must be able to extract source data into
the data warehouse, transform it, merge it, and load it to different locations. These ETL
processes are created by an ETL developer.
ETL is a data warehouse process that always includes these actions:
• Extract data from a source table. • Transform data for business use. • Load to target table in the data warehouse or different locations outside the data
warehouse.
The first part of the ETL process is an extraction from a source table, staging table, or from a
table within the actual data warehouse. A series of business rules or functions are used on the
extracted data in the transformation phase. In other words, it may be necessary to use one or
more of the transformation types in the following section.
Selection of Certain Columns To Be Loaded
It's necessary to choose the columns that should be loaded. Here are the conditions under which
columns need to be loaded:
• Translating coded values. For example, the source system is storing “M” for man and “W” for woman, but the data warehouse wants to store the value 1 for man and 2 for
woman.
• Mapping of values. For example, mapping of the values “Man,” “M” and “Mr.” into the new value 1.
• Calculating a new calculated value. For example, sales = number × unit price. • Joining from different sources. For example, to look‐up or merge. • Summing up of several rows of data. For example, total sales for all regions. • Generating a surrogate key. This is a unique value attributed to a row or an object in the
database. The surrogate key is not in the source system; it is attributed by the ETL tool.
• Transposing. Changing multiple columns to multiple rows or vice versa.
In the load phase of the ETL process, data is entered in the data warehouse or moved from one
area of the data warehouse to another. There is always a target table filled with the results of the
transformation in the load procedure. Depending on the organization's requirements, this process
can vary greatly. For example, in some data warehouses, old data is overwritten by new data.
Systems of a certain complexity are able to create data history simply by making “notes” in the
data warehouse if a change occurs in the source data (e.g., if a customer has moved to a new
address).
Exhibit 5.2 shows a simple ETL job, where data is extracted from the source table (Staging).
Then the selected fields are transferred to the temporary table (Temp), which, through the load
object, is sent on to the table (Staging) in the staging area. The transformation of the job is
simple, since it's simply a case of selecting a subset of the columns or fields of the source table.
The load procedure of the ETL job may overwrite the old rows in the target table or insert new
rows.
Exhibit 5.2 Example of a Simple ETL Job
A more complex part of an ETL job is shown in Exhibit 5.3. Here data is extracted from three
staging tables. Note that only selected columns and rows are extracted with a filter function; an
example of this could be rows that are valid for only a certain period. These three temporary
tables in the center of Exhibit 5.3 are joined using Structured Query Language (SQL). SQL is a
programming language used when manipulating data in a database or a data warehouse. The
SQL join may link information about position (unemployed, employee, self‐employed, etc.) to
information about property evaluations and lending information. There may also be conditions
(business rules) that filter out all noncorporate customers. The procedure is a transformation and
joining of data, which ends up in the temporary table (Temp Table 4). The table with the joined
information about loan applicants (again, Temp Table 4) then flows on in the ETL job with
further transformations based on business rules, until it is finally loaded to a target table in the
staging area, the actual data warehouse, or for reporting and analytics in a data mart.
Exhibit 5.3 Part of ETL Job with SQL Join
When initiating ETL processes and choosing tools, there are certain things to bear in mind. ETL
processes can be very complex, and significant operational problems may arise if the ETL tools
are not in order. Further complexity may be a consequence of many source systems with many
different updating cycles. Some are updated every minute, and others on a weekly basis. A good
ETL tool must be able to withhold certain data until all sources are synchronized.
The degree of scalability in the performance of the ETL tool in its lifetime and use should also be
taken into consideration in the analysis phase. This includes an understanding of the volume of
data to be processed. The ETL tool may need to be scalable in order to process terabytes of data,
if such data volumes are included.
Even though ETL processes can be performed in any programming language, it's fairly
complicated to do so from scratch. To an increasing extent, organizations buy ETL tools to
create ETL processes. A good tool must be able to communicate with many different relational
databases and read the different file formats that are used in the organization. Many vendors'
ETL tools also offer data profiling, data quality, and metadata handling (we'll describe these
processes in the following section). That is, a broader spectrum than extracting, transforming,
and loading data is now necessary in a good tool.
The scope of data values or the data quality in a data source may be reduced compared to the
expectations held by designers when the transformation rules were specified. Data profiling of a
source system is recommended to identify the usability of the transformations on all imaginable
future data values.
Staging Area and Operational Data Stores
ETL processes transfer business source data from the operational systems (e.g., the accounting
system) to a staging area, usually either raw and unprocessed or transformed by means of simple
business rules. The staging area is a temporary storing facility in the area before the data
warehouse (see Exhibit 5.1). Source systems use different types of formats on databases (e.g.,
relational databases such as Oracle, DB2, SQL Server, MySQL, SAS, or flat text files). After
extraction, data is converted to a format that the ETL tools can subsequently use to transform this
data. In the staging area, data is typically arranged as flat files in a simple text format or in the
preferred format of the data warehouse, which could be Oracle. Normally, new data extracts or
rows will be added to tables in the staging area. The purpose is to accumulate the history of the
base systems.
In the staging area, many subsequent complex ETL processes may be performed which, upon
completion, are scheduled for processing with an operations management tool. The tables may
be transformed hundreds of times on several levels before data is ready to leave for the actual
data warehouse.
If the business needs to access data with only a few minutes' delay—for example, because the
contents are risks calculated on the portfolio values of the bank—it may make sense to
implement an operational data store (ODS). This will enable business users to access this data
instantly. Typically, it will not be a requirement that data in a data warehouse be accessible for
business analyses until the following day, even though the trend of the future is real‐time
information. Pervasive BA, as we've mentioned earlier, requires real‐time data from the data
warehouse. The ETL jobs that update rows in a data warehouse and in data marts will usually run
overnight, and be ready with fresh data the next morning, when business users arrive for work. In
some situations, however, instant access is required, in which case an ODS is needed.
In regard to digital processes like multichannel marketing systems and apps pulling operational
data, the data will typically not be provided directly by the data warehouse, but from operational
data platforms that manage the real time interaction with customers. Albeit with some delay,
these interactions will be written to the data warehouse, just like these operational platforms,
with some delay, will be populated by the data warehouse.
Causes and Effects of Poor Data Quality
Data quality is a result of how complete the data is, whether there are duplicates, and the level of
accuracy and consistency across the overall organization. Most data quality projects have
been linked to individual BA or CRM projects. Organizations know that correct data (e.g.,
complete and accurate customer contact data for CRM) is essential to achieve a positive return
on these investments. Therefore, they are beginning to understand the significant advantage that
is associated with focusing on data quality at a strategic level.
Data quality is central in all data integration initiatives, too. Data from a data warehouse can't be
used in an efficient way until it has been analyzed and cleansed. In terms of data warehouses, it's
becoming more and more common to install an actual storage facility or a firewall, which
ensures quality when data is loaded from the staging area to the actual data warehouse. To ensure
that poor data quality from external sources does not destroy or reduce the quality of internal
processes and applications, organizations should establish this data quality firewall in their data
warehouse. Analogous to a network firewall, whose objective is to keep hackers, viruses, and
other undesirables out of the organization's network, the data quality firewall must keep data of
poor quality out of internal processes and applications. The firewall can analyze incoming data
as well as cleanse data by means of known patterns of problems, so that data will be of a certain
quality, before it arrives in the data warehouse. Poor data that cannot be cleansed will be rejected
by the firewall. The proactive way to improve the data quality is to subsequently identify poor
data and add new patterns in the cleansing procedures of the firewall or track them back to the
perpetrators and communicate the quality problems to the data source owners.
Poor data quality is very costly and can cause breakdowns in the organization's value chains
(e.g., no items in stock) and lead to impaired decision‐making at management and operational
levels. Equally, it may lead to substandard customer service, which will cause dissatisfaction and
cancellation of business. Lack of trust in reporting is another problem that will delay budgeting
processes. In other words, poor data quality affects the organization's competiveness negatively.
The first step toward improved data quality in the data warehouse will typically be the
deployment of tools for data profiling. By means of advanced software, basic statistical analyses
are performed to search for frequencies and column widths on the data in the tables. Based on the
statistics, we can see, for example, frequencies on nonexistent or missing postal codes as well as
the number of rows without a customer name. Incorrect values of sales figures in transaction
tables can be identified by means of analyses of the numeric widths of the columns. Algorithms
searching for different ways of spelling the same content are carried out with the purpose of
finding customers who appear under several names. For example, “Mr. Thomas D. Marchand”
could be the same customer as “Thomas D. Marchand.” Is it the same customer twice? Software
packages can disclose whether data fits valid patterns and formats. Phone numbers, for instance,
must have the format 311‐555‐1212 and not 3115551212 or 31 15 121 2. Data profiling can also
identify superfluous data and whether business rules are observed (e.g., whether two fields
contain the same data and whether sales and distributions are calculated correctly in the source
system). Some programs offer functionality for calculating indicators or KPIs for data quality,
which enable the business to follow the development in data quality over time.
Poor data quality may also be a result of the BA function introducing new requirements. If a
source system is registering only the date of a business transaction (e.g., 12 April 2010), the BA
initiative cannot analyze the sales distribution over the hours of the working day. That initiative
will not be possible unless the source system is reprogrammed to register business transactions
with a timestamp such as “12APR2010:12:40:31.” Data will now show that the transaction took
place 40 minutes and 31 seconds past 12, on 12 April 2010. The data quality is now secured, and
the BA initiative can be carried out.
Data profiling is thus an analysis of the problems we are facing. In the next phase, the
improvement of data quality, the process starts with the development of better data. In other
words, this means correcting errors, securing accuracy, and validating and standardizing data
with a view to increase their reliability. Based on data profiling, tools introduce intelligent
algorithms to cleanse and improve data. Fuzzy merge technology is frequently used here. Using
this technology means that duplicate rows can often be removed, so that customers appear only
once in the system. Rows without customer names can be removed. Data with incorrect postal
codes can be corrected, or removed. Phone numbers are adjusted to the desired format, such as
XXX‐XXX‐XXXX.
Data cleansing is a process that identifies and corrects (or removes) ruined or incorrect rows in a
table. After the cleansing, the data set will be consistent with other data sets elsewhere in the
system. Ruined data can be a result of user entries or transmission errors. The actual data
cleansing process may involve a comparison between entered values and a known list of possible
values. The validation may be hard, so that all rows without valid postal codes are rejected or deleted, or it can be soft, which means that values are adjusted if they partly resemble the listed values. As mentioned previously, data quality tools are usually implemented when data is
removed from the staging area to the data warehouse. Simply put, data moves through a kind of
firewall of cleansing tools. Not all errors, however, can be corrected by the data quality tools.
Entry error by users can be difficult to identify, and some of them will come through in the data
profiling as very high or low values. Missing data caused by fields that have not been filled in
should be corrected by means of validation procedures in the source system (for details,
see Chapter 6). It should not be optional, for instance, whether the business user in sales selects
one individual customer or not.
The Data Warehouse: Functions, Components, and Examples
In the actual data warehouse, the processed and merged figures from the source systems are
presented (e.g., transactions, inventory, and master data). A modern data warehouse typically
works as a storage area for the organization's dimensions as well as a metadata repository. First,
we'll look at the dimensions of the business, and then we'll explain the concept of the metadata
repository.
From the staging area, the data sources are collected, joined, and transformed in the actual data
warehouse. One of the most important processes is that the business's transactions (facts) are
then enriched with dimensions such as organizational relationship and placed in the product
hierarchy before data is sent on to the data mart area. This will then enable analysts and business
users to prepare interactive reports via “slice and dice” techniques (i.e., breaking down figures
into their components). As a starting point, a business transaction has no dimensions when it
arrives in the data warehouse from the staging area. That means that we cannot answer questions
about when, where, who, what, or why. A business transaction is merely a fact or an event,
which in itself is completely useless for reporting and analysis purposes.
An example of a meaningless statement for an analyst is “Our sales were $25.5 million.” The
business will typically want answers to questions about when, for what, where, by whom, for
whom, in which currency? And dimensions are exactly what enable business users or the analyst
to answer the following questions:
• When did it happen? Which year, quarter, month, week, day, time? • Where and to whom did it happen? Which salesperson, which department, which
business area, which country?
• What happened? What did we make on which product and on which product group?
All these questions are relevant to the analyst.
Dimensional modeling is a popular way of organizing data in a data warehouse for analysis and
reporting—and not without reason. The starting point is the previously listed transactions or
facts. It may also be helpful to look at the organization's facts as events. These fact rows are
enriched with dimensions in a data warehouse to provide perspective.
The dimensions in Exhibit 5.4 surrounding the facts or transactions put the sales figures, revenue
figures, and cost figures into a perspective. This type of illustration is also called a star schema. Among other things, it gives business users and analysts the opportunity to get answers from the
data warehouse such as these:
• Our sales in product group 1 in December in the United States, measured in the currency
U.S. dollars, were 2 million.
• Sales in department 2 of business area 1 in the first quarter in Europe, measured in the
currency euros, were 800,000.
Note that the dimensions answer questions about when, for what, where, for whom, and by
whom. Business reality is viewed multidimensionally to create optimum insight. Generally
speaking, the multidimensional perspective enables the business to answer the question: “Why
did things turn out as they did?”
Exhibit 5.4 Fact‐Based Transactions Surrounded by Multidimensional Perspectives
Note the hierarchies in the dimensions in Exhibit 5.4. The organization consists, for instance, of
a number of business areas. Under each of these areas, we've got a number of departments, and
in each department, we've got a number of employees. These hierarchies provide us with the
opportunity to slice and dice the information. A sales figure for the overall organization can be
broken down into business areas. Each business area can then be broken down into departments,
and the department figures can be broken down into individual employees. Note that these
features are especially helpful when the business—on a daily basis—is analyzing information by
itself and is therefore not drawing on quantitative analyst resources.
A modern data warehouse will normally contain a metadata repository. Here information is
stored about business data. The simplest definition of metadata is data about data. For example: for a camera, data is a digital photo; metadata will typically contain information about the date
the photo was taken, the settings of the camera, name of manufacturer, size, and resolution.
Metadata facilitates the understanding of data with a view to using and managing data. Metadata
has been given a central role as businesses are becoming increasingly demanding of
documentation. Libraries have registered metadata about books to facilitate searches. This
metadata includes title, genre, publishing year, author of the book, and so forth. Without
metadata, it would be difficult or almost impossible to find the relevant data (books).
The documentation of data and tables is of equal importance, and the demands for metadata
registration in the data warehouse have grown considerably in recent years. Previously, it was
sufficient if tables and fields had meaningful names. The simplest way to create metadata about
tables and fields is to give these meaningful names. For instance, consider a revenue table
containing the two fields, Revenue and Time. That should make it obvious what the table
contains! The problem is, however, that users other than the ones who made the table might
interpret the contents of the revenue field differently. Is it revenue with or without value‐added
tax (VAT)? Are discounts included in the figures? Is the revenue figure in U.S. dollars or euros?
And those are just a few different interpretation possibilities.
Understandably, the previous metadata registration is no longer sufficient. A better metadata
registration can be performed using labels on the fields of the tables. The revenue field could
have a label explaining the contents precisely: revenue excluding VAT including discounts in
U.S. dollars. That would increase the quality of the metadata, and the data could be used by other
users. But we still have the problem that users must be able to search through tables for fields
with, for instance, revenue contents (just as when we search for books at the library).
Many BA vendors have taken action on the consequence of customers' need for advanced
metadata registration and search options for the average user. They have created one single
metadata layer in text format (XML format, in fact), that points to physical tables, fields, users,
servers, programs, and reports. This layer can be found in the metadata repository of the data
warehouse (see Exhibit 5.5).
Exhibit 5.5 The Metadata Repository
The metadata repository has become one of the BA vendors' most important upgrading and sales
arguments—and the arguments are compelling. The metadata layer produces documentation
about everything that goes on in the data warehouse and the front‐end portal. Some software
developers are working along the lines that reports cannot be produced if they are not registered
in the metadata repository of the data warehouse. Similarly, a physical table is not available to
the reporting environment without metadata registration. The same situation occurs with users,
servers, and so on. A metadata repository has become key, since all Web inquiries must go
through the metadata layer via the metadata server. This results in visibility and documentation
of everything that goes on, and this is considered increasingly important to the business. These
days, it's almost unthinkable to build a data warehouse structure without a central metadata
repository. In the top layer of the BA platform, where users access reports and data, this
metadata repository also enables users to search on data definitions and reports from the Web
interface as if they were books at the library.
The users of Apple's iTunes software know about metadata registration in XML format. An
XML file in an iTunes library on a personal computer contains all the information about tracks,
albums, and artists, and so forth. iTunes uses this vital file to navigate. If an iTunes user copies
one MP3 music file with Microsoft Explorer to a physical music library outside iTunes, it won't
appear in the user's iTunes music collection, and he or she won't be able to search for it or play it,
because information about the existence of the file and other data is not metadata that is
registered via his or her iTunes software.
Data marts for the support of business processes are the end products delivered by the data
warehouse and thus contain information for business users. A data mart is a specialized version
of a data warehouse. Like a data warehouse, a data mart is a snapshot of operational data to help
business users make decisions or make strategic analyses (e.g., based on historical trends). The
difference between a data mart and a data warehouse is that data marts are created based on the
particular reporting needs of specific, well‐defined user groups, and data marts provide easy
business access to relevant information. A data mart is thus designed to answer the users' specific
questions. Relevant dimensions for the business area have been linked to data, and specific
business rules apply to help users move about in the desired dimensions and hierarchies. An
organization may have several data marts for different functions, such as marketing, sales,
finance, human resources, and others. A data mart is normally structured as a dimensional model
such as a star schema, made up of fact tables and dimension tables and using specific business
rules. An online analytical processing (OLAP) cube or a pivot table is a way of arranging data in
areas (arrays) to facilitate quick data analyses, and it is often used for data marts. The arrays are
called cubes.
An organization may have many data marts, each of which might be relevant to one or more
business units for which they have been designed. Many business units have assumed
“ownership” of their data marts, and this includes hardware, software, and data. This ownership
enables each business unit or department or business area to use, manipulate, and develop their
data to suit their needs, without changing any information in other data marts or centrally in the
data warehouse.
Another reason for gathering data in small marts is that time is saved in connection with queries,
simply because there is less data to process. This means, too, that two different data marts may
present exactly the same information, except that one presents it in much more detail, which can
then be used if the user decides he or she needs detailed information.
When data has been joined and enriched with dimensions in the data warehouse, data can be
extracted for business use to data marts. These ETL processes will use many different business
rules according to individual user needs. A data mart may cover the accounting function's need
for a consolidated set of figures with the specific business rules required. Another data mart may
cover the need for performance monitoring of the organization's sales processes.
As stated previously, the database for data marts may be relational or OLAP cubes. The
functional difference between these two types of data is of great significance to analysts and
business users, among other reasons because the difference affects response times and analytical
scope. A relational data model is a model where data is organized using common characteristics.
The order of the rows doesn't matter; only the number of rows is important because the number
affects how quickly extracts can be performed. The order of the columns is of no importance,
either. Transaction‐based tables are always relational, as explained in the following section.
The sales table in Exhibit 5.6 has seven columns and three rows, and is a simple example of what
a relational transaction table looks like. In this kind of table, we can quickly add a new
transaction from the shop, when another item is sold.
ID ISBN Title Type Date Number Price
1 1234 Peter Pan Paperback 23‐10‐2010 1 59.00
2 5678 The Hobbit Hardback 24‐10‐2010 1 159.00
3 9101 Moby Dick Paperback 25‐10‐2010 2 79.00
Exhibit 5.6 A Book Seller's Sales Table
For adding, processing, and extracting data from relational tables, we use the programming
language SQL, which is a formalized way of talking to databases. If we want to know the book
shop's revenue distributed on the types “paperback” and “hardback,” we can send the following
SQL syntax off to the database:
Create Table REVENUE as
Select TYPE, SUM (NUMBER * PRICE) as REVENUE
From Sales_Table
Group by TYPE
Order by TYPE
We will then receive a revenue dataset that looks like Exhibit 5.7.
Type Revenue
Hardback 159.00
Paperback 217.00
Exhibit 5.7 A Book Shop's Revenue
Large enterprises, such as Walmart, have several hundred million transactions a year, and it
doesn't take a lot of imagination to see that response times in reporting can be very long if a
preceding summary of the relational tables is not carried out, or if a reporting mart with a
database in the shape of an OLAP cube is not created.
Once the OLAP cube is created, we can't just add another row, as with relational tables. By using
this method of arranging data in cubes, we avoid the limitation of relational databases, as these
are not suitable for instant (real‐time) analysis of large data volumes. The relational database is
more suited for creating rows in a table of a series of transactions. Even though many reporting
tools are developed for relational data, these are slow when it comes to summing up large
databases. In an OLAP cube, all summing up and calculating are carried out beforehand; we just
pull out a value from the cube, so to speak, and we therefore do not need to sum up something
like a million rows in the extract.
In the OLAP cube in Exhibit 5.8, each little subcube contains a sales figure that is calculated
beforehand for the different sets of dimensional values. The sale of a certain product (coats) in a
certain country (Denmark) within a certain period (the month of July) could be the little dark
cube in Exhibit 5.8. The clever thing about the OLAP cube is that when the business user
requests information about the sales of coats in Denmark in July, all the involved transactions do
not need to be summed up. Instead the extract application runs straight into the cube via some
index values, and extracts one single, precalculated, summed‐up figure, which is then returned to
the user's client software.
Exhibit 5.8 OLAP Cube with Sales Figures and Three Dimensions or Perspectives
The OLAP cube can be seen as an expansion of a two‐dimensional spreadsheet. A controller
(financial analyst) will need to analyze financial data by product, by period of time, by town,
type of revenue, or cost and then compare actuals with budget figures. Each of these dimensions
may have in‐built hierarchies. The controller will begin at a summarized level (such as the total
difference between actual revenue and budgeted revenue), and then perform a drill‐down or
slice‐and‐dice in the cube to discover entities, products, sales people, or periods of time that are
accountable for the difference in the total figures.
Note that the size of an OLAP cube increases exponentially when more dimensions are added to
the cube or when the number of categories in individual dimensions grows; this naturally affects
performance and response times.
Alternative Ways of Storing Data
As mentioned earlier, one of the newer trends in data warehousing is the emergence of open‐
source systems like Hadoop. These systems can store large amounts of data on multiple servers
(one large file might be spread over 50 servers). Also, these systems can replicate the data, so
should one server fail, the data can be picked from another server, and similarly, should one
server be busy, the calculations can be done somewhere else or parallel within the cluster of
hardware that is managed by Hadoop's filing distribution system. Hadoop systems do not move
large datasets to the calculating software (the traditional way); they move the calculating
software to the large data sets—and this saves time.
This new technology means that the cost of software and hardware (which historically has been
high when building a data warehouse) in the future might be reduced.
Another benefit of Hadoop's file distribution systems is that data can be stored quickly, as it will
be in relatively raw format. The downside, however, is that data in this format will continue to be
raw. When we have stored the data, we will not be able to change it. In other words, it is a “store
once and read many times” system.
With the relatively low cost of storing data using filing distribution systems, organizations have a
good way to store data that might be relevant in the future. Should the data, based on a closer
examination of data analysts and new business requirements, be considered valuable in the
future, it is likely to be moved into a more traditional data warehouse environment. The need for
moving this data into an ordinary data warehouse is because the data quality might need to be
improved before it can be used. Also, reporting from file distribution systems can be a complex
affair, not suited for nonspecialists. In addition, a simple look up query of a single case name
(e.g., the last produced Peter Pan movie) might take hours in the Hadoop system, as the whole file needs to read before an answer can be given. In the data warehouse environment the
file/table can be indexed, and this will significantly reduce the search time to find specific data
points such as the above case name example.
Business Analytics Portal: Functions and Examples
BA tools and portals aim to deliver information to operational decision makers. In most cases,
this information comes from relational databases and OLAP cubes in the organization's data
warehouse, and the information is presented to business users as scorecards, dashboards,
conventional retrospective sales reports, business performance management (BPM) dashboards,
and analytical applications. End users access the BA portal on top of the organization's data
warehouse (see Exhibit 5.1). The BA portal constitutes a small part of the overall process to
deliver BA decision support for the business. A rule of thumb is that the portal part constitutes
only 15 percent of the work; 85 percent of the work lies in the data collection and processing in
the data warehouse.
In the past, BA tools have been developed from individual applications to serve as critical plug‐
ins in the organization's global portals. The requirements for vendors of BA portals are therefore
now focused on their ability to completely integrate all kinds of BA tools into one global portal,
which then contains all relevant information for decision makers, whether it be employees,
partners, customers, or vendors.
Developments are moving quickly toward global BA portals, and the key to a successful
implementation of such a portal that completely integrates BA tools is to acknowledge that the
portal is not just the launching pad for applications. The portal must deliver true business value
and allow users access to business critical information in a dynamic and secure way. Further, the
information must be available via different online and mobile units, all of which must be easy for
end users to operate.
In the pages that follow, we'll provide examples of user‐friendly BA front ends and dashboards,
which can be accessed on a modern BA portal like the SAS Information Delivery Portal.
In Exhibit 5.9, we see a dashboard with graphics for the monitoring of the performance of
product groups.
Exhibit 5.9 Business Performance Dashboard for KPI Monitoring
This BPM dashboard generated by the SAS Enterprise BI Server enables business users to follow
product performance (actual profits vs. budget profits) on a monthly or quarterly basis, totaled,
distributed on different product groups, channels, and the geographical markets where they are
sold. The information in the dashboard is lag information by nature, but users can, with simple
projections based on trends and colors, form an opinion about needs for future performance
improvements. In this way, the information can move business processes forward, too (lead
information). We then get an answer to the question: “What do we need to do tomorrow?”
Exhibit 5.10 shows a chart produced with SAS/ETS software. The software provides forecasts of
demand for services so that organizations can maximize staff resources. It can automatically
account for seasonal fluctuations and trends, and can select the best method for generating the
demand forecasts. Efficient staff allocations mean customers' needs will be met with no wasted
resources.
Exhibit 5.10 An Example of Forecasting with SAS/ETS Software
The software package includes both prebuilt and customized reports, allowing us to gain the
most from our data. Built‐in analysis allows us to understand how visitors navigate our Web sites
and how they flow through a user‐defined set of pages. In addition to showing the drop‐off at
each step, the reports track users as they flow into, out of, and through the funnel. The report
captures where visitors enter the funnel and where they go once they exit. Expandable and
collapsible lists of pages show the most popular customer paths.
With text‐mining analytics, it is possible to classify documents into predefined or data‐driven
categories, find explicit relationships or associations between documents, and incorporate textual
data with structured inputs (see Exhibit 5.11). The dynamic exploration component helps us
discover patterns in large document collections and allows us to combine those insights with our
predictive analytics to gain maximum value from all of our information. By using text‐mining
analytics, world leaders such as Netanyahu and Obama can find out what's being said about them
in forums and lists and magazine articles and newspapers, as well as on Twitter and other social
media sites—in real time—and can have it all boiled down and analyzed.
Exhibit 5.11 Screenshot of SAS Text Miner
To gain an edge in today's competitive market, powerful advanced analytic solutions are required
to extract knowledge from vast stores of data and act on it. More and more organizations are
turning to predictive analytics and data mining software to uncover patterns in data and discover
hidden relationships. In Exhibit 5.12, the screenshot from SAS Enterprise Miner enables the
identification of market basket profiles. We can also interactively subset the rules based on lift,
confidence, and support chain length.
Exhibit 5.12 Data Mining Software Identifying Market Basket Profiles
TIPS AND TECHNIQUES IN DATA WAREHOUSING
Master Data Management
Problems concerning data quality often lead to discussions about master data management
(MDM). When the complexity of the business increases, and the data volumes explode, the
business turns toward MDM as an intelligent way of consolidating and managing data. MDM
provides a unified view of data, when data is integrated from different data sources. In
organizations that have been growing for a long time, the different business areas will typically
have developed different master data concerning customers, transactions, and products. The
same applies to merging companies. The need for identical definitions will arise across business
areas, national borders, and/or merging companies. For instance, the definition can include what
precisely a customer is and which customer data is registered. Using MDM, the business can
consolidate these sources to a master reference file, which then feeds information back to the
applications. Accuracy and consistency are thus secured across the entire organization.
Service‐Oriented Architecture
SOA is a way of thinking about how to use the organization's resources based on a service
approach and with the objective of providing a more efficient achievement of overall business
targets. It is therefore not a product that can be purchased, but rather a design philosophy about
how to structure a solution. SOA entails integration across systems. Each IT resource, whether
it's an application, a system, or a database, can be reached via a service device. This service
function is available via interfaces. Web services are an implementation form that uses specific
standards and protocols, when they are executed as SOA solutions.
SOA makes systems more flexible in terms of business needs, simpler to develop further, and
easier to maintain and manage. Implementing solutions with an SOA facilitates the
organization's planning for the future—including when changes occur—and helps it to respond
proactively rather than reactively.
What specifically constitutes a service? A service is a program with which the user can interact
through well‐defined standards for the exchange of messages. Services must be designed for
stability and accessibility. There is no point in “making SOA for the sake of SOA.” SOA is
undertaken to support the needs of the business. It is especially suitable for organizations that
make data and applications available to a large number of customers. An enterprise like
Weather.com makes its services available to many customers via SOA. When customers draw on
these enterprises' services, they do so via Web interfaces and stable programs that are always
available. Communication between systems takes place via well‐defined standards/protocols for
the exchange of data. Instead of each customer developing various extracts from the
Weather.com databases, Weather.com places an application at the customer's disposal that serves
the client with data when a well‐defined set of parameters is received in the right protocol
format.
In relation to our data warehouse model in Exhibit 5.1, SOA will be represented as interfaces
from source systems inward, pointing to the staging area, or interfaces from data marts toward
users' applications via the BA platform. In addition to making data easily accessible, they must
obviously be easily understandable, so users are given outlines of, say, temperature and maps,
and not just meteorological terminology and map coordinates from the easily accessible
applications.
How Should Data Be Accessed?
In this chapter, we have looked at the typical ingredients in a data warehouse solution, from
source data to the front‐end solution. If we now look at a data warehouse solution in relation to
the different information domains that were introduced in Chapter 4, there are some correlations
worth mentioning. There are two types of direct users of a data warehouse: the business user and
the BA analyst. Since the BA analyst will always make his or her analyses based on business
needs, the business user will always be the end user.
When the business user approaches a BA analyst for assistance in accessing the data warehouse,
he or she may have two reasons for this. The first reason is that the business user may be looking
for more than mere information; he or she may also be looking for an analyst to enrich and
interpret this information—that is, to deliver information to the business. This naturally means
that the analyst must have business insight, as explained in Chapter 4.
The other reason for a business user to draw on analytical resources is that he or she does not
have access to the desired data and is looking for information. As illustrated in Exhibit 5.13, the
analyst often has many points of access to the data warehouse. The reason is not that the analyst
needs to know more than the rest of the business, but rather that a data warehouse is a dynamic
entity that continually adapts to the needs of the business. And since it may take some time for
the business to acknowledge and formulate a new need for information, and for the required
information to be delivered as standard reports, there will be an implementation period where the
analyst will be delivering the required information as manual reports.
Exhibit 5.13 The BA Analyst's Various Accesses to the Data Warehouse
Access to Business Analytics Portals
Analysts don't actually need access to BA portals because, if they have direct access to the data
they are retrieving, they can access the data via their analytical programs. When someone from
the business side then requests a report, the analyst can refer to the data managers in the section
of the data warehouse that is responsible for the development of reports. In smaller
organizations, however, the roles of data managers and analysts will typically be performed by
the same person, which means that already here we are starting to see that it doesn't make sense
to separate the two roles. There are many other good reasons, however, why analysts, on an
equal footing with business users, should have access to and be keen users of front‐end solutions.
Analysts will often make considerable use of BA portals because they provide fast and easy
access to data. Obviously, analysts are not using this data in connection with the continual
development of manual reports, because if there is a front‐end access to the required information,
the end user can retrieve the data there themselves. An analyst will typically use a BA portal in
connection with the development of new reports, score cards, or dashboards, in cases where any
of these are deemed too complex for the end user to develop. After completed development, they
are delivered to end users, who can then continually update the contents of the reports when new
data is entered into the data mart or on request.
Analysts use front‐end solutions, too, in connection with the validation of data drawn directly
from the data warehouse. If an analysis is based on a linkage of five different extracts collected
by means of SQL directly from the data warehouse, there will typically be hundreds of lines of
programming to validate. This will, of course, not be a case of a one‐to‐one validation, because
then the analyst would have used the front‐end solutions only. But it may be in connection with
segmentations based on information that is available only from the data warehouse and not from
the data marts, where we, for instance, want to validate that we have included all customers in
our analysis. We therefore want to compare the number of segmented customers with the official
number of customers. If these two figures are not the same, we have an error in our
segmentation. Since analysts also frequently have a high degree of contact with the people who
make decisions based on data warehouse information, analysts must train their end users in the
functionality offered by the BA portal.
Access to Data Mart Areas
It is tempting to argue that analysts do not need direct access to retrieve data from data marts, if
they already have access to data via BA portals. The thinking here is that it is possible to transfer
data to the front end and save it as a flat file, which can then be transferred to a statistics or data
mining program. However, several arguments are against this: First, it's important to be able to
automate processes, which is the opposite of manual processes where the analyst retrieves, saves,
and imports data via physical routines. Second, in connection with data mining solutions, where
the same data must be presented in the same way month after month, there are great savings to
be had in automating such processes. It therefore becomes a question of what the analyst should
be spending his or her time on: moving data around or analyzing it.
Some front ends pose problems in terms of being able to collect only a certain number of rows at
a time or having the user be timed out after a short period, which is not the case with analytical
programs. Their limitation is the hardware and the bandwidth. Direct access to data marts can
therefore ensure that all rows are included. Another argument for analysts to have access to both
front‐end solutions and data marts is that a front‐end can function as an SQL generator. If our
analysts' expertise is not precisely the development of SQL, SQL requests can be generated in
the front‐end solution and copied and pasted into a statistics program, which can also use the
access of the front‐end solution to the data mart. In this way, we can automate data delivery via
open database connectivity (ODBC) entries and ensure that our analysts stay focused on
analytics, which is difficult enough. In connection with data mining projects, where data access
can be a considerable consumer of time, this specifically means that the data access can be
carried out faster, if we focus solely on easily accessible information from our data marts. Once
our data mining processes are up and running, we can then start to collect more raw information
directly from the data warehouse. Moreover, this approach supports what is generally
recommended when establishing BA projects: Think big, start small, and deliver fast.
Access to Data Warehouse Areas
Access to these areas enables analysts, via front‐end solutions, to provide the business with
answers that they may otherwise not get. The reason that only analysts can access some data is
not a question about withholding information in data. It's a question of establishing front‐end
solutions that present information in the most accessible way possible, based on users' needs and
the skills of the business users in general.
A supermarket, for example, may be reporting on revenue from different products, summarizing
products into categories such as milk and butter. But since it would be too difficult for the user to
get an overview, or it would take up too much space in the data mart, we can choose to omit
information about which particular milk or butter brand. If we want this information, we'll have
to drill right down into the data warehouse.
There are several reasons why a business wants answers to questions that cannot be clarified via
the BA portal. Needs may change over time, questions may arise in connection with ad hoc tasks
that do not require regular reporting, or a business may want to implement complex analytical
solutions. Data mining could be such a case, where the person driving the solution is called
a data miner and not a typical business user. Data mining is generally associated with a business looking to use information as a strategic resource, not because the analytical method as such can
justify this, but because it is a strategic decision that forms the basis of the investment in this
competence area. As a result, data mining projects of a certain complexity depend on the data
miner or analyst working with direct access to the data warehouse. Furthermore, the results of
the data mining process (segmentations and recommended actions in relation to customers) will
usually be distributed via the data warehouse to the CRM systems whose users are typically
acting on the data mining information.
Access to Source Systems
Access to source systems is something analysts do not always have if a data warehouse has
already been established. This access is usually not automated, which is the reason people often
associate considerable time consumption with the use of information obtained directly from
source systems. In addition to this, data quality can be quite variable, depending on what the
information is used for in the source system. Furthermore, the source system itself might suffer
in performance if accessed as a data warehouse. Developments in these cases will be that if
information of significant value is identified in the source systems, a process will be started to
ensure that this information becomes accessible in the data warehouse. If the business does not
have a data warehouse, analysts always work directly with source systems, in spite of the
weaknesses this entails. Over time, an analyst will usually want to carry out regular runs every
month for reporting; the data set generated from this can therefore be seen as a data warehouse at
the simplest level and as a quantity to be optimized.
In recent years, companies have come to realize the strengths and weaknesses of the Internet.
There has been a growing understanding of the fact that, for instance, customer behavior on a
company's Web site is relevant CRM information, too. It is not without relevance, for instance,
for a telecom company to know whether a given customer has checked the company's Web site
to find out how to cancel his or her subscription. If this information is then combined with
information about the customer's value as well, it can be decided whether a “loyalty call” should
be made to the customer in question. Long term, the company could structure its Internet portals
so that the users' way of moving around these portals will affect the way this customer is treated.
The Web site thereby becomes a questionnaire completed by the customer via his or her clicking,
instead of merely providing information and automated services.
Generally speaking, though, Web log files are not yet providing the company with information
about how customers and users use Web portals. In connection with commercials, however, there
are exceptions, such as Amazon.com and a few search engines that are related to commercials
that specifically and successfully use Web information as a strategic resource that can provide
them with a competitive advantage. In these extreme cases, it seems possible to collect and use
information to drive the company's strategy.
SUMMARY
In this chapter, we have discussed how to store data to best support business processes and
thereby the request for value creation. We also looked into the architecture and processes in a
data warehouse.
BA is not possible without access to a combined data foundation from the organization's data‐
creating source systems. In fact, that is exactly what a data warehouse does: It increases the
usability and availability of source data, as will be explored further in Chapter 6.
One central enterprise data warehouse ensures consistent, integrated, and valid data definitions
across business areas and countries. This principle of one version of the truth is fundamental for companies to avoid spending much time with contradictory reports and deviating business plans
(budgets).