Microstrategy: Training
Microstrategy: Training
Training
2
Agenda (2)
3
Data Exploration Technology
4
ROLAP
5
BI Architecture Overview
A typical BI architecture has the following components:
A source system (typically an OLTP system)
Data access is optimized for frequent reading and writing.
Data is aligned by application (business activities and workflow).
Data formats are not necessarily uniform across systems.
Data history is typically limited to recent or current data.
6
BI Architecture Overview
OLTP Data
Server Warehouse
Server
Intelligence Server Web Server
Operational
& Legacy
Systems
Data
WEB
Warehouse
Metadata
Closed-Loop ...
BI
Desktop
Mail
WAP
SMS
7
MicroStrategy Project
What is a project?
The highest-level object in the MicroStrategy reporting environment.
The intersection of a Data Warehouse, metadata repository, and user
community.
Where you build and store all of the objects and information you need
to create an application.
A project …
Determines the set of warehouse tables to be used, and therefore the
set of data available to be analyzed.
Contains all of the schema objects used to interpret the data in those
tables (facts, attributes, hierarchies, and so on).
Contains all of the reporting objects used to create reports and
analyze the data (metrics, filters, reports, and so on).
Defines the security scheme under which the user community that will
access these objects will operate (security filters, security roles,
privileges, access control, and so on).
8
Project creation – Key Concepts
MicroStrategy Metadata
Contains information in a relational database stored as
MicroStrategy objects.
Facilitates the transfer of data between the data warehouse and
the MicroStrategy platform.
Stores object definitions, information about the data warehouse.
Maps MicroStrategy objects to the data warehouse structure and
content.
Project Source
Contains the information necessary for MicroStrategy products to
connect to the metadata in which projects are stored.
Stores the location of the metadata repository or of the
Intelligence Server definition that is used to host the projects.
9
Project creation – Key Concepts
Data
Warehouse
MicroStrategy
Intelligence Desktop
Server
10
Data Modelling – Logical Data Model
11
Logical Data Model - Facts
Facts
Business measurements, data, or variables that are typically numeric and
suitable for aggregation.
They relate numeric data values from the data warehouse to the
MicroStrategy reporting environment.
Can come from different source
systems and they might have Year
Class
differing levels of detail. Month
The rest of data modelling consists Subclass Week
mostly of providing context for Sku Day
these facts.
In a data warehouse, facts typically
exist as columns featured in the
fact tables. Location
District
Region
Area
12
Logical Data Model - Attributes
Attributes
Once the facts are determined, attributes must be identified.
Attributes allow you to answer questions about a fact and provide a context
for reporting those facts.
Attribute elements
Are the data shown on a report.
Data usually refers to metric values.
Allow you to qualify on data to get very specific results.
13
Logical Data Model - Attributes
Attribute relationships
One-to-one - each element in the parent attribute has one and only one
corresponding element in the child attribute.
One-to-many - each element in the parent attribute corresponds to two
or more elements in the child attribute
Many-to-many - each element in the parent attribute can have multiple
children and each child element in the child attribute can have multiple
parents
Attribute forms
Describe an attribute and one attribute can have many forms.
Forms are displayed on reports.
For example, Last Name, First Name, Phone Number, and E-mail Address
could each be forms of a Customer attribute.
Hierarchies
In a logical data model are ordered groupings of attributes arranged to
reflect their relationship with other attributes.
14
Logical Data Model Summary
Four steps for creating a logical data model:
Identify the facts.
Identify the attributes.
Determine where there are attribute relationships.
Define hierarchies.
15
Data Modelling – Physical Data Model
16
Physical Data Model – Key components -Tables
There are three types of tables:
lookup tables
relate tables
fact tables
Lookup tables
Lookup tables are the physical representation
of attributes.
They provide the ability to aggregate data at
different levels.
Functionally, lookup tables provide the
information for a attribute through data
stored in their ID and description columns.
a lookup table might store information for one or more related
attributes.
If a table only stores data about one attribute, it is said to be a
normalized table.
Notice that the denormalized table holds the exact same data as
the three normalized tables.
17
Physical Data Model – Key components -Tables
Relate tables
While lookup tables store information about one or more attributes,
relate tables store information about the relationship between two
attributes.
Relate tables contain the ID columns of two or more attributes, thus
defining associations between them.
With attributes whose direct relationship is one-to-many, you
define parent-child relationships by placing the ID column of the
parent attribute in the lookup table of the child attribute.
The parent ID column in
the child table is called a
foreign key.
Possible to define
relationships between
attributes in the attributes’
lookup tables, creating
tables that function as
both lookup tables and
relate
18
Physical Data Model – Key components -Tables
In the case of a many-to-many relationship, you must create a
separate relate table as shown in the following diagram:
19
Physical Data Model – Key components -Tables
Attribute relationships and lookup table structure
Attribute relationships are a major factor in determining the structure
of lookup tables in a physical warehouse schema. In general, the
following guidelines apply:
20
Physical Data Model – Key components -Tables
Fact tables
Fact tables are used to store fact data.
Since attributes are what give meaning to fact values, both fact
columns and attribute ID columns are included in fact tables—that is,
facts exist at the intersection of indirectly related attributes.
The attribute ID columns included in a fact table represent the level
at which the facts in that table are stored.
21
Physical Data Model – Key components - Columns
Table Keys
In relational databases, each table has a primary key that creates a
unique value identifying each distinct data record (or row).
22
Physical Data Model – Key components - Columns
Homogeneous versus heterogeneous
column naming
23
Physical Data Model – Key components - Columns
Base fact columns versus derived fact columns
There are two types of fact
columns:
24
MicroStrategy Project Builder
25
MicroStrategy Architect Tools
Warehouse Catalog
Lists the tables present in the database to which your project’s
database instance connects. From this list, you can choose which
tables to add to your project.
Every project can have a unique set of warehouse tables.
Much faster and more efficient to add large numbers of tables using
the Warehouse Catalog than Project Builder.
26
MicroStrategy Architect Tools
28
MicroStrategy Reports
What is a report?
A report is a MicroStrategy object that represents a request .
for a specific set of formatted data from the data warehouse.
It’s typically composed of three main objects: metrics, attributes, and filters:
Metrics
- MicroStrategy objects that represent business measures. They describe calculations
to be performed on data from the data warehouse in a manner similar to formulae in
spreadsheet software.
Attributes
- Qualify business metrics and give them meaning. Metrics in the report are only
meaningful if they are referenced by one or more attributes.
Filters
- Limit or constrain the data in the report so that it contains only the information that
is pertinent to the problem that is being investigated.
Reports may also contain other objects such as prompts,
hierarchies, consolidations and custom groups.
29
Reports Templates(1)
A template defines the layout of general categories of information in
a report.
In a template, you specify the information you want to retrieve from
the data warehouse and the way you want it to be displayed on the
report.
The layout of a template can be cross-tab or tabular.
A cross-tab layout is useful for multidimensional analysis. For example, a
report with location information in the columns and corresponding sales
information in the rows.
30
Reports Templates(2)
The Template Editor allows you to create and modify templates.
Before you begin using the Template Editor, you should:
Know the report needs of your end users
Be familiar with the different template layouts
Know the rules for template object placement
32
Metrics – Simple metrics
Metrics are constructed of components that differentiate one metric
from all others and also serve as criteria for defining the calculations
and data included in each metric.
Simple metrics include the following components:
The formula - defines the data to be used and the calculations to be
performed on the data. The outermost formula must be a group function.
The level, or dimensionality - determines the level at which to perform the
metric calculation. For example, you can choose to calculate at the month
level or year level.
Conditionality - associates a filter to the metric calculation. This is an
optional component.
The transformation - applies offset values, such as “four months ago,” to
the selected attributes. This is also an optional component.
EXAMPLE
33
Metrics – Formulas
Formula
The essential part of the metric
definition.
Is a mathematical expression
consisting of group functions, such as
sum, average, minimum, maximum,
and so on.
Also includes the data to be used in
the calculations. This can include
facts, attributes, constants, and
other metrics.
Can also contain a non-group
function or arithmetic operator, in
addition to the required group
function.
In SQL, the formula becomes part of
the SELECT clause of the SQL
command.
34
Metrics – Base Formulas
Base formulas
You can recycle a formula to use it in multiple metric definitions. This is
called a base formula, which can contain arithmetic operators, attributes,
facts, group functions, metrics, and non-group functions.
35
Metrics – Level (Dimensionality)
Level
The level of a metric, also referred to as dimensionality, allows you to
determine the attribute level at which the metric is calculated. In addition,
you can specify the grouping and filtering involved in a metric
All metrics, by default, calculate at the report level. This means that the
attributes on the report template dictate how the metric is aggregated.
37
Metrics Level – Grouping(1)
Grouping determines how the metric aggregates. The result of this
setting is reflected in the GROUP BY clause of the SQL command.
The grouping options for levels include:
Standard - groups by the attribute level of the target. That is, the metric
calculates at the level of the target, if possible.
None - excludes the attribute in the target from the GROUP BY clause.
Also include
Beginning lookup - uses the first value of the lookup table.
Ending lookup - uses the last value of the lookup table.
Beginning fact - accesses the first value of the fact table.
Ending fact - accesses the last value contained in the fact table.
This last four options are only used for nonaggregatable metrics. A nonaggregatable
metric is one that should not be aggregated across an attribute.
An example is an inventory metric. Instead of summing values, you may want to use
the End-On-Hand and Beginning-On-Hand inventory numbers to see how the total
inventory changed over the time.
38
Metrics Level – Grouping(2)
39
Metrics Level – Grouping(3)
40
Metrics Level – Filtering
The filtering setting governs the relationship between the report filter
and the calculation of the metric. The filtering options are:
Standard filtering - does not change the filter applied to the report.
Absolute filtering - raises elements in the report filter to the level of the
specified attribute.
– If the attribute in the metric filter is of the same level or a child of the
level in the report filter, calculations occur as specified by the report
filter.
41
Metrics Level – Filtering (2)
Ignore filtering - omits filtering criteria based on the attribute in the target
and its related attributes (parents and children). The report filter does not
appear anywhere in the SQL for a metric with this setting.
– If the report does not include other attributes in the same hierarchy as
that indicated by the metric filter, aggregation defaults to the
“Absolute” option.
42
Metrics - Conditionality
Merge report filter into metric - is the default setting. The report filter
criteria is applied to the data first. Then the metric filter is applied to the
results of the first evaluation.
Merge metric condition into report - evaluates the metric filter first, then
applies the report filter to those results.
Merge into new - intersects the metric and report filter.
43
Metrics - Transformation
45
Metrics – Smart Metrics
The smart metric property of a compound metric allows you to
change the default evaluation order of the metric.
46
Metrics – Aggregation
These functions reflect only those most frequently used for further
aggregation of metrics or for evaluating metric subtotals.
47
Metrics – Subtotals
49
Metrics – Specific VLDB properties
50
VLDB properties
51
Metrics – Useful functions(1)
Rank
In rank functions, you specify the metric to be ranked and whether to rank in
ascending or descending order.
Count
Is usually used with an attribute, although a fact can also be counted. You can
specify whether to count from a fact or a lookup table and whether to count
distinct occurrences of the target.
N-tile
The N-tile function, which is also referred to as segmentation, sets up numbers
of groups, or tiles, for a metric. An example of an N-tile function in use is
displaying what items are in the top 25% of sales, the next 25%, and so on.
NTile(Revenue)
52
Metrics – Useful functions (2)
Running and moving sums and averages
These functions include
• moving average
• moving sum
• running average
• running sum
All these functions are similar and are called OLAP functions.
53
Attributes(1)
Attributes represent entities in the business model and are normally
identified by a unique ID column in the data warehouse.
Attributes must be
distinct and group,
but not share,
elements.
54
Attributes(2)
If an attribute requires more than one ID column to uniquely
identify it (called a compound key), it is called a compound attribute
and you must specify the number of ID columns required
Although Desktop will allow it, you should never use as the ID
column for an attribute a column that has NULL or repeated values.
Doing so will result in unexpected behaviour and errors.
55
Attribute Relationships
The relationships give meaning to the data by providing logical
associations of attributes based on business rules.
Every direct relationship between attributes has two parts—a parent
and a child.
A child must always have a parent.
A parent can have multiple children.
Three types of
relationships can exist
between directly related
attributes, and they are
defined by the attribute
elements that exist in the
related attributes:
One-to-one
One-to-many
Many-to-many
56
Nonrelated attributes
57
Attribute Forms
An attribute form describes an attribute and one attribute can have
many forms.
For example, Last Name, First Name, Phone Number, and E-mail
Address could each be forms of a Customer attribute.
58
Hierarchies
Hierarchies are ordered groupings of
attributes arranged to reflect their
relationship with other attributes.
Attributes in one hierarchy are not directly
related to attributes in another hierarchy.
Usually the best design for a hierarchy is to
organize or group attributes into logical
business areas.
For example, we can group the attributes
Year, Quarter, Month of Year, Month, and
Day to form the Time hierarchy.
One year has many quarters and both
attributes are in the Time hierarchy. You do
not need any additional information to
establish the relationship between the two
attributes.
59
Hierarchy Types
There are two types of hierarchies:
System hierarchy:
The default hierarchy that MicroStrategy 7i sets up for you each time
you create a project.
Specifies an ordered set of all attributes in the project but does not
define ordering or grouping among attributes.
Represents the relationships as defined by the logical data model. There
is only one system hierarchy in each project.
The system hierarchy cannot be edited but is updated every time you
add or remove children or parents in the Attribute Editor.
Attributes from the system hierarchy do not need to be part of an
explicitly-defined user hierarchy.
User hierarchy:
Are named sets of attributes and their relationships, arranged in specific
sequences for a logical business organization.
They are user-defined and do not need to follow the logical model.
You should define user hierarchies that correspond to specific areas of
your company business model and data warehouse schema.
60
Filters
A report limit that specifies a set of criteria used to restrict the data
returned in the report data set after the report metrics are calculated.
Because it is based on the report’s metric values, a limit is applied after all
metrics are calculated.
61
Report Filter
The following options are available while creating filters:
Attribute qualification - allows you to filter on an attribute’s form (ID,
description, and so on) or on elements of the attribute.
Shortcut to a filter uses an existing filter as a base to which you can add
more conditions to further refine the filter.
Advanced qualification lets you create one of the following:
– a custom expression, including a relationship filter
– a joint element list, which allows you to join attribute elements and then filter
on that result set
You can also create filters that prompt you for answers when you run
the report.
62
Report Filter – Attribute qualification
Attribute qualification
Attribute qualifiers enable you to specify conditions that attribute elements
must satisfy to be included in the filter definition.
For example, you can create a qualification on the attribute Month so that
the result set returns only months beginning with the letter “J”.
63
Report Filter – Attribute qualification
Attribute-to-attribute qualification
Allows you to create reports that compare two attributes through attribute
forms.
For example, using attribute-to-attribute qualifications, by comparing
order date with ship date, you can create a report that displays the orders
that were shipped within a week of their order date.
– Choose from an attribute element list : You can choose an attribute from a list
of attributes and qualify on the elements of the attribute.
– Value prompt : allows you to select a single value on which to qualify, such as a
date, a specific number, or a specific text string.
64
Report Filter – Set qualification
Metric (set) qualification
Metric qualifiers enable you to restrict metric values based on value, rank,
or rank percentage. Metric qualifiers restrict the amount of data used to
calculate the metrics on a report.
For example, a store manager might want to see sales numbers for
products whose current inventory levels fall below a certain level. Notice
that, the report will not necessarily display the inventory figures for those
products. Let’s see two different break by examples:
65
Report Filter – Set qualification
Metric qualification prompt
Allows you to select a function, or an operator, or specify the value for a
metric, when you run a report.
66
Report Filter – Set qualification
Relationship qualification (filter)
Relationship qualification allows you to create a link between two
attributes and place a filter on that relationship. It allows you to create a
set of elements from an attribute based on its relationship with another
attribute.
You have the following options while creating a relationship qualification:
– Output level - It is the level at which the set can be calculated.
For example, to create a report that shows all the stores selling Nike shoes
in the Washington DC area, you need to set the output level to Stores, the
filter qualification to Nike shoes and Region, the relation to the fact sales.
67
Report Filter – Shortcut to a Report/Filter
Shortcut to a Report
Also known as Report as filter.
The report data set of an existing report can be used as a filter for another
report.
When used as a filter, only the report’s data definition is considered.
The report object prompt allows you to choose the results of one report to
be included in another report.
Shortcut to a Filter
Allows you to use an existing filter, or add conditions to that filter, to
apply to a report.
The filter object prompt allows you to choose the filters to be included in a
report.
68
Report Filter – Advanced Filtering
Pass-through expressions, or apply functions, in MicroStrategy are
intended to provide access to the special functions or syntactic
constructs that are not standard in MicroStrategy, but are found in
various RDBMS platforms.
There are five predefined apply functions, each belonging to a
different function type:
ApplySimple - Single-value function
ApplyAgg - Group-value function
ApplyOLAP - OLAP function
ApplyComparison - Comparison function
ApplyLogical - Logical function
Among these five functions, Apply Comparison and Apply Logical can
be used to create custom expressions for filtering.
Ex: ApplyComparison ("#0>#1",Store@ID,Month@ID)
ApplyLogic ("#0 AND #1", Year@ID > 2002, Month@ID > 200201)
View Filter
A quick qualification applied in memory to the report data set.
Because it affects only the view definition, the report does not have to be
re-executed in the data warehouse.
A view filter, just as the report limit, is always applied at the level of the
Report Objects list. However, the report limit and the view filter are not
interchangeable.
In contrast, the view filter is applied to the report data set without altering
its size
This functionality requires MicroStrategy OLAP Services.
70
Prompts
MicroStrategy object that allows user interaction at report run
time.
The prompt object is incomplete by design. The user is asked
during the report resolution phase of report execution to provide
an answer to complete the information.
By using a prompt in a filter or template, you can:
apply filtering conditions to the report, a custom group on the report,
or a metric on the report
choose what objects, such as attributes and metrics, are included in the
report
Prompts allow you to determine how the report returns data from
the data warehouse.
Prompts save you time. Instead of building several different
reports, a simple question can be asked just before the report is
executed.
There are many types of prompts, and each type allows a different
type of question to be asked.
71
Prompt properties
Although each of the prompt types available has distinct
capabilities to provide a specific set of conditions, there are certain
properties that all prompts share:
72
Types of Prompts
74
Custom Groups – Banding qualifications(1)
Banding qualifiers enable you to create banding custom group
elements. Banding is a method of slicing a list, defined by the output
level, of attribute elements using the values of a metric
You can apply different types of banding:
Band size: to slice the range of metric values defined by “start at” and
“stop at” values into a number of bands, each defined by the parameter
“step size.”
75
Custom Groups – Banding qualifications(2)
Band count: to define the number of equal bands into which the range of
metric values is sliced. On the other hand, you use band size to define the
size of each band.
For example, in the preceding diagram, the band count is set to four,
which has the same effect as the band size example. If you set the band
count to five instead, eight bands are produced.
76
Consolidations(1)
Consolidation elements do
not have to be based on a
single attribute.
You can use attributes at
different levels, such as
Region and Country.
Unrelated attributes, such
as Region and Year can
also be used.
Consolidations provide
two powerful functions
that enhance your
reporting needs. These
two functions are:
Create a “virtual”
attribute
Perform row level math
78
Consolidations – Create a virtual attribute
In the example of the Seasons consolidation, the four different
season consolidation elements are made up by adding together the
respective Months of Year that belong to the different seasons.
The effect appears as if you had a Seasons attribute in your data
model.
79
Consolidations – Perform row level math
Consolidations allow mathematical operations between elements or
element groups. That is, you can perform arithmetic operations such
as addition, multiplication, division, and subtraction.
This feature makes consolidations a
powerful tool in reporting.
It allows you to have a row in a report
that is specified by a mathematical
operation.
Continuing with the Seasons example,
the ratio of sales between different
seasons can be calculated using row
level math in a consolidation
Without consolidations, creating this analysis would be, at least,
cumbersome.
Notice that elements are formatted as dollars ($) and percentages
(%) in the same consolidation. You can format individual consolidation
elements in the Consolidation Editor.
80
Report Design VS Report Creation
Report design
The process of building reports from basic report components in
MicroStrategy Desktop and Web.
The most generic method for defining a report.
Requires the most in-depth knowledge of the project.
In general, this method should be available only to the select group of
advanced users and report designers who will design reports for others to
use.
Report creation
The process of building reports from existing, pre-designed reports either
in Desktop or in Web.
Report creation is different from report design in that it provides a more
guided experience and does not require your users to have a thorough
understanding of the project.
Allows your users to create their own reports in a controlled, user-friendly
environment.
81
Reports – Display views
82
Report Editing – Sorting
Sorting
You can sort the data on the report without re-executing the report
against the warehouse.
Sorting allows you to specify ascending or descending order to present
the report data for a particular row or column.
You can select what objects you want to sort, the sorting criteria, and the
sorting order.
83
Report Editing - Page-by
Page-by and pivoting
In Desktop and MicroStrategy Web you can reorganize report data by
swapping objects within an axis or by moving objects from one axis to
another.
In particular, you can move objects to the Page axis, which causes the report
results to be divided into separate pages according to the object in the Page-
By.
84
Report Editing - Subtotals
Subtotals
In Desktop and MicroStrategy Web you can add, remove, and edit the
subtotals at different levels for metrics on the report.
The subtotal functions available include sum, count, min, max, average,
mean, median, and more.
You might choose to display all subtotals, grand total only, or subtotals across
levels, where you select the object to be subtotalled.
85
Report Editing – Outline Mode
Outline Mode
You can create an indented grouping of related attribute elements by
turning on Outline mode in Desktop and MicroStrategy Web.
This is similar to Outline mode in a standard word processor.
Outline mode allows you to collapse and expand sections of related data.
This function is particularly useful in instances where the information
displayed would otherwise involve repetitive entries.
86
Aggregations
The lowest-level fact table (that contains atomic-level data), is
referred to as a base table.
89
Partition mapping - Server-level partitioning
The original fact table is not physically broken into smaller tables.
Since only the logical table is displayed to the end user, the
partitioning is transparent to MicroStrategy.
90
Partition mapping - Application-level partitioning
Partition tables are usually divided along logical lines, such as time
or geography.
91
Metadata partition mapping
Heterogeneous Partitioning
In contrast, heterogeneous partitioning, the PBTs can have different
amounts of data stored in them at different levels.
For example, one table can contain six months of sales data, while
another stores an entire year.
92
Warehouse partition mapping
93
Logical Table Size
Autostyles
Provide predefined formatting styles, allowing you to standardize formatting
among reports.
Each autostyle is a collection of all the formatting layers, allowing you to
format the different report sections.
Operators
An operator enables calculation by providing the mathematical expression,
such as addition or rank, for a given metric definition.
Searches
The Search for Objects dialog box is a tool you can use to search for either a
specific object or a group of objects meeting certain criteria.
You can select multiple criteria to search for an object
For example, you can look for objects according to their type, and the date
on which they were last modified, and their owner(s)).
95
Other Concepts(2)
Drill maps
Allow you to create fully customized drill paths that are available to your
users while drilling on a report.
When the drill hierarchies are created, a default drill map is created.
If no drill hierarchies are created, then the system hierarchy is used to
create the default drill map.
The drill map determines what options are available to you when you drill on
a report object.
You can create custom drill maps that can override these defaults.
Security filters
A security filter is a stand-alone object with filtering capabilities that you
assign to users or groups that narrows their result set when they execute
reports or browse elements.
Security filters enable you to control, at the MicroStrategy level, what
warehouse data users can see based on the filter criteria. This function is
similar to database views and row level security.
96
Other Concepts(3)
Privileges
The following graphic sums
up the various privileges
available in Desktop and
Web.
97
Questions?
98
Thank You !
99