0% found this document useful (0 votes)
2K views99 pages

Microstrategy: Training

The document outlines an agenda and topics for a MicroStrategy training covering BI architecture, the MicroStrategy platform, project creation, data modeling, and report building. The agenda includes an introduction to BI architecture and the MicroStrategy architecture, an overview of projects and data modeling, and practices for building reports. Key concepts like logical and physical data models, facts, attributes, and hierarchies are defined. The roles of ETL, the data warehouse, and BI tools in a typical architecture are also briefly described.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views99 pages

Microstrategy: Training

The document outlines an agenda and topics for a MicroStrategy training covering BI architecture, the MicroStrategy platform, project creation, data modeling, and report building. The agenda includes an introduction to BI architecture and the MicroStrategy architecture, an overview of projects and data modeling, and practices for building reports. Key concepts like logical and physical data models, facts, attributes, and hierarchies are defined. The roles of ETL, the data warehouse, and BI tools in a typical architecture are also briefly described.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 99

MicroStrategy

Training

Mumbai, 11th September 2008


Agenda (1)
Introduction
BI Architecture Overview
MicroStrategy Architecture Overview
 MicroStrategy Desktop
 MicroStrategy Web
 MicroStrategy Intelligence Server
MicroStrategy Project Overview
Project creation – Key Concepts
Data Modelling – Logical Data Model
Data Modelling – Physical Data Model
MicroStrategy Project Builder
MicroStrategy Architect Tools
MicroStrategy Reports Overview
Practices/Exercises

2
Agenda (2)

Report creation – Key Concepts


Reporting Concepts
 Metrics
 Attributes
 Hierarchies
 Filters
 Custom Groups
 Consolidations
Report Editing
Aggregation
Partition Mapping
Logical Table Size
HTML Documents Overview
Other Concepts
Practices/Exercises

3
Data Exploration Technology

Report writers (“simple query


tools”)
OLAP - On line analytical
processing
MOLAP - Multidimensional On
Line Analytical Processing
ROLAP - Relational On Line
Analytical Processing
HOLAP - Hybrid On Line
Analytical Processing

4
ROLAP

Flexible Report Format


Access to all the data
available
Combine different
information: dimensions
and KPI’s
Totals by defined
Hierarchies
Complete Ad-hoc
Reporting may be
available
Direct Access to
Database

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.

An extraction, transformation, and loading (ETL) process


 Represents all of the steps necessary to move data from different source systems to an integrated
data warehouse

A data warehouse (an OLAP/DSS system)


 Populated with data from the existing operational systems using an extraction, transformation, and
load (ETL) process.
 Data access is typically read-only. The most common action is select, with very few inserts,
updates, or deletes.
 Data is aligned by business subjects.
 Data history extends long term, usually two to five years.

A business intelligence (BI) platform


 Offers a complete set of tools for the creation, deployment, support, and maintenance of business
intelligence applications

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

Transactor Server Narrowcast Server

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

Two types of project sources:


 Direct project sources connect directly to the metadata through ODBC.
 Server project sources connect to the metadata via an Intelligence
Server.
MicroStrategy
Desktop
Metadata (direct access)

Data
Warehouse

MicroStrategy
Intelligence Desktop
Server

A project is created within a specified metadata repository,


determined by the project source through which we create the
project.
The project’s warehouse location is specified by associating it with the
appropriate database instance.

10
Data Modelling – Logical Data Model

The logical data model


 Represents the definition, characteristics, and relationships of data in a
business, technical, or conceptual environment.
 An arrangement of data that is arranged logically for the general user, as
opposed to the physical data model or warehouse schema, which arranges
data for efficient database use.
 Similar in concept to needing a map and an itinerary when going on a trip.
You need to know where you are going and how to get there. You need a
plan, one that is visible and laid out correctly.

Logical data model components


 Facts
 Attributes
 Hierarchies

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.

When all of the components are placed in a single diagram—facts,


attributes, relationships, and hierarchies—you get a logical data
model.

15
Data Modelling – Physical Data Model

