Beruflich Dokumente
Kultur Dokumente
Design
April
2014
AGENDA
Reports
OLAP Services
Warehouse Catalog
Schema Modelling
2
Introduction to MicroStrategy Desktop
3
MicroStrategy Desktop
6
MicroStrategy Objects Overview
Schema Application
Objects Objects
Reports and report related objects Logical Objects that map to the
such as filters, templates, metrics, physical data warehouse structure,
prompts etc. such as attributes, facts, logical
You build these objects using tables etc.
schema objects or other You create these objects in
application objects MicroStrategy Architect
List of Public Objects
8
Custom Groups and Consolidations
A custom group lets you group attribute Consolidations enable you to group together
elements from the same or different attributes and to pick specific attribute elements.
to meet your reporting requirements. Further, consolidations allow you to place this
This allows you to group attribute elements on grouping of attribute elements on a template
a report in a way that is not defined in your just like an attribute.
data warehouse. The elements of the consolidation appear as
From the perspective of the report design rows on your report, and they can have
process, a custom group is an object that can arithmetic calculations.
be placed on a template and is made up of a For example, a consolidation allows you to
collection of elements called custom group group together the elements of the Month of
elements. Year attribute into various seasons and place
Each element contains its own set of filtering them on the template.
or banding qualifications.
Editor - Custom Groups / Consolidations
Custom Groups & Consolidations Comparison
The essential distinction is that consolidations work with attributes and custom
groups use filters.
Row level math can be performed with consolidations but not with custom groups.
Custom groups are more flexible than consolidations because you do not have to
know much about your data to create filters for a custom group. In contrast,
consolidations require that you know exactly which attribute elements to select
when creating the consolidation.
Feature Custom Group Consolidation
Arithmetic operations Not allowed Allowed
Where and how data is Warehouse Analytical Engine
calculated
SQL efficiency Low High
Re-using consolidation No Yes
elements
Subtotals Yes Yes
Drill Maps
When the drill hierarchies are created, a default drill map is created.
If no drill hierarchies are created, 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.
These different options are referred to as Drill Paths, which includes the
destination of the drill.
The destination can be an attribute, a consolidation, a hierarchy, or a
template.
Drill Maps
Up The destination can be any attribute or consolidation and does not have to be
related to the original object. The destination is shown as part of the Drill Up menu
when you right-click and select Drill in the report.
Down This is similar to Up, except that the destination is shown as part of the
Drill Down menu when you right-click and select Drill.
Template This allows you to replace the template of the original report template
with a completely different destination template. Select the template to use as the
destination template.
Drill Map Use this as a shortcut to the drill paths of another drill map.
Filters
A filter specifies the conditions that the data must meet to be included in the
report results.
Using a filter on a report narrows the data to consider only the information that is
relevant to answer your business question, since a report queries the database
against all the data stored in the data warehouse.
Filters are helpful in clarifying large quantities of data and only displaying
subsets of that data, so reports show users what they really need to see.
A filter is composed of at least one qualification. Qualifications are the actual
conditions that must be met, for example, "Region = Northeast" or "Revenue >
$1 million".
You can create multiple qualifications for a single filter, and then combine the
qualifications using the logical operators AND, AND NOT, OR, and OR NOT.
Types of Filters
Attribute Qualifications
Attribute qualification allows you to filter on an attributes form (ID, description, and
so on) or on elements of the attribute.
An example of an attribute form qualification is a condition on the attribute form
Customer Last Name for last names that start with the letter H.
An attribute element list qualification on the Customer attribute consists of a list
of customers.
Set Qualifications
Set qualification allows you to create a set of attributes based on either the metrics
associated with those attributes (a metric qualification) or the relationships
between them (a relationship qualification).
A metric qualification allows a report to display the sales data for only those
products with inventory level below a specified value. It is also referred to as a
metric set qualification.
A relationship qualification can be used to create a report that displays all the
stores selling Nike shoes in the Washington, DC area. It is also referred to as a
relationship set qualification.
Types of Filters
Shortcut qualification
Advanced qualifications
Prompts
are useful
to keep the
number of
reports in a
project
small
Types of Prompts
Using the following prompt types, you can create a prompt for nearly every part of
a report. It is important to remember that prompts can be used in many objects
including reports, filters, metrics, and custom groups. All of these prompts will
reveal themselves at report execution time, but the origin of the prompt can be
within any of the objects.
To be used as an
object template, the
object must be
saved in the Object
Templates folder
Object Templates
Metrics are MicroStrategy objects that represent business measures and key
performance indicators.
They are calculations to be performed on data stored in the database and are
similar to formulas in spreadsheet software.
Questions such as What were the sales for the eastern region during the fourth
quarter?, Are inventory levels being consistently replenished at the beginning
of each week?, or How many employees are currently working for our
company? can easily be answered by creating metrics.
A metric definition must contain a formula, which determines the data to be used
and the calculations to be performed on the data.
A metric is categorized as one of the following types based on the functions used in
its formula:
Simple metrics are the most basic metrics. You can use simple metrics to create
other types of metrics. In their structure, simple metrics
Nested metrics are metrics that perform multiple aggregations by placing one
calculation formula inside, or nested, in another. They provide a convenient way
to use metric functionality when tables in the data warehouse do not include data
at the level needed for a specific type of analysis. The result of the inner calculation
formula is stored in an intermediate table, which is then used to calculate the result
of the outer calculation formula.
Types of Metrics
Compound metrics are created by combining one or more metric objects with
one or more mathematical operators or constants. You can create compound
metrics using simple, nested, or other compound metrics.
A compound metric inherits the levels, conditions, and transformations included
in the component metrics of its definition. You cannot include levels, conditions,
or transformations in the compound metric itself.
Compound metrics are automatically updated with changes that are made to the
component metrics that are used in its definition.
Metric Editor
When you choose to create a new metric, the Metric Editor opens displaying several
tabs and panes, as shown below:
Metric Editor
When you define the level for a metric, you need to consider the following
settings:
Target : The target is the attribute level at which the metric calculates. Any
attribute or hierarchy can be the target.
Grouping: Grouping determines how the metric aggregates. The option you
choose for the grouping of a metric affects the GROUP BY clause of the SQL
pass that calculates the metric.
Filtering : The filtering setting governs the relationship between the report
filter and the calculation of the metric..
Level Metrics
The following grouping options are available in the Metric Editor for level metrics:
Standard : Groups by the attribute level specified as the target
None : Excludes the target (and its children) for the report grouping. This setting
calculates one total for the target attribute and any of its child attributes that are
included on the template.
31
Reports
Reports are the focus of business intelligence analysis. They enable users to
gather business insight through data analysis. The results from any Desktop report
is often just a starting point for further business intelligence investigations.
A report is a request for specific, formatted data from the data warehouse. It
consists of a template plus any desired filtering criteria.
Report Components
Template specifies
what information to
retrieve from the data
warehouse and
how this information will
be displayed in the report
results.
Report Filter specifies
the conditions that the
data must meet to be
included
in the report results.
View of a report is the
actual view of a report
subset.
Report Types
You can view a MicroStrategy report from different perspectives, depending on the
type of work that you want to perform.
Grids
A grid report is the most commonly used type of report. Grid View displays grid
reports using a formatted, cross-tabular display of the report data. Most business
intelligence analysis is performed using this view.
Graphs
A graph report is a representation of data in a visual format that can help you see
overall trends easily, identify medians and exceptions, and so on. You display report
data as a graph using Graph View. There are many different graph styles you can
choose from to display your report data most effectively.
Grid and Graphs
Grid Graph View is a combination display of the Grid View and the Graph View of a
report, side by side.
Creating Reports
Template
A Template specifies what information to retrieve from the data warehouse and how
this information will be displayed in the report results.
To define the template, you can either drag and drop objects from the Object
Browser into the template definition window, or you can right-click the object in the
Object Browser and select Add to Rows or Add to Columns.
The layout of a template can be cross-tab or tabular.
A cross-tab layout is useful for multidimensional analysis, like 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, like a column of regions and
a column of stores.
Report Filter
A report filter specifies the conditions that the data must meet to be included in the
report results.
Saving and Running Reports
Saving Reports
After you create a report, you can save the report, so you can execute it again in the
future. When you save a report, its name and definition (the template, all report
filtering criteria, and any report formatting) are stored in the MicroStrategy
metadata database.
You can save a report using the Save option from the File menu.
It is good practice to create and adhere to corporate standard naming and
storage conventions to make it easier to locate objects as your
MicroStrategy project grows.
Running Report
To execute a report, select the Run option from the File menu.
The report results display in the default report display view. The default report
display view is the report display view that was selected when the report was last
saved (see Report Types slide).
Report Data Manipulations
Drilling
Drilling enables you to see data at levels other than that of the original grid or
graph. It helps you investigate the data on your report quickly and easily.
Page By
Page-by enables you to select and display subsets of your report results as separate
pages. This feature is most useful when you have extremely long report results and
scrolling is necessary to see all of the data.
Report Data Manipulations
Pivoting
Data pivoting enables you to rearrange the columns and rows in a report, so you
can view data from different perspectives. With data pivoting, you can do the
following and many more
Move objects from the row header to the column header
Move objects from the column header to the row header
Change the order of objects in the row header
Change the order of objects in the column header
Subtotals
Subtotals reflect accumulations at selected attribute levels and can be applied
dynamically to any report. There are various subtotals available to you such as
count, minimum, maximum, average, and so forth.
Subtotals can be applied by Position, Across Levels
and Group By
Subtotals by Subtotals Across Subtotals Group By
Position Levels
Report Data Manipulations
Sorting
Sorting enables you to specify the order in which the data in a report for a particular
row or column is presented, either ascending or descending. You can sort based on
any object that you place on the template. You can also select the sorting criteria
and the sorting order.
Outline Mode
Outline mode enables indented grouping of related attributes, much like heading
levels in a document outline. Outline mode is useful when users want to display the
same report at different levels very quickly.
Report Data Manipulations
Printing
You can print a report in Grid, Graph, Grid and Graph, or SQL view. The formatting
you apply to the report in Desktop also applies to the printed copy of the report.
Exporting
You can export a Desktop report or e-mail a Desktop report (as an attachment) in
any of the following application formats:
Microsoft Excel
Microsoft Word
Microsoft Access
Plain text
HTML
PDF
OLAP Services
40
Overview of OLAP Services
In-memory ROLAP creates mid-tier cube databases called Intelligent Cubes that
contain selected portions of the data warehouse.
These Intelligent Cubes are seamlessly interwoven in the ROLAP architecture as
they populate portions of the global multi-dimensional metadata model with
actual data.
A view filter enables you to further narrow down a report view, using only
those objects in the Report Objects window, (even if they are not displayed on
the template).
When you add or change a view filter, the original report filter remains intact.
(Recall that report filter conditions are applied in the SQL of a report when the
report runs.)
Only after a report result set is retrieved, are the view filter conditions
applied, so only a subset of the report results is displayed in the report view.
Another key difference between report filters and view filters is that view filter
conditions of a report are local to that report. In other words, view filter
conditions cannot be reused or shared across reports like report filters. View
Not
filters can, however, be saved with the report definition. e
When you have multiple
view filter conditions,
the default set operator
is AND. Click a set
operator and select
AND, AND NOT, OR, OR
NOT to change it.
Derived Metrics
Derived Metrics are metrics you can create within a report, using only those
objects in the Report Objects window (even if they are not displayed on the
template), as well as functions and operators.
Derived metrics:
May include one or more functions and operators
Are based on the attributes and metrics in the Report Objects window
May be simple or compound, and therefore will inherit the characteristics of
whichever type you create.
Built In
Derived Metrics
47
Attributes
Business data represented by facts can offer little insight without the presence of
business concepts and context, which take the form of attributes in MicroStrategy.
Attributes provide the business model with a context in which to report on and
analyze facts.
Attributes are defined by these properties:
Attribute form: contains an identifier or descriptor of an attribute. Attributes can
have multiple attribute forms. For example, for the Customer attribute, Customer
Email, Customer First Name, and Customer Last Name are examples of attribute
forms
Attribute expression: maps a MicroStrategy attribute form to one or more
columns in the warehouse.
Attribute relationship: allows interaction of data at different conceptual levels
and shows how data is related within a project.
Facts are one of the essential elements within the business data model.
They relate numeric data values from the data warehouse to the MicroStrategy
reporting environment.
Facts generally represent the answers to the business questions on which users
want to report.
The facts you create in MicroStrategy allow users to access data stored in the
data warehouse.
Facts form the basis for metrics, which are used in the majority of analyses and
reports that users can create with MicroStrategy.
A fact entry level is the lowest set of attributes at which a fact is stored.
Fact Definition is composed of one or more fact expressions. Every fact must
have at least one expression.
Column Alias stores the column name MicroStrategy uses to generate SQL
statements when creating temporary tables related to the fact. Every fact must
have a column alias. MicroStrategy selects a default column alias depending on
the type of fact, unless you create a new column alias.
Level Extensions allow facts stored in the data warehouse at one level to be
reported at an unrelated level. Extensions can also prevent a fact from being
reported at a certain level, even though it is stored at that level. Level extensions
are very effective for advanced data modeling scenarios.
Degradation: Enables you to extend the level of a fact to a lower level within
the same hierarchy.
Extension: Enables you to extend the level of a fact to include a level from a
different hierarchy not currently related to the fact
Disallow: Enables you to disallow a specific fact level to prevent unnecessary
cross joins to lookup tables when reporting on a fact
Hierarchies
System hierarchy
The system hierarchy is created according to the relationships defined between
the attributes in your project.
You do not need to create the system hierarchy; it is automatically created in
Desktop when you create a project.
Although the system hierarchy specifies an ordered set of all attributes in the
project, it does not define ordering or grouping among attributes.
User hierarchy
User hierarchies are groups of attributes and their relationships to each other,
arranged in ways that make sense to a business organization.
They are user-defined and do not need to follow the logical data model.
As the structure of your business intelligence system evolves, you can modify the
design of a user hierarchy to include additional attributes or limit user access to
certain attributes.
This type of hierarchy is created to provide flexibility in element browsing and
report drilling.
Browsing and Drilling using Hierarchies
User Hierarchies can be configured as drill paths for analyzing report data
User Hierarchies are available to users throughout the project. Users can access
them in the Data Explorer Browser, Object Editors and Prompts
Transformations
Physical tables in a data warehouse consist of columns, and logical tables in the
MicroStrategy schema relate this column data to attributes and facts. These
attributes and facts are part of the report definition that the MicroStrategy Engine
refers to when a report is executed.
Logical tables are MicroStrategy objects that form the foundation of a
schema.
Logical table alias: A logical table that uses a different name for a physical
table. One physical table can have more than one logical table alias. Logical table
aliases are used to create attribute roles.
Logical view: A logical table that is created using a SQL statement instead of
being a direct representation of a physical table. Once created, the logical view
can be used in the same way as any logical table. The logical view is also
referenced in the SQL that is generated for the report
Logical Size
MicroStrategy assigns a size to every table in the project when you initially add it
to the project. These size assignments are based on the columns in the tables and
the attributes to which those columns correspond.
Because MicroStrategy uses the conceptual or logical attribute definitions to
assign a size to each table in the project, this measurement is referred to as
logical table size.
The logical table size determines which logical table to use to answer a query
when multiple logical tables would provide the same data.
A lower logical table size means the table has a higher level of aggregation.
The performance of accessing a table with a higher level of aggregation is
usually better than accessing a table with a lower level of aggregation.
Scenario
A base fact table contains millions of rows of transaction-level data.
The other tables have only higher-level or summary information.
Since the levels of the attributes are lower in the base fact table, the base fact table is
assigned a higher value for its logical table size than are the summary tables with higher-
level attributes.
This means the table with summary information is used to return data rather than the
table with transaction-level data when the tables can be used to answer the same query.
Logical Table Editor
Logical views can be created in MicroStrategy Desktop using the Table Editor
Logical Table Use Case
F_Table1=
F_Table2=
Using the Logical View feature, you can use the following SQL query to create a
logical table to calculate the Date difference and then define the attribute on that
new column:
The new logical table (logical view) looks like the following table, and a new
attribute can be defined on the Cycle_Time column.
Partition Mapping
Server level
Server-level partitioning involves dividing one physical table into logical partitions in
the database environment. The database software handles this type of partitioning
completely, so these partitions are effectively transparent to MicroStrategy software.
Since only one physical table exists, the SQL Engine only has to write SQL against a
single table, and the database manages which logical partitions are used to resolve
the query.
Application level
Application-level partitioning involves dividing one large table into several separate,
smaller physical tables called partition base tables. You split the table into smaller
tables in the database itself, and then, the application that is running queries
against the database (in this case, MicroStrategy) manages which partitions are
used for any given query. Since multiple physical tables exist, the SQL Engine has to
write SQL against different tables, depending on which tables are needed to retrieve
Partition Mapping
MicroStrategy objects are identified using Global Unique Identifier. An object has
an object ID and Version ID.
A unique identifier (Object ID and Version ID) is assigned when an object is
created new.
When an object is modified the Version ID changes but Object ID remains the
same.
Version ID changes when a logical table is renamed or new attribute form is
added
UnliketoVersion
an attribute or filterIDdefinition
ID, Object is changed.
is consistent acrossBut Object ID
projects remains
i.e., the
when an
same.
object is moved across projects or modified, the object ID remains the
same in the project(s).
When a Project is
duplicated, the
Project ID changes
but the Object ID
remains the same
for an object in
both the Projects.
Warehouse Catalog
65
Warehouse Catalog Overview
The Warehouse Catalog queries the data warehouse and lists the tables and
columns that exist in it. From this list, you can select the tables to add to your
project. Every project can have a unique set of warehouse tables.
The Warehouse Catalog enables you to maintain the integrity of the logical tables
with the data warehouse structure by providing a variety of options that apply to
the project tables on an individual basis.
You access these options in the Warehouse Catalog by right-clicking any table you
have added to a project.
Warehouse Catalog Options
The Warehouse Catalog provides the following options for individual tables:
Remove: This option enables you to remove a table from the project.
Table Structure: Selecting this option opens the Table Structure window and
enables you to view the columns and data types stored in a logical table. If the
table structure has changed since you added the table to the project, you can
click Update Structure to force MicroStrategy Architect to recognize the
changes.
Update Structure: This option is a shortcut to the Update Structure function
available in the Table Structure window.
Show Sample Data : This option enables you to view the first 100 rows of data
in a table.
Calculate Table Row Count: Selecting this option enables you to calculate
and display the row count for a table. You can also choose to automatically
calculate the row counts for all project tables using a project-wide option in the
Warehouse Catalog.
Table Prefix: Selecting this option 0pens the Table Prefix window, which
enables you to add and remove prefixes and assign a prefix to a table. Assigning
a prefix to a table means that any time the SQL Engine uses that table, it
includes the prefix when referencing the table.
Table Database Instances: Selecting this option opens the Available
Database Instances window, which enables you to select the primary database
instance for a table and assign secondary database instances for a table.
Import Prefix: Selecting this option enables you to retrieve a prefix for a table.
Schema Modelling
68
Attribute Roles
Attribute Roles allow you to use the same data to define and support two
separate attributes.
Suppose you define two attributes that have the same data definition but play
different roles in your business model.
For example, in the following image, notice that the attributes Origin Airport and
Destination Airport are defined using the same lookup table, LU_AIRPORT, and
column, AIRPORT_ID.
When multiple attributes are defined using the
same lookup table and column, the attributes are
essentially playing different Attribute Roles.
In a certain organization, each salesperson can work in more than one calling
center. Likewise, each calling center has many salespeople.
In a car manufacturing plant, many models of cars are produced, and each
comes in several colors. That is, there are many colors for a single type of car,
and many types of cars can be associated with the same color.
An example of many to many relationship is Items and Colors. One item can come
in many colors (red hats, blue hats, green hats) and one color can be associated
with many items (red dress, red hat, red shoes, red socks).
Answering this question requires a table that contains a list of all possible
item/color combinations. In many-to-many relationships this is not feasible. Rather,
a distinct relationship table needs to be present in your warehouse.
In summary, to prevent any loss of
analytical flexibility, the following
requirements must be met:
A distinct relationship table to
identify all the possible
combinations of attribute elements
between attributes
Both the attribute ID columns in the
fact table
THANK YOU