The physical data model


 Based on the logical data model.
 It is a detailed graphic representation of your business data as it is
stored in the data warehouse.
 It organizes the logical model in a method that make sense from a
database perspective.

 Two key components make up the physical warehouse schema: tables


and columns

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:

 One-to-one relationships - usually denote the existence of an


attribute form. The description column for the attribute form should
simply be included as an additional column in the attribute’s lookup
table.

 One-to-many relationships - there are various ways to model one-


to-many relationships in the physical warehouse schema, each with
its own advantages and disadvantages.

 Many-to-many relationships - usually require the use of a relate


table distinct from either attribute lookup table. The relate table
should include the ID columns of the two attributes in question.

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).

There are two types of keys:


 Simple key - requires only one column to identify a record uniquely
within a table.
 Compound key - requires multiple columns to identify a unique record.

22
Physical Data Model – Key components - Columns
Homogeneous versus heterogeneous
column naming

 For consistency, it is a good idea for


columns that contain the same data to
have the same column name. This is
called homogeneous column
naming.

 In reality, it is possible that the two


columns will not have the same name.

 When the columns have different


names, but they store the same data,
is called heterogeneous column
naming

23
Physical Data Model – Key components - Columns
Base fact columns versus derived fact columns
There are two types of fact
columns:

 Base fact columns - are


represented by a single column
in a fact table.

 Derived fact columns are


created through a
mathematical combination of
other existing fact columns.

Because facts in different fact tables are typically stored at


different levels, derived fact columns can only contain fact
columns from the same fact table.

24
MicroStrategy Project Builder

Wizard designed to create simple MicroStrategy


projects.
Created with speed in mind, so it provides only
a subset of the features and functionality of
MicroStrategy.
Limited to adding a few tables at a time.
By default, Project Builder uses a Microsoft
Access database for the metadata repository.
It’s suitable to change the default setting and
allow Project Builder to use your preferred
database platform for the metadata repository
MicroStrategy Architect Tools can be used to
add greater functionality to any project created
using 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.

Fact Creation Wizard


Allows you to create multiple facts quickly and easily, however it does
limit you to creating simple facts and it does not allow you to edit
existing facts.
Use as part of the initial project creation, for creating most of the
facts for the project.
Use the Fact Editor to add complexity to existing facts as your project
evolves.

26
MicroStrategy Architect Tools

Attribute Creation Wizard


The Attribute Creation Wizard guides you through creating new
attributes to use in your project:
 Select attribute ID columns to identify the columns in the warehouse that
represent the unique IDs for your attributes.
 Select attribute description columns to identify the default description
columns for the attributes.
 Select attribute lookup tables to identify the primary lookup tables for the
attributes.
 Define attribute relationships to determine the parent-child relationships
between the attributes. These are used to build the System Hierarchy and
define how MicroStrategy products interpret and understand relationships
between the data.

An ID column is a column or group of columns that uniquely


identifies each element of an attribute. When choosing the ID
column for an attribute, make sure that all values in the column
are unique and that it does not contain NULL values.
27
Next Steps …

Now you have enhanced the project that you


created with Project Builder by adding additional
facts and attributes using 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.

 A tabular layout is useful for simple lists of information. For example, a


column of regions and a column of stores, followed by corresponding
columns of sales figures.

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

Altering a template can affect reports. If a metric is removed from a


template, the change may affect all, some, or none of the dependent
reports.

When a template is modified or saved in Desktop, the Template


Dependency Validator is triggered. It lists:
 reports that depend on the template
 reports that will not run if the change is complete

You can create a stand-alone template in the Template Editor, and


you can create a report-specific template using the Report Editor.
31
Metrics
Metrics represent business measures and key performance indicators.
Also represent calculations to be performed on data stored in the
database, and are similar to formulas in spreadsheet software.
Metric types - Metrics can be categorized as one of these types:
 Simple metrics - can stand alone or be used as building blocks for
compound metrics. Simple metrics always have a formula and a level.
The entire metric can only contain one level.

 Compound metrics - cannot have a level placed on the entire metric,


although it can be set separately on each of the components.

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.

Using a base formula allows you to:


 update multiple metrics by
modifying the base formula
only once.
 find or categorize all the
metrics that use a common
base formula
 use a simple expression as a
base formula to facilitate the
creation of more complex
metrics
 use it as a formula in simple
or compound metrics

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.

 The elements needed to specify a level


for a particular metric are:
– Target
– Grouping
– Filtering

 A target, grouping, and filtering


combination composes one level unit.
 Grouping and filtering are independent
of each other. That is, the target and
grouping work together to determine
the level, and the target and filtering
also work together to establish the
level.
36
Metrics Level – Target

The target is the attribute level


at which the metric calculation
groups.

It determines the table to use to


calculate the metric.

Any set of attributes or a


hierarchy can be the target.

A special case is the default


target, which is report level.

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.

None is not an option if the target is set to the report level.

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 a parent of the attribute in the


report filter, calculations are performed only on elements to which the
report filter applies.

– 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.

Absolute filtering influences what is displayed on the report, not its


calculations.

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.

 None - can be summarized as unspecified — the filtering behaviour for the


target is not determined by this component. Instead, the target and group
components of this level unit define the filter.

– If the report includes an attribute in the same hierarchy as that


indicated by the metric filter, aggregation takes place at the level of
that attribute.

– 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

Metric conditionality applies a filter to the metric calculation. You can


think of conditionality as attaching a filter to each metric.
Only metrics with an aggregate operator in the formula can use
conditionality.
Only one filter can be associated with a simple metric, although that
filter can contain as many filtering conditions as needed.
The Advanced options for conditionality allow you to select how the
report filter and metric filter interact, as described below:

 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

A transformation is a schema object that encapsulates a business rule


used to compare results of different time periods.
Two types of transformations:
 Expression-based Transformations.
 Table-based Transformations.

Transformations are generally used for time-series analysis, for


example, to compare values at different times such as this year versus
last year, or month-to-date.

A Transformation metric is an otherwise simple metric that takes the


properties of the transformation applied to it.
For example, a metric calculates total revenue. Add a transformation
for last year and the metric now calculates last year’s total revenue.
Any transformation can be included as part of the definition of a metric
and multiple transformations can be applied to the same metric.
44
Metrics – Compound Metrics
A compound metric is a combination of expressions that, through the
use of functions, are themselves metrics. These expressions define
the data to be used and the calculations to be performed on that
data. The calculations can be group or non-group functions. The data
can be facts, attributes, constants, or other metrics.
A compound metric does not have to perform an additional
aggregation as does a simple metric. The two metrics can instead be
calculated individually. Those results are used to compute the final
result, as in the following diagram.
EXAMPLE

45
Metrics – Smart Metrics
The smart metric property of a compound metric allows you to
change the default evaluation order of the metric.

The report contains information


about sales. If you display
totals without allowing smart
metrics, the totals are incorrect.
To calculate the correct answer,
the total should be based on the
totals in the other Total Sales
and Discount Sales columns
instead.

Smart metrics calculate subtotals on the individual elements of


the compound metric.
For example, a smart metric uses the formula
Sum(Metric1)/Sum(Metric2) rather than Sum(Metric1/Metric2).

46
Metrics – Aggregation

Aggregation allow you to control how metrics are further computed or


rolled up.

These functions reflect only those most frequently used for further
aggregation of metrics or for evaluating metric subtotals.
47
Metrics – Subtotals

In the context of metrics, subtotals permit computation and


display of quantified data, gathered by MicroStrategy along
attribute groupings that you can specify dynamically for a report.

When a report containing that


metric is run, a user can choose
which of these subtotals to display.

The behaviour of subtotal


aggregations is based on the types
of data included in the metric to
which the subtotal is applied.

You can also create user-defined


subtotals, which allow you to
develop your own subtotals, using
aggregation or nested functions,
constants, and combinations of
these objects.
48
Metrics – Join Specification

You can set joins at the metric and report levels:


 metric: how the metric is joined to other metrics
 report: how metrics are joined together in the report; overrides metric join
settings for that report only

49
Metrics – Specific VLDB properties

Affect how MicroStrategy


Intelligence Server manages joins,
metric calculations, and query
optimizations, among others.
Available at multiple levels, so
that SQL generated for one report
can be manipulated separately
from the SQL generated for a
different report.
Metric-specific VLDB properties
that can be set at the metric level
include:
 Metric Join Type
 Null Check
 Zero Check
 Null Checking for Analytical Engine
 Subtotal Dimensionality Aware

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.

Rank<Null=True, ASC=False>(Revenue {~+} )

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.

Count<Distinct=True, Null=True, FactID=Revenue>(Item) {~+}

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.

RunningSum(Revenue) <Sort Ascending by Date>

First and Last


 The First and Last functions provide the ability to use sort-by inside
aggregation functions, that is, functions where the value depends on the
sort order.
 First returns the First value in a sorted set of values, while Last returns the
last value. You can define the sort attributes in the function parameters.

Last<FactID=[Total Amount], SortBy= (Value) >(Revenue) {~+}

53
Attributes(1)
Attributes represent entities in the business model and are normally
identified by a unique ID column in the data warehouse.

Attributes allow you to define the level of aggregation for a metric.


If two attributes represent the same data in different tables with
different column names, you can link them together.

Attributes must be
distinct and group,
but not share,
elements.

Attributes allow you


to define the level of
aggregation for a
metric .

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

When choosing the ID


column for an
attribute, make sure
that all values in the
column are unique and
that it does not
contain NULL values.

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

Care must be taken when using nonrelated attributes on a single


report,

If there is no relationship defined between two attributes in a lookup


or relationship table, a metric based on the relating fact must be
present on the report to avoid a Cartesian join, which is generally —
though not always— undesirable.

In the absence of a metric based on a fact that relates two nonrelated


attributes, a relationship filter can be used to force the engine to
establish the relationship in the table of your choice.

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.

You can change


some properties of
the different objects
such as the name
and description of
the object, the type
of object, and
object type details.

Notice that forms


are displayed on
reports.

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 filter specifies the conditions that the data must meet to be


included in the report results.
Types of filters:
 A report filter that is a criterion used to select the data to calculate the
metrics in the report

 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.

 A view filter that is an additional filter applied in memory to the report


data set. It affects only the view definition.

Located at “Public Objects” folder

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.

 Set qualification - allows you to create a set based on one of the


following:
– a metric (also known as a metric qualification)
– a relationship filter

 Shortcut to a report, which is also referred to as Report as filter, uses an


existing report as a filter.

 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”.

Attribute element list qualification


 Attribute element list qualifications allow you to qualify on a list of
attribute elements.
 For example, in a report, you can use an attribute element list
qualification on the attribute Customer, to return data only for those
customers that you specify in your list.

Attribute form qualification


 Attribute form qualifications allow you to qualify on an attribute form.
 For example, to return data only for those customers whose last names
start with the letter H, you can use an attribute form qualification for the
form Customer Last Name in a report.
 Another example, return data only for Monday of this week (using
dynamic dates).

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.

Attribute Qualification Prompt


 An attribute qualification prompt allows you to qualify on the values of
attribute elements, attribute forms, or operators when you run a report.
 Types of attribute qualification prompts:
– Choose from all attributes in a hierarchy : You can choose just the attributes
from the selected hierarchy.

– 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.

– Qualify on an attribute : You can choose an attribute from a list of attributes


and qualify on an attribute form.

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.

 You have the following options while creating a metric qualification:


– Output level defines the set of data that this set qualification
contributes to the filter as a whole.
– Break By feature allows you to choose the attribute level at which to
restart counting rank or percent values for a metric.

 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.

 You can create the following types of metric qualification prompts:


– Qualify on a metric prompt - allows you to qualify on a metric. You
can choose a metric by specifying a single metric to use when the
report is run or by specifying a search object to restrict the list of
metrics from which you can choose a metric, when a report is run.

– Metric Object prompt - allows you to select one or more metrics


that meet specific criteria when a report is run. For example, you
could use a search to return a list of all metrics that contain a certain
fact. From that list of metrics, you can then choose the metrics that
you want to see on the report.

– 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.

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.

– Filter Qualification - area allows you to define the input filtering


criteria. You can choose attribute qualification, a filter qualification, or
a metric qualification.

– Relate output level and filter qualification by - It is the relation


between the attributes in the output level and filter qualification. The
relation can be a fact, a table, or an empty filter.

 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.

Reports with consolidations or custom groups cannot be used as a shortcut


to a filter.

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)

While an Apply function can be used wherever the function group it


belongs to is applied, you should NOT use any Apply functions when
standard MicroStrategy functions can be used to achieve the goal.
69
Report Limit & View filter
Report Limit
 After all the metrics are calculated, you may need to further restrict the
data, without changing how the calculations were performed.
 Report limit 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
of them are calculated.

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:

 Title - identifies and differentiates the prompt.

 Description - indicates to the end user the nature or purpose of the


prompt.

 Default - contains the default answer to the prompt, if one was


specified.

 Maximum and minimum - determine how many answers a user


must/is allowed to choose (optional).

 Web options - define how the prompt appears in MicroStrategy Web.

72
Types of Prompts

Filter definition prompt - encompasses four different prompt


types, all of which allow the user to define the filtering criteria:
attributes in a hierarchy, attribute forms, attribute element lists,
and metrics.

Object prompt - allows you to select which MicroStrategy objects


to include in a report, such as attributes, metrics, custom groups
and so on. Object prompts can either determine the definition of
the report template or the report filter.

Value prompt - allows you to select a single value such as a date,


a specific number, or a specific text string. The value chosen by
the user is compared to metric or attribute element values, and
thus determines the data viewed by the user.

Level prompt - allows you to specify the level of calculation for a


metric.
73
Custom Groups
A custom group is an object that can be placed on a template and is
made up of a collection of elements called custom group elements.
Each custom group element can be labelled with a meaningful header
and can include a logical expression containing any of the following:
 attribute qualification
 set qualification
 report object
 filter object
 custom group banding
qualifications

A custom group element


can also use combinations
of any of the components
listed above, except
custom group banding
qualifications.

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.”

 For example, in the


following diagram the
“start at” value is 10,
“stop at” is 50, and
“step size” is 10.

 These settings slice


the group into four
bands.

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.

 Banding points: to specify the value where a band is placed. This


enables you to produce bands of different sizes.
 For example, you want to create a report with two bands, one band
showing the top 10 stores and the second band showing stores 11-100.
For this, you must use three points — 1, 10, and 100—as shown in the
following figure.

76
Consolidations(1)

Consolidations enable you to group together and to pick specific


attribute elements.
Further, consolidations allow you to avoid changing the data model,
although in a limited way.

They also allow you


to place this grouping
of attribute elements
on a template just
like an attribute.

The elements of the


consolidation appear
as rows on your
report, and they can
have arithmetic
calculations.
77
Consolidations(2)

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.

Of course, you can get the same effect


if you change your data model, and
actually add a Seasons attribute to
your Time hierarchy.
However, adding an attribute is
generally a very complex task because
you have to ensure that the proper
lookup and relationship tables exist in
the warehouse.
You are not limited to just adding. In fact, you can perform any
simple arithmetic operation while building your consolidation.

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

There are four report view modes:

 Design View: describes the report definition and allows you to


create and edit reports. The attributes, metrics, and other objects
to be used in the report are displayed. You do not have to execute
the report to view or modify the report structure.

 Grid View: offers a formatted, cross-tabular display of the actual


report data after the report is executed.

 Graph View: is similar to Grid View, but the display is in a


graphical format instead of cross-tabular.

 SQL View: displays the SQL generated by the MicroStrategy


Engine and executed in the warehouse. It also includes various
execution statistics.

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.

In these terms, an aggregate


table is any fact table whose
data is derived by aggregating
data from an existing base
table.

By default, aggregation occurs


dynamically with a SQL
statement at report run-time.

Notice that, MicroStrategy


creates aggregates only on fact
tables, since lookup tables and
relationship tables are usually
significantly smaller.
87
Pre-aggregation

Aggregation can also be


completed before reports are
run, with the results stored in
an aggregate table.

This process is usually called


pre-aggregation.

Pre-aggregated tables can be


build as part of the ETL
process.

Pre-aggregation eliminates the


reading, sorting, and
calculation of data from many
rows in a large, lower-level
fact table at run time.
88
Partition mapping

Partition mapping divides large logical tables into smaller physical


tables based on a definable data level, such as month or department.
Partitions improve query performance by minimizing the number of
tables and records within a table that must be read to satisfy queries
issued against the warehouse.
By distributing usage across multiple tables, partitions improve the
speed and efficiency of database queries.
Time is the most common category for partitioning databases.
Partitioning by time limits growth of the database tables and
increases stability.
Partitioning can be managed by either the database server or the
MicroStrategy application.

Either way, the tables are partitioned at the database level —


the terms application and server refer to what manages the
partitioned tables, not where the tables are split.

89
Partition mapping - Server-level partitioning

In RDBMS server-level partitioning, the database server rather


than MicroStrategy manages the partitioned tables.

The original fact table is not physically broken into smaller tables.

Instead, the database server logically partitions the table


according to parameters specified by the database administrator.

You do not need to take any action in MicroStrategy to support the


partitioning.

Since only the logical table is displayed to the end user, the
partitioning is transparent to MicroStrategy.

90
Partition mapping - Application-level partitioning

In application-level partitioning the application, rather than the


RDBMS server, manages the partition tables.

A partition base table (PBT) is a warehouse table that contains one


part of a larger set of data.

Partition tables are usually divided along logical lines, such as time
or geography.

Starting MicroStrategy7i two types of partitioning are supported:


 Metadata partition mapping - stores the mapping information in the
project metadata.
 Warehouse partition mapping - uses a specialized warehouse table
to determine which table to access.

91
Metadata partition mapping

In a metadata partition mapping, you specify one or more


partitioning attributes in the Metadata Partition Mapping Editor.
You create all of the rules for choosing the appropriate PBT here
and the rules are stored in the MicroStrategy metadata.
Metadata partitions can be homogenous or heterogeneous:
Homogenous Partitioning
 Homogenous partitions must have the same amount of data stored at
the same PBT level.
 The logical structure of the PBTs must be the same, that is, they must
have the same facts and attributes defined.
 For example, each table must store one year of data at the month
level.

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

Warehouse partition mapping is the mapping of partitions carried


out and maintained in the warehouse.
You can define a warehouse partition by adding a table with a
special structure through the warehouse catalog.
This table contains the map for the partition, which is stored in the
warehouse.
Warehouse partitions divide tables physically along any number of
attributes, though this is not visible to the user.
Warehouse partitions must be homogenous,
unlike metadata partitions, so that the same
amount of data is stored at the same PBT
level and the same facts and attributes are
defined.
A partition mapping table (PMT), which is
used to identify the partitioned base tables as
part of a logical whole, must be created.

93
Logical Table Size

MicroStrategy Architect assigns a size to every table in the project


when you first add them to the project.
These size assignments are stored in the metadata and are
calculated based on the table columns and their corresponding
attributes.
Because Architect uses the conceptual or logical attribute
definitions when assigning sizes, this measurement is known as
the logical table size.
The initial logical table size is based on the number of attribute
columns and the various levels at which they exist in their
respective hierarchies.
Logically, a table with a higher-level attribute should be smaller in
size.

When you run a report, the Analytical Engine chooses


the smallest of all tables, based on logical table size,
that contains enough data to answer the query.
94
Other Concepts(1)

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.

 Not every user has to be


granted all the privileges for
a given role.

 For example, a Web


Reporter may be allowed to
execute reports only,
without prompt and drilling
options.

97
Questions?

98
Thank You !

99

You might also like