In Memory Analytics
In Memory Analytics
In Memory Analytics
An a l yt i cs Gu i de
Version 2021
M i cr o St r at egy 2021
Oct o b er 2022
Copyright © 2022 by MicroStrategy Incorporated. All rights reserved.
Trademark Information
The following are either trademarks or registered trademarks of MicroStrategy Incorporated or its affiliates in the United States and certain other
countries:
Other product and company names mentioned herein may be the trademarks of their respective owners.
Specifications subject to change without notice. MicroStrategy is not responsible for errors or omissions. MicroStrategy makes no warranties or
commitments concerning the availability of future products or versions that may be planned or under development.
CON TEN TS
1. About MicroStrategy OLAP Services 6
5. Derived Elements 97
Prerequisites 354
Parallel queries 360
Partitioning cubes 365
Sizing 370
Cube incremental refresh 371
With the OLAP Services feature, you can perform additional OLAP analysis,
using the following features:
l Filtering data on the fly: view filters and metric filters, page 10
l Importing data as an Intelligent Cube, page 10
Rather than returning data from the data warehouse for a single report, you
can return sets of data, called Intelligent Cubes, from your data warehouse,
and save them directly to Intelligence Server's memory. Intelligent Cubes
can be shared as a single in-memory copy, to be used by many different
reports created by multiple users.
For example, a report with revenue data and attributes for year and region
displays revenue data for each region during each year. You can move the
attribute for year from the report layout to the Report Objects pane to display
a region's revenue data for all years rather than display each yearly revenue
total separately.
Metrics can also be moved between the report layout and the Report
Objects pane, but this does not affect the level of aggregation for the report.
These metrics are created based on existing metrics in the report. Since
derived metrics are evaluated in-memory, their computation does not require
any SQL to execute in the database.
Since derived metrics are created within a report, they can only be used for
the report in which they are created. They cannot be saved as individual
objects in the project, and therefore cannot be applied to other reports in the
project.
January, and February into a single element that combines and displays the
data for the entire winter season.
Rather than having to define consolidations or custom groups, you can use
derived elements to create these groups on the fly while viewing a report.
Derived elements are evaluated on the report dataset without regenerating
or re-executing SQL.
It is important to note that you can use a report filter and view filter on the
same report. The report filter returns a set of data for the report, which the
view filter then restricts further. You should therefore avoid defining
contradictory filtering criteria in both, otherwise you many encounter
situations where no data is displayed.
• Modifying the data in your data source, then republishing the Intelligent
Cube to quickly update the data in your reports and documents
For detailed information on the Import Data feature, see the MicroStrategy
Web Help.
Each type of analysis has its own advantages and disadvantages. However,
OLAP Services provides MOLAP and ROLAP analysis on the same report,
which offers many distinct benefits, summarized below:
Using OLAP Services, you can get fast response times for reports that use
data directly from in-memory Intelligent Cubes, instead of from the data
warehouse. You can create and analyze new reports in real time through
interactive OLAP Services manipulations.
You can drill from predefined reports to conduct advanced analysis and
take full advantage of the Intelligent Cube feature. Drilling is allowed
within an Intelligent Cube for quick-response MOLAP analysis. Drilling can
also be enabled outside of an Intelligent Cube for full ROLAP analysis.
Reporting with OLAP Services and Intelligent Cubes adhere to the same
standards of data access security as the rest of your MicroStrategy
project.
Since accessing Intelligent Cubes for OLAP analysis does not require
runtime processing on the data warehouse and can use schedules to
reduce IT management, users have increased flexibility to create and
modify their own reports to suit their unique work environment.
l Drill within Intelligent Cube: This privilege allows you to drill within an
Intelligent Cube, which means that the drill can be resolved through
OLAP Services and therefore does not need to generate and execute
SQL against the warehouse.
l Use Dynamic Sourcing: This privilege lets you to use Dynamic
Sourcing, which allows non-OLAP Services reports use Intelligent Cubes
that satisfy their data requirements.
l Use OLAP Services: This privilege lets you create and execute reports
and documents that use OLAP Services.
l Web Analyst: The predefined MicroStrategy Web Analyst group is
assigned the set of Web Analyst privileges by default. This group also
inherits all of the privileges assigned to the Web Reporter group. Within
the set of Web Analyst and Reporter privileges, the following privileges
are specific to OLAP Services users:
l Web add/remove units to/from grid in document in View mode: This
privilege allows you to add to or remove report objects from an existing
grid report in a Report Services document.
l Web create derived metrics and derived attributes: This privilege
allows you to create new calculations based on other metrics already on
a base report.
l Web number formatting: This privilege allows you to change number
formats for all metrics on grid reports.
l Web use Report Objects window: This privilege allows you to use the
Report Objects pane. With the Report Objects pane, you can use
dynamic aggregation to change the attributes available on the report
layout.
l Web use View Filter Editor: This privilege allows you to add or modify
a view filter for a report.
l Analyst: The predefined MicroStrategy Analyst group is assigned this set
of privileges by default. Within the set of Analyst privileges, the following
privileges are specific to OLAP Services:
l Create derived metrics: This privilege allows you to create new
calculations based on other metrics already on a base report.
l Use Report Objects window: This privilege allows you to use the
Report Objects pane. With the Report Objects pane, you can use
dynamic aggregation to change the attributes available on the report
layout.
l Use view filter editor: This privilege allows you to add or modify a view
filter for a report.
For information on all user privileges, see the System Administration Guide.
These standard OLAP features are different than the OLAP Services
features covered in this guide. Each standard OLAP feature is described
briefly in the following sections below. These features listed below are
covered in detail in the Basic Reporting Help and Advanced Reporting Help:
l Aliasing
When displaying a report, you can use the aliasing feature to rename any
object on the report grid, such as attribute names, consolidation names,
custom group names, and metric names. You can perform this task from
both MicroStrategy Developer and Web.
l Banding
Banding allows you to color groups of rows or columns so that they form
bands of data that are easy to locate and analyze. Banding can also make
it easier to make sense of a very large report, because the large amounts
of data are broken up into visual groups. If you need to keep track of
values that mean different things in different columns (for example, dollars
in one column and inventory quantities in another column), banding can
help you avoid reading the wrong number.
l Outline mode
l Page-by
l Pivoting
Pivoting enables you to rearrange the columns and rows in a report to view
data from different perspectives. With data pivoting, you can do the
following:
l Sorting
l Subtotals
Using the Subtotal feature, 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 so on. You
might choose to display all subtotals, a grand total only, or subtotals
across levels where you select the object to be subtotaled. Additionally,
l Thresholds
Intelligent Cubes are multi-dimensional cubes (sets of data) that allow you
to use OLAP Services features on reports, as well as share sets of data
among multiple reports. MicroStrategy Intelligent Cube Technology™ allows
you to create these Intelligent Cubes, which operate within MicroStrategy
Intelligence Server.
You create Intelligent Cubes and publish them as a shared data source for
the users to build reports from. Intelligent Cubes provide the fast response
time and analytic calculations that are often associated with
Multidimensional Online Analytic Processing (MOLAP) cubes, while also
benefiting from the ability to use Relational Online Analytic Processing
(ROLAP) by drilling into the full set of data outside of the Intelligent Cube. In
addition, Intelligent Cubes are fully scalable, limiting excessive data
consumption and redundant data by allowing you to build only the sets of
data you require.
With Intelligent Cubes you can return a specific set of data from your data
warehouse. Users can then create reports that display and analyze a subset
of the set of data defined in an Intelligent Cube. This process is different
than the common approach of creating a report that directly accesses the
data warehouse.
The abstraction that Intelligent Cubes provide between your data warehouse
and reports can improve the performance of your business intelligence
application in the following ways:
l The data that reports can access is restricted to the data within the
Intelligent Cube. Users can still perform a few ROLAP manipulations such
as drilling that can access the data warehouse. However, these types of
manipulations that cause re-execution against the data warehouse are not
as accessible as they are when using standard reports.
For example, when using a standard report, users can access any attribute
defined for the project and include it on the report. A manipulation of this
type requires re-execution against the data warehouse. Conversely, a user
working in a report that connects to an Intelligent Cube can only add
attributes to the report grid if the attributes are included in the Intelligent
Cube.
l Security filters are applied separately for each user at the level of the
report connecting to the Intelligent Cube, rather than having to create
multiple Intelligent Cubes for each security filter. For more information,
see Maintaining data access security, page 23.
User and group security filters are applied automatically on reports that
connect to an Intelligent Cube, as shown below:
However, there are some differences in security filter resolution for reports
that connect to Intelligent Cubes as compared to reports that directly access
the data warehouse.
If all attributes in a user's security filter are in the Intelligent Cube that is
used for the report, then security filters can be resolved using the standard
process. However, if some of the attributes in a user's security filter are not
in the Intelligent Cube used for the report, security filter resolution can differ
from the standard process.
While this scenario is uncommon, it can cause users of reports that access
Intelligent Cubes to experience one of the following results:
This could also be caused by the user creating a view filter that is too
restrictive, or by the user's normal security filter resolution.
l A metric or metrics are displayed with no data returned for the metric.
l Some data
that may be
available to
the user by
Data access security is maintained. directly
The user continues to use the
No additional resources are needed querying a
report that accesses the
to modify the Intelligent Cube or to data source
Intelligent Cube.
create a new report. may not be
available in
the report that
accessed an
Intelligent
Cube.
l A new report
that directly
queries a data
source must
be created.
The user creates or views a l The new
report with the same definition The user is able to verify the full report cannot
that directly queries a data results that can be returned for such take
source rather than accessing an a report. advantage of
Intelligent Cube. the improved
query
performance
of accessing
an Intelligent
Cube.
l The Intelligent
Cube must be
published
again to
reflect the
The security filter resolution for the new definition.
user can use the standard process Publishing the
Add the attributes used in a and return the same data as if the Intelligent
user's security filter to the report were directly querying a data Cube can
Intelligent Cube and publish the source. This is also helpful if require
updated Intelligent Cube. multiple users could benefit from the substantial
same change to the Intelligent Cube system
definition. resources.
l Including
additional
attributes
requires more
memory for
the Intelligent
Cube to be
stored on
Intelligence
Server.
Security filter resolution when attributes in a user's security filter are not
in the Intelligent Cube used for the report
When attributes in a user's security filter are not in the Intelligent Cube used
for the report, the outcome depends on how the attributes are related to
those in the Intelligent cube, as described below:
For example, an Intelligent Cube includes the attributes Year and Region,
and the metric Revenue. A user creates a report that connects to this
Intelligent Cube, and includes Year and Revenue on the report. The user's
security filter is defined on the attribute Quarter to return data only for the
first quarter of 2008.
By including the Year attribute on the report, this report would return
information for all quarters in each year. However, the user is allowed to
only see data for the first quarter of 2008. To maintain this data access
security, no data is returned for the report.
Since Revenue is based on Item, Day and Call Center only, it cannot be
reported based on the Category attribute. In such a case, no data will be
reported for the Revenue metric.
A fact in the
A fact in the Intelligent Intelligent Cube is
Cube is reported based not reported based
on an attribute in the on any of the
security filter attributes in the
security filter
A fact in the
A fact in the Intelligent Intelligent Cube is
Cube is reported based not reported based
on an attribute in the on any of the
security filter attributes in the
security filter
security, no data is
security filter does not
displayed for any metrics
need to restrict any
where fact data is reported
data, and the metric
based on attributes related
data can also be
to those in the security
displayed.
filter.
You can use the ACL Editor in -MicroStrategy Web to assign the following
permission groups to users, for each Intelligent Cube:
Permissions
Group Description
granted
l Browse
Grants permission to create and execute reports
Consume l Read
based on this Intelligent Cube.
l Use
l Browse
Grants permission to create and execute reports
l Read
Add based on this Intelligent Cube, and republish/re-
l Use
execute the Intelligent Cube to update the data.
l Execute
l Browse
You need the Use Intelligent Cube Editor privilege to create Intelligent
Cubes. This privilege is part of OLAP Services.
After you have created your Intelligent Cube, you can publish its set of data
to be shared by multiple reports. For more information on publishing an
Intelligent Cube, see Publishing Intelligent Cubes, page 44.
While creating Intelligent Cubes, bear in mind that Intelligent Cubes can
deplete Intelligence Server's system resources. Create Intelligent Cubes for
logical subsets of your data, rather than using them as a reflection of your
entire data warehouse. For information on managing the size of Intelligent
Cubes, see Managing Intelligent Cubes in the System Administration Help.
l Define your business query: Before you can determine what objects to
place on an Intelligent Cube, you need to know what data you want to
make available for reports to access directly. To define your Intelligent
Cube, make sure you consider the following questions:
l What subset of business queries does the Intelligent Cube need to
provide data for? Intelligent Cubes allow you to create sets of data that
can support multiple reports that answer variations to similar business
queries.
l Do you have reports that currently access your data warehouse that
could benefit from accessing an Intelligent Cube instead? To support
this scenario, you can use dynamic sourcing to connect these reports to
Intelligent Cubes that you create. You can also use MicroStrategy Cube
Advisor to create Intelligent Cubes that these reports can access. For
information on using Cube Advisor to support dynamic sourcing, see
Using Cube Advisor to support dynamic sourcing, page 289.
l Look for existing Intelligent Cubes: Before you create an Intelligent Cube,
search through MicroStrategy to see whether a similar Intelligent Cube
already exists that can serve the same purpose as the Intelligent Cube
that you intend to create. This can not only save you time, it can help you
avoid unnecessary duplication in your MicroStrategy project. You can
search a project for Intelligent Cubes, or you can view Intelligent Cubes
created for your projects in the Intelligent Cube Monitor. For information
on using the Intelligent Cube Monitor, see the System Administration Help
.
For these reasons, the following objects and features cannot be included in
Intelligent Cubes in the same ways that they can be included for reports:
Since Intelligent Cubes are used simply to share a set of data, no data or
report results are displayed when you execute an Intelligent Cube. However,
executing an Intelligent Cube publishes the Intelligent Cube, which can then
be accessed as a set of data for multiple reports (see Publishing Intelligent
Cubes, page 44).
Prerequisites
l You need the Use Intelligent Cube Editor privilege to create Intelligent
Cubes. This privilege is part of OLAP Services.
1. In Developer, from the File menu select New, and then Intelligent
Cube. The New Intelligent Cube dialog box opens.
If the New Intelligent Cube dialog box does not open, from the Tools
menu, select Developer Preferences. Expand the Object Templates
category, select General, and from the Show templates for the
following objects list, select Report. Click OK to accept your changes,
and then repeat the previous step to open the New Grid dialog box.
2. Select Empty Intelligent Cube and click OK. The Report Editor opens.
3. Add objects such as attributes, metrics, and so on for the Intelligent
Cube, the same way you would add report objects.
5. Click Save and close to save the Intelligent Cube and close the Report
Editor.
You can also create Intelligent Cubes by directly querying your data using
SQL. You can use Freeform SQL to write your own SQL statements, or
Query Builder to create a query using a graphical interface. These options
are available in the New Intelligent Cube dialog box, under the ODBC
Sources tab. For information on using Freeform SQL and Query Builder to
connect to ODBC data sources, see the Advanced Reporting Help.
Intelligent Cubes do not display report results in the same way as reports
can. Instead of building an Intelligent Cube from the start, you can build a
report; execute it; view the report data in grid, graph, or grid and graph
mode; and then convert the report to an Intelligent Cube. With this method
you can verify that you have the set of data you want, rather than just the
required report objects, before you publish it as an Intelligent Cube.
When you convert a report to an Intelligent Cube, some parts of the report
are not included in the resulting Intelligent Cube. Intelligent Cubes are not
used for the same display and analysis purposes as a report. Intelligent
Cubes simply act as a sharable set of data. Therefore, when a report is
converted into an Intelligent Cube, some of the display and analysis features
are no longer necessary.
The procedure below explains the high-level steps for converting a report to
an Intelligent Cube. The procedure assumes you have already created a
report.
1. Right-click the report and select Edit. The Report Editor opens.
2. Choose Data > Intelligent Cube Options > Convert to Intelligent
Cube.
3. If the report contains objects that cannot be included in the Intelligent
Cube, one of the following messages is displayed:
l If the report includes OLAP Services features such as view filters,
derived metrics, or dynamic aggregation, you are prompted to
automatically remove these features as part of the conversion
process. Click Yes to have these features automatically removed so
that the report can be converted into an Intelligent Cube.
l If the report includes features such as consolidations, custom groups,
or prompts, a warning message is displayed that explains that these
objects cannot be included in the Intelligent Cube. Click OK to close
the warning message and then manually remove the objects from the
report. You can then attempt to convert the report to an Intelligent
Cube again.
4. After the conversion process is completed successfully, save the
Intelligent Cube.
Prerequisites
While this extends the analysis and data access capabilities of reports that
access Intelligent Cubes, drilling outside of an Intelligent Cube can require
additional load on the Intelligence Server and data warehouse. This is
because drilling outside of an Intelligent Cube requires a new report to be
executed against the data warehouse.
All reports that access Intelligent Cubes can drill within the data included in
an Intelligent Cube. This provides ROLAP-type analysis without having to
re-execute against the data warehouse. For example, an Intelligent Cube
includes Year and Quarter. A report accessing the Intelligent Cube only
includes Year on the report. On the report, you can drill down from Year to
Quarter, which returns the results without any extra load on the data
warehouse or Intelligence Server.
The benefit of enabling this extra analysis can come with a performance
cost. As mentioned above, when you drill outside of an Intelligent Cube a
new report is created and executed against the data warehouse. This action
does not take advantage of the data stored in the Intelligent Cube.
When this drilled-to report is created, only objects that were on the report
layout of the report you drilled from are included in the drilled-to report. Any
objects that are only in the Report Objects pane of the report you drilled
from are not included in the drilled-to report. This can help reduce the size of
the drilled-to report. However, if you are drilling from a report that accesses
a large Intelligent Cube, it is possible that a user could include all objects of
an Intelligent Cube on a report. Drilling outside of the Intelligent Cube on
such a report could cause excessive load on the data warehouse and
Intelligence Server.
Prerequisites
• You need the Use Intelligent Cube Editor privilege. This privilege is part
of OLAP Services.
6. Select the Allow reports to drill outside the Intelligent Cube check
box.
You can clear this check box to disable drilling outside of an Intelligent
Cube.
7. Click OK.
8. Click Save and Close.
9. To make your changes available for reports accessing the Intelligent
Cube, you must publish the Intelligent Cube, which is described in
Publishing Intelligent Cubes, page 44.
The same report returns data that matches the user's locale. This is because
the Intelligent Cube has been defined to include localized data.
The SQL view of these reports shown below demonstrates how the data is
returned in different languages:
Notice that different columns of data were returned for the report based on
the locale used to run the report. This demonstrates a column-based
solution to localizing your data. It is recommended that you use a column-
based solution rather than a connection mapping-based solution to localize
your data for Intelligent Cubes. For information on this recommendation, see
the System Administration Guide.
Localizing an Intelligent Cube does not localize any data, it only returns data
that has already been configured in a MicroStrategy project as part of a
localization solution. For information on defining localization rules for your
MicroStrategy projects, see the Project Design Help.
Providing localized data causes the Intelligent Cube size to be larger than if
it supported only a single locale. However, providing localized data in
Intelligent Cubes is necessary if users expect reports that return Intelligent
Cube data to return localized data to reflect their locale.
The steps below let you define Intelligent Cubes to support various
languages.
Prerequisites
All of these options are based on the language options defined for
the project, which can be modified from the Project Configuration
Editor. For information on localizing projects, see the Project Design
Help.
To make your changes available for reports accessing the Intelligent Cube,
you must publish it.
Prerequisites
• You need the Publish Intelligent Cube (Developer) and/or Web Publish
Intelligent Cube (Web) privileges. These privileges are part of OLAP
Services.
The steps below show you how to publish an Intelligent Cube in Developer.
You can follow the same high-level steps in Web to browse to an Intelligent
Cube, and then run the Intelligent Cube to publish it.
You cannot create subscriptions for Intelligent Cubes that have been
created using the Import Data feature in MicroStrategy Web. For information
on the Import Data feature, refer to the MicroStrategy Web Help.
publish the Intelligent Cube. To plan for these memory requirements, see
the System Administration Help.
You can view and edit the new subscription from the Subscription Manager.
For example, you can select a different schedule to use for the subscription
or modify the expiration date for the subscription. For information on
subscriptions and the Subscription Manager, see the System Administration
Help.
an Intelligent Cube means that any reports that access the Intelligent Cube
cannot be executed.
For example, you have an Intelligent Cube that contains weekly sales data.
At the end of every week, this Intelligent Cube must be updated with the
sales data for that week. You can set up incremental refresh settings so that
only data for one week is added to the Intelligent Cube.
Prerequisites
For an Intelligent Cube to qualify for an incremental refresh, it must meet the
following requirements:
If you choose to define an incremental refresh filter or report, you should not
re-publish the Intelligent Cube by double-clicking, or by publishing it on a
schedule. Doing so will overwrite any changes made by the incremental
refresh filter or report.
This is recommended if the Intelligent Cube must be updated along only one
attribute, or if Intelligent Cube must be updated along multiple attributes
simultaneously.
Prerequisites
l The Intelligent Cube's definition must include a filter that qualifies on the
attributes for which the Intelligent Cube must be updated.
For example, if the Intelligent Cube must be updated with new data for the
Store attribute, the filter must qualify on Store.
l Full Refresh: This is the default. The Intelligent Cube's SQL is re-
executed, and all the data is loaded from the data warehouse into
Intelligence Server's memory.
Select this option for Intelligent Cubes that have a rolling set of data—for
example, an Intelligent Cube that always contains data for the past six
months.
Select this option if old data does not change once it is saved to your data
warehouse.
For example, an Intelligent Cube contains monthly sales data for 2009 and
2010 for year-on-year comparison. Once the year 2011 begins, you only
need to keep the data for 2010, and the data for 2009 can be removed from
the Intelligent Cube. You can define one incremental refresh that runs at the
end of every month, and adds that month's data to the Intelligent Cube, and
a second incremental refresh that deletes the previous year's data at the
end of every year.
You can also add incremental refreshes to add data for other dimensions,
such as Country. For example, you have an Intelligent Cube that contains
data for the USA, UK and France, and you want to add data for Germany.
You can define an incremental refresh that fetches all the data for Germany,
and adds it to the cube.
l Filter: The data returned by a filter is compared to the data that is already
in the cube. By default, the filter defined for the Intelligent Cube is used as
the filter for the incremental refresh.
l Report: The results of a report are used to populate the Intelligent Cube.
By default, the report template used is the same as the Intelligent Cube's
template.
If you choose to define an incremental refresh filter or report, you should not
re-publish the Intelligent Cube by double-clicking it, or by publishing it on a
schedule. Doing so will overwrite any changes made by the incremental
refresh filter or report.
1. Navigate to the Intelligent Cube for which you want to define the
incremental refresh.
You can change these options at any time by opening the incremental
refresh in the Report Editor, and from the Data menu, selecting
Configure incremental refresh options.
4. Click OK. The Report Editor opens with a new incremental refresh. If
the Intelligent Cube's definition included a filter, it appears in the
Report Filter pane.
5. In the Report Filter pane, edit the filter if applicable, or create a new
filter.
6. To preview the data that will be updated in the Intelligent Cube, from
the View menu, select Preview Data. The data is displayed in a grid
view.
If your security filter prevents you from viewing some data, the preview
only displays data that you can view. However, when the incremental
refresh is executed, all the data for the filter is updated in the Intelligent
Cube, regardless of security filters.
8. To save and close the incremental refresh, click Save and Close.
Prerequisites
l The report must use all the attributes, and at least one metric from the
Intelligent Cube that is being updated. Note that for metrics that are not on
the report's template, data is not updated.
l All attributes and metrics in the report's definition should be identical to
the attributes and metrics in the Intelligent Cube. You can verify this by
checking the Global Unique Identifiers (GUIDs), by right-clicking the
attribute or metric, and choosing Properties.
1. Navigate to the Intelligent Cube for which you want to define the
incremental refresh.
If you are using the Delete option,you may use a report with only a
subset of the attributes present in the Intelligent Cube.
The Replace option is not available here, since it can only be used
for incremental refresh filters.
You can change these options at any time by opening the incremental
refresh in the Report Editor, and from the Data menu, selecting
Configure Incremental Refresh options.
5. Select Report and click OK. The Report Editor opens, with a new
incremental refresh report. By default, the report's template contains all
the attributes and metrics from the Intelligent Cube.
7. To preview the data that will be updated in the Intelligent Cube, from
the View menu, select Preview Data. The data is displayed in a grid
view.
If your security filter prevents you from viewing some data, the preview
only displays data that you can view. However, when the incremental
refresh is executed, all the data for the filter is updated in the Intelligent
Cube, regardless of security filters.
9. To save and close the incremental refresh, click Save and Close.
REPORTIN G ON
I N TELLIGEN T CUBES
This provides both OLAP Services features and full ROLAP analysis on your
report with no overhead to create or maintain an Intelligent Cube, or to link
your report to an Intelligent Cube.
The sections listed above describe how to use various OLAP Services
features with reports. For information on how to create reports and use all
the standard reporting features available in MicroStrategy, see the Basic
Reporting Help and the Advanced Reporting Help.
Reports that connect to an Intelligent Cube are restricted to only the data
available within the Intelligent Cube. This ensures that report results are
returned quickly, and it also prevents full ROLAP analysis. Report filters,
consolidations, and custom groups are not available for reports that connect
to Intelligent Cubes.
While reporting on Intelligent Cubes, there are a few scenarios that can
produce unexpected results. See Troubleshooting reports connected to
Intelligent Cubes, page 80 for more information.
This section discusses the features available for reports that connect to
Intelligent Cubes, and how the reports utilize standard reporting features
and OLAP Services features to execute reporting and analysis
manipulations completely within the Intelligent Cube. This section includes
information on the small differences in workflows and standards when using
standard reporting features in these reports:
The Report Editor opens with all of the objects of the Intelligent Cube
included in the Report Objects pane on the left. You can begin to create your
report.
The report opens with all of the objects of the Intelligent Cube included in
the Report Objects pane on the left. You can begin to create your report.
However, the Intelligent Cube you switch to for the report should have the
same or at least similar data as was previously available in the report. If the
report contained some objects that are not in the Intelligent Cube you switch
to, this can cause the objects to be unavailable for the report or have other
unintended functionality. A warning message is displayed for any mismatch
in data between the report and the Intelligent Cube you want to link the
report to.
Prerequisites
4. If there are data mismatches between the report and the Intelligent
Cube you are attempting to link it to, a warning message is displayed
that lists the differences. Attributes on the report that are not contained
in the new Intelligent Cube will have to be removed from the report to
display valid report results. Missing metrics are converted into derived
metrics and may be able to display correct data, but they should be
removed if no data is returned.
Prerequisites
4. In the Select Dataset dialog box, navigate to the Intelligent Cube that
you want to use as a dataset.
5. Select the Intelligent Cube, and click OK. The Intelligent Cube is added
to the Dataset Objects pane.
6. To add another Intelligent Cube to the document, repeat the steps
above.
Prerequisites
1. In Web, click New Dashboard. The Select Dataset dialog box opens.
2. In the Select Dataset dialog box, navigate to the Intelligent Cube that
you want to use for the dashboard.
3. Select the Intelligent Cube, and click Next. A new VI dashboard opens,
with the Intelligent Cube added to the Dataset Objects pane.
Pr er eq u i si t es
l User must have full control access rights to the cubes being merged.
l None of the cubes being merged are exclusive.
l Cubes must support the same access type. (For example, In-Memory only
cubes cannot merge with Direct Data Access only cubes.)
For simplicity, the following steps refer to Cube A and Cube B, where Cube
B will be merged into Cube A.
Cube A must be selected here to maintain its attribute IDs after the
merge. If you select Cube B, any dashboards or reports linked to Cube
A before the merge may not function correctly.
5. Navigate to the Intelligent Cube (Cube B) you want to add. Select the
Cube and click OK.
7. In the Data Access Mode window choose how you access the new
cube by selecting Connect Live or Import as an In-memory Dataset.
8. The Start your analysis window opens. You can choose from Create
Dashboard, Create Document, or Create Report.
l If the schema for the duplicate tables from Cube A and Cube B is the
same, the table from Cube A will be picked and the duplicate from Cube B
will be skipped. The attribute IDs from Cube A will be retained.
l If the schema is different on both of the duplicate tables, Cube A will map
as many attributes from the duplicate table as possible. These attributes
will retain the IDs from Cube A and the remaining attributes will retain their
IDs from Cube B.
l Columns are paired using column names
l Derived columns are skipped.
l Matched pairs of columns are compared using their mapping information,
including object type, object name, data type, geo roles, etc.
l The schema will be treated as different if missing or redundant columns
are found.
l If the data source table structure and schema for two identical tables is the
same, they will be considered duplicates, and the table from Cube B will be
skipped.
l If the data source for two identical tables is different, both tables will be
merged. The name of the table from Cube B will be changed to "table name
- Cube B".
l Attributes can be manually linked between two cubes before the merge.
l For attributes and metrics, if the name is the same and the data type are
compatible, they will be linked automatically.
l If attributes or metrics have the same name, but are not data type
compatible, the attribute or metric being merged will be renamed
"attribute/metric name - Cube B".
Multiform attributes follow the same rules as above. When multiform and
single form attributes are compared, the data types for the ID of the
multiform attribute and the name of the single form attribute are checked
for compatibility.
Partitioned Tables
l If Cube A and Cube B both have two partition tables, they will merge
successfully. To group the tables into a single table, select Yes in the
reminder window. You can also group them together manually on the table
menu.
l If all the sub tables are the same, the newly added duplicate database
table will be removed.
l If the tables in Cube B are not a subset of the group tables in Cube A, but
they can be grouped, you will see the pop up window for the partition
option. Click Yes to remove duplicate tables. Click No to keep the tables
separate. The tables can be grouped manually on the table menu.
Prompts serve the same purpose in any report, including reports that
connect to Intelligent Cubes. However, instead of modifying SQL at report
run time, prompts allow reports to select data within the Intelligent Cube, as
illustrated below.
The image above shows standard run-time reporting with prompts, while
using OLAP Services to execute against the Intelligent Cube rather than
against the data warehouse. The performance of your business intelligence
application is improved by reducing execution against your data warehouse
and maintaining only a single Intelligent Cube for multiple prompted reports.
Prompts on reports that connect to Intelligent Cubes can only access data
that is available within the Intelligent Cube. These restrictions are applied
automatically when creating prompts. For example, the attributes Year and
Region and the metrics Cost and Revenue are included in the Intelligent
Cube shown in the image above. If you create an object prompt in your
report that connects to this Intelligent Cube, then you can only create
prompts based on one of Year, Region, Cost, and Revenue.
You cannot use prompts that include objects or data that are not part of the
Intelligent Cube, or prompts that use hierarchies. If you try to use such
prompts, an error message is displayed.
Prompts in reports that access Intelligent Cubes can use the complete
ROLAP schema of a project. However, if a prompt retrieves data from
outside the Intelligent Cube, re-execution against the data warehouse is
necessary.
A report connected to an Intelligent Cube can drill within the data available
in the Intelligent Cube it is connected to. This means that you can drill from
an attribute on the report grid to an attribute that is not on the report grid,
but available in the Report Objects pane. If the attribute is not available in
the Report Objects pane, it is not an available drilling option by default.
However, Intelligent Cubes can be defined to allow drilling outside of an
Intelligent Cube to the full relational data warehouse.
For example, your report includes the attribute Year. After analyzing data at
the Year level, you want to analyze data for each quarter. You can drill down
from Year to the attribute Quarter to view and analyze data at the new
logical level. This drilling action is performed within an Intelligent Cube.
Following this example scenario, you want to drill from year 2007 to quarters
for that year. You have a report connected to an Intelligent Cube that is
defined as shown below:
Notice that Quarter is not on the report, but it is included in the Report
Objects pane on the left as it is a part of the Intelligent Cube that the report
is connected to. As shown in the report above, you right-click the 2007
attribute element for Year and drill down to Quarter. The drilled-to report is
shown below.
from the same Intelligent Cube (named Drilling I Cube) as the original
report. This provides relational analysis without having to execute the report
against the data warehouse.
In the scenario above, drilling is performed within the Intelligent Cube, which
is achievable through any report connected to an Intelligent Cube. However,
if the Intelligent Cube is defined to allow drilling outside it (see Enabling
ROLAP drilling for reports accessing Intelligent Cubes, page 38), you can
also drill to any object not included in the Intelligent Cube. While drilling
outside of an Intelligent Cube requires execution against the data
warehouse, it provides access to the full ROLAP schema of the project
outside of the Intelligent Cube.
In the next example, the same scenario of drilling from Year to Quarter is
used, except that the Intelligent Cube does not contain the Quarter attribute.
As shown in the report below, you right-click the 2007 attribute element for
Year and drill down to Quarter.
Notice in the report shown above that all the attributes in the Time hierarchy
are available drilling options even though they are not all included in the
Intelligent Cube. These attributes are available drilling options because the
Intelligent Cube is defined to enable drilling outside of the Intelligent Cube.
As shown in the report above, you right-click the 2007 attribute element for
Year and drill down to Quarter. The drilled-to report is shown below.
This drilled-to report is executed against the data warehouse, and it allows
you to access data outside of the Intelligent Cube for further relational
analysis. Notice also that all report objects that were not on the report grid
are now removed from the Report Objects pane, because this new, drilled-to
report is not connected to the Intelligent Cube.
You should consider the execution time requirements for a report before
drilling outside of an Intelligent Cube.
For basics on how to drill on data, see the Basic Reporting Help. For
information on creating drill maps, which are used to enable drilling
techniques, see the Drill Maps section in the Advanced Reporting Help.
l The view filter for the report is too restrictive (see Chapter 7, View Filters).
Modify or remove the view filter to attempt to return data for the report. If
removing the view filter does not allow the report to return data, the cause
may be due to your security filter, as described below.
l Your security filter does not allow you to see the data available on the
Intelligent Cube.
While this may be due to normal data access security, the data available on
the Intelligent Cube may prevent you from viewing all possible data in a data
source (see Security filter resolution for reports connected to Intelligent
Cubes, page 24.) To verify whether there is additional data that is not being
returned, you can create or view a report that connects directly to a data
source rather than an Intelligent Cube. You can also contact the designers
of the Intelligent Cube to review whether additional data can be added to the
Intelligent Cube so that it supports your report.
filter resolution and dynamic aggregation as the cause for metrics not
displaying any data.
The scenarios listed below cause reports to return error messages when
Intelligent Cubes are unavailable:
l The Intelligent Cube is not published. This scenario can occur when an
Intelligent Cube is removed to:
l Update it with new data available in the data warehouse.
l Release its resources for more frequently used Intelligent Cubes.
While reporting on Intelligent Cubes, there are a few scenarios that can
produce unexpected results. To troubleshoot these issues, see
Troubleshooting reports connected to Intelligent Cubes, page 80
First, you must enable dynamic sourcing for your report. This can add some
overhead to the execution of your report to check whether there are any
Intelligent Cubes that meet the data requirements of your report. This
overhead usually has no effect on performance. If an Intelligent Cube can be
used, the report results can be returned quickly from the in-memory copy of
data rather than querying the data warehouse. To enable dynamic sourcing
for reports, see Enabling or disabling dynamic sourcing for reports, page
276.
The simpler your report is, the more likely it is that an Intelligent Cube
satisfies its data requirements. This does not mean that you should create
reports with minimal data simply to take advantage of dynamic sourcing.
However, the considerations listed below can help you create a report that
meets your reporting requirements and is well-suited for dynamic sourcing:
l Avoid the use of features that prevent the use of dynamic sourcing, which
are described in Features that prevent the use of dynamic sourcing, page
264.
l Only add objects that are relevant to the analysis required for the report.
When creating a report, you should determine whether certain attributes,
metrics, advanced filtering techniques, and so on are required for the
report or are extraneous to the analysis requirements of a report.
I M PORTIN G L ARGE
D ATASETS IN TO
M ICRO STRATEGY
This section describes the requirements and tasks to add large datasets to
your application, by importing the datasets as Intelligent Cubes and dividing
them into multiple segments, called partitions. The datasets can be on the
order of multiple terabytes.
l Improving the response time for your reports, documents, and dashboards.
l Reducing the load on your data warehouse, because your dataset is
stored in Intelligence Server's memory instead of the data warehouse.
l Analyzing large volumes of data in real time, since your datasets can
contain up to 2 billion rows of data for every partition on the Intelligence
Server.
l Using the standard features of the MicroStrategy platform, such derived
metrics, custom groups, consolidations, and so on, on your dataset.
For steps and considerations for creating a logical data model, see the
Project Design Help.
l Select the attribute that will divide your dataset (the partition attribute). All
the tables that contain the partition attribute are split into partitions. The
tables are analyzed in parallel by the processor cores of your Intelligence
Server machine.
l Create the dataset using Web.
l Use simple base metrics when you create the dataset, and then create
derived metrics for more complex metrics calculations after you import the
dataset. For steps to create derived metrics, see the MicroStrategy Web
Help.
l Design your documents and dashboards using MicroStrategy Web. For
steps to design documents and dashboards, see the MicroStrategy Web
Help.
l Maintain and update your dataset.
l Your documents and dashboards are centrally managed and allow your
users to analyze data from different perspectives.
l All the data that you need for the application can be loaded in a single
dataset.
l All tables that have more than two billion rows of data can be split based
on the same attribute.
l Your base Key Performance Indicators (KPIs) are calculated using basic
aggregation functions such as Sum, Average, Minimum, Maximum, Count,
and so on. The KPIs can be calculated individually for each partition and
then combined.
Once you have created your dataset, you can create derived metrics that
use any of the standard MicroStrategy functions.
For a full list of the most efficient functions to use in partitioned datasets,
see Appendix A, Efficient Functions for Partitioned Datasets.
l Your dataset needs to support self-service analyses, where your users can
create their own reports, documents, or dashboards.
l All of the data for the application cannot be loaded in a single dataset.
l Your application allows users to add or update data in your warehouse by
using Transaction Services.
l All tables that have more than two billion rows of data cannot be
partitioned based on the same attribute.
l The calculations for your KPIs require the entire dataset. For example,
KPIs that use functions such as First, Last, Standard Deviation, OLAP
functions, and so on require the entire dataset.
For a full list of the most efficient functions to use in partitioned datasets,
see Appendix A, Efficient Functions for Partitioned Datasets.
l Your data is unstructured, and include data sources other than RDBMS or
flat files.
l Your dataset needs to be updated in real time.
l The number of partitions you divide your dataset into must be less than or
equal to the number of processor cores on your Intelligence Server
machine.
l The maximum size of a partition is 2 billion rows.
l Ensure that your Intelligence Server machine has enough memory to
handle the data.
l The data type of the partition attribute must be one of the following:
l Integer
l BigDecimal
l Text
l Date
l The partition attribute should be present on as many fact tables as
possible, especially your largest fact tables. This requirement ensures that
is displayed, along with its data type. You can filter the list of database
tables by typing the name of a table in the search field.
8. To partition your data, click Prepare Data. The Preview dialog box
opens, displaying the attributes and metrics for your dataset, and the
data tables that they are based on.
Hover the cursor over the name of a table, click the Menu > Define
Relationships. Click Add a New Relation, select the Parent
Attribute, Child Attribute, and Relationship. For detailed steps to
define relationships between attributes, see the MicroStrategy Web
Help.
10. Click All Objects View. The All Objects View dialog box opens,
showing all the attributes and metrics in your dataset.
11. From the Partition Attribute drop-down list, select the attribute to use
to divide your dataset. For help in evaluating your dataset for an
appropriate attribute, see Requirements for the partition attribute, page
90.
12. In the Number of Partitions field, type the number of partitions to split
the dataset into. The number of partitions should be less than or equal
to the number of CPU cores on your Intelligence Server machine.
l For steps to edit your dataset, see the MicroStrategy Web Help. Some
examples of editing your dataset are listed below.
l Add more data from the same data source or a different one.
l Remove a table from the dataset.
l Change the data type of a column.
l Assign a geo role to a data column, to generate additional geographical
data and to allow for easier integration with map-based visualizations.
l Designate a data column as an attribute or a metric.
l For steps to update the data in your dataset, such as when new data is
available in your data source, see Updating the data in your dataset, page
93.
3. In the Data Source column, select the check boxes for the tables to
update.
4. In the Refresh Policy column, choose one of the following options:
l To replace all the data in your dataset with updated data from your
data source, select Replace existing data. Select this option if your
dataset contains a rolling set of data—for example, if your dataset
always contains data for the last six months.
l To update the existing data in your dataset with any updated data in
your data source, select Update existing data. Select this option if
the data in your data source is updated regularly, but your dataset
requires a specific subset of the data.
l To update the existing data and add any new data, select Update
existing data and add new data. Select this option if your dataset is
updated often, for example, a sales dataset that records new
transactions and tracks updates to older transactions as applicable.
l To add new data from your data source to your dataset, select Add
new data. Data that is already in the dataset is not altered. Select
this option if old data is not updated after it is saved to your data
source.
5. Click Show Advanced Update Options. The Set Refresh Filter and
Alternate Source columns are displayed.
6. Click Set Refresh Filter. The Select a filter dialog box opens.
7. Click Add Condition. A new attribute qualification is started, displaying
a list of the attributes in your dataset.
8. In the Based On list, select the attribute to filter by.
9. Define the qualification by doing one of the following:
l Click Save.
If the updated data for your tables is in a different data source than the
original, you can configure a different data source for each table. Ensure
that the table in the new data source contains columns with identical
names to the columns in your original data source. If you do not need to
specify a difference source, click Finish.
l If the Set Refresh Filter and Alternate Source columns are not displayed
on the Schedule dialog box, click Show Advanced Update Options.
l In the Alternate Source column for the table to update, click Set Source.
The Select Alternate Source dialog box opens.
l From the Database Sources panel on the left, select the database
connection that contains the data to import. A list of the database tables in
the selected database is displayed in the Available Tables panel.
l Type the name of the table in the search field. The list of tables is updated
automatically as you type.
l Click and drag the name of the table from the Available Tables panel to the
panel on the right.
l Click Finish.
D ERIVED ELEM EN TS
For example, the reports below contain Region, Category, and Profit. The
report on the left does not display any derived elements. The report on the
right displays derived elements defined using groups of Region attribute
elements:
l East Coast: This derived element combines the data for the Mid-Atlantic,
Northeast, and Southeast regions.
l West Coast: This derived element combines the data for the Northwest
and Southwest regions.
l Central and South: This derived element combines the data for the Central
and South regions.
l Web: This derived element displays the data for the Web attribute
element, which is not included in any of the derived elements listed above.
You can do more than just simple combinations of attribute elements with
derived elements. For example, after you have defined the East Coast
derived element, you can determine the East Coast region's percent
contribution to profit, as shown in the last row of the report below.
For example, you have a report with Region, Category, and Profit displayed
on a report. The report shown below includes the following derived elements
defined using groups of Region attribute elements:
Group derived elements can only combine attribute elements, they cannot
combine other derived elements. If you want to create a derived element
You can quickly create Group derived elements using right-click options
(see Creating quick groups, page 113), or you can use the Derived Elements
Editor to access the full functionality of derived elements (see Using the
Derived Elements Editor, page 128).
You can also use this type of derived element to display the attribute
elements in a different order. This enables you to do more advanced
attribute element sorting than simple ascending or descending sorts. For
information on using Group derived elements to sort the display of attribute
elements on a report, see Creating quick sorts, page 124.
For example, in a report with Region and Category attributes and a Profit
metric, you can filter the regions on the report into various geographical
groups based on the region names.
The report shown below includes the following derived elements defined
using filters for Region attribute elements:
l In list: A filter qualification using In list returns data for all the attribute
elements you select. An In list filter qualification that returns all the
southern regions is shown below.
l Not in List: A filter qualification using Not in List returns data for all the
attribute elements you do not select, for a given attribute. A Not in List
filter qualification that returns all the southern regions is shown below.
Exactly
Different from
Greater than
Less than or
equal to
Between
Like
Not Like
Contains
Ends with
To create Filter derived elements, you must use the Derived Elements Editor
(see Using the Derived Elements Editor, page 128).
For example, in a report with Region and Category attributes and a Profit
metric, you can combine the regions on the report into various groups for
profit analysis, as shown below.
You can include the following when you create a Calculation derived
element expression:
l Operators: You can include ( ), +, -, *, and /, which are all available on the
toolbar.
l Functions: You can include Average, Greatest, and Least by clicking f(x)
on the toolbar and completing the Insert Function Wizard. For information
on these functions, see Creating quick calculations, page 117. For steps
to use the Insert Function Wizard, click Help in the wizard.
l Clear: You can clear the expression to start creating a new expression.
l Validate: You can check your expression to see if its syntax is valid. Any
errors in syntax are highlighted in red.
Central, Mid-Atlantic, and Web are all attribute elements that are not
included in any derived elements. The All Other derived element gathers
these remaining attribute elements, and displays them on a report as
individual attribute elements.
You can also include all of the attribute elements that are part of the All
Other derived element as one consolidated element on a report (see
Displaying derived elements or their attribute elements, page 157).
While this is the most common way the All Other derived element is used,
you can define attribute elements included in other derived elements to also
be included as part of the All Other derived element. For information on
including attribute elements in the All Other derived element, see Displaying
derived elements and their attribute elements simultaneously, page 160.
l Standard reports
l Intelligent Cube reports: An Intelligent Cube report is a report that is
connected to and retrieves its data from an Intelligent Cube.
You can create derived elements with the following methods, which are all
described in this section:
Depending on the type of report you are creating a derived element on, you
can use either MicroStrategy Developer or Web. To see which interfaces
you can use, refer to the tables under each of the following methods.
You can quickly create derived elements based on attribute elements and
other derived elements in reports and Grid/Graphs using right-click options.
You can create the following types of quick group derived elements:
Review the table following the list of quick group derived elements for a list
of when you can use these quick group options to create derived elements.
l Creating quick sorts, page 124: Creates a derived element that sorts the
attribute elements on the report or document in any order you want. This
option is only available if no derived elements are defined for the attribute
on the report or document.
These quick group options to create derived elements are quick and easy
ways to create derived elements. However, creating derived elements with
these quick group techniques is only available with the configurations listed
in the table below:
Developer and
Grid View Yes Yes Yes
Web
Developer and
Graph View No No No
Web
Interactive Mode
(Grid/Graph must
Grid/Graph in be displayed as a Web Yes No Yes
a Report Grid or a Grid and
Services Graph)
document
Editable Mode
(Grid/Graph must
be displayed as a Web Yes No Yes
Grid or a Grid and
Graph)
For example, you have a report that displays the number of sales orders,
sales order items, and sales order amounts for customer industry sectors.
Your report displays this information over a number of months. To get a
more summarized view of the data, you decide to group months into
seasons. You group October and November 2008 into a single derived
element called Fall 08, by selecting the attribute elements, right-clicking the
selection, and selecting Create Group. This process is shown below.
You can then type a name for the group, such as Fall 08, and then click OK.
A derived element is created for the Fall 08 group, which displays and
aggregates the data for October and November 2008.
You can also group attributes elements to create derived elements for the
winter, spring and summer months. A report with a derived element for each
season group is shown below.
As shown in the report above, data for each customer industry sector is
aggregated for the three months of each group. For example, Retail and
Consumer Products had one sales order in June 2009, three sales orders in
July 2009, and one sales order in August 2009. This data is aggregated to a
total of five sales orders for the Summer 09 time period.
Creating a derived elem ent on Intelligent Cube reports with a quick group
The steps below show you how to create a quick group on a report
connected to an Intelligent Cube.
Prerequisites
l You need the Define Derived Elements (Developer) and/or the Web Define
Derived Elements (Web) privileges. These privileges are part of OLAP
Services.
3. In the grid display of the report, hold down the CTRL key and select
multiple attribute elements within the same attribute.
Do not select derived elements for the attribute, as you cannot create
quick groups based on derived elements. To group derived elements,
you must use the Derived Elements Editor.
4. Right-click your selection and select Group. The Create Group dialog
box opens.
5. Type a name for the derived element, and click OK.
The group is created as a derived element and displayed on the report. You
can modify the derived element using the Derived Elements Editor (see
Using the Derived Elements Editor, page 128).
• If you select exactly two attribute elements, you can choose from all
of the calculations listed below.
• If you select more than two attribute elements, Subtract and Divide
are not available calculations as they can only accept two operands.
If you want to create a subtraction or division including more than two
attribute elements, you must use the Derived Elements Editor.
• The Greatest and Least calculations are best used when your report
has only one metric. These calculations operate on each metric
individually, so if your report has more than one metric, the values
for the Greatest derived element will not necessarily correspond to
the same attribute element.
l Greatest: Calculates and displays the greatest value of each metric for
two or more attribute elements, derived elements, or a combination of
both.
l Least: Calculates and displays the least value of each metric for two or
more attribute elements, derived elements, or a combination of both.
Using the same example used to illustrate the Greatest calculation listed
above, the table below shows an example of a creating a least calculation
on the books and electronics categories.
You decide to do further analysis based on the unit cost of the various items
listed. To provide this analysis you begin to put the items into various groups
that perform an average of their data. You create the first group by selecting
Vanishing Point, Godzilla, Apollo 13, Le Mans, The African Queen, and
Manhunter, then right-clicking the selection, pointing to Create Calculation,
and selecting Average. This process is shown below.
You then type a name for the group, such as Average Unit Costs $7.00-
$9.99, and then click OK. A derived element is created for the Average Unit
Costs $7.00-$9.99 group, which displays an average of the data for
Vanishing Point, Godzilla, Apollo 13, Le Mans, The African Queen, and
Manhunter.
When you create the quick calculation, the resulting derived element
appears at the top of the report, and its attribute elements remain below it.
To hide these elements, use the Derived Elements Editor. To show or hide
attribute elements using the Derived Elements Editor, see Displaying
derived elements and their attribute elements simultaneously, page 160.
You can then group the rest of the items into two other groups, one for
Average Unit Costs $10.00-$13.99 and one for Unit Costs $14.00+. The
resulting report is shown below.
You can now view your data at a new summarized level. The report shows a
relatively sizable average unit profit for items with unit costs greater than
$14.00. You can continue your analysis to see whether the higher prices are
affecting the average number of items sold, as shown below.
As shown in the report above, the higher prices have no negative effect on
the number of items sold for the items you expect a higher profit margin on.
This type of analysis can lead you to update your pricing guidelines to
maximize profits for items of varying values.
Prerequisites
l You need the Define Derived Elements (Developer) and/or the Web Define
Derived Elements (Web) privileges. These privileges are part of OLAP
Services.
l If you selected exactly two attribute elements, you can choose from
all of the calculations listed below.
l If you select more than two attribute elements, Subtract and Divide
are not available calculations as they can only accept two operands.
l If you want to create a subtraction or division including more than
two attribute elements, you must use the Derived Elements Editor.
l Sum
l Subtract
l Average
l Greatest
l Least
l Divide
For example, you have a report that lists the vendors with the ten largest
open accounts payable amounts, as shown below.
After reviewing the list of vendors with the largest open payable amounts
from highest to lowest, you can sort the vendors into any order that meets
your requirements. You can achieve this by right-clicking the Vendor
attribute, pointing to Sort, and then selecting List (custom). The Derived
Elements Editor opens with all of the attribute elements listed as selected
objects.
You can move the elements up and down in the Selected objects list to re-
order them on the report. When you are ready, click OK to accept the
changes and return to the report. Notice the new order of Vendor attribute
elements in the report shown below.
Creating a derived elem ent on Intelligent Cube reports with a quick sort
The steps below show you how to create a quick sort on a report connected
to an Intelligent Cube.
Prerequisites
3. Right-click an attribute in the grid display, point to Sort, and then select
Custom. The Derived Elements Editor opens with all of the attribute
elements listed as selected objects.
If Custom is not an option in the Sort options, this means that the
attribute has a derived element defined for it on the report. You must
remove any derived elements defined for the attribute before you can
create a quick sort to re-order the attribute elements.
4. In the Selected objects list, move the attribute elements to the order
you want them displayed on the report.
5. Once the attribute elements are ordered appropriately, click OK. The
Derived Elements Editor closes and you are returned to the report.
The report displays the attribute elements in the new order. You can modify
the derived element using the Derived Elements Editor (see Using the
Derived Elements Editor, page 128).
Cr eat i n g a d er i ved el em en t o n Gr i d / Gr ap h s w i t h a q u i ck so r t
The steps below show you how to create a quick sort on a Grid/Graph
included in a Report Services document from MicroStrategy Developer.
Prerequisites
If List (custom) is not an option in the Sort options, this means that
the attribute has a derived element defined for it on the source report.
You must remove any derived elements defined for the attribute before
you can create a quick sort to re-order the attribute elements.
The document displays the attribute elements in the new order. You can
modify the derived element using the Derived Elements Editor (see Using
the Derived Elements Editor, page 128).
For example, if you use right-click menu options create a quick calculation
on a report connected to an Intelligent Cube, the expression can only
include one type of function or operand such as +, /, and Average. However,
in the Derived Elements Editor, you can create expressions with a valid
combination of different functions. You can create a derived element from
the Derived Elements Editor with an expression of the following form:
You can modify derived elements in the following ways using the Derived
Elements Editor:
The report shown below is used in the procedures and examples that follow
for creating derived elements with the Derived Elements Editor.
l A standard report.
l A report which is connected to an active Intelligent Cube. The table below
lists the views you can access the Derived Elements Editor from, in
MicroStrategy Developer and Web. To access the Derived Elements Editor
from reports, see To access the Derived Elements Editor in reports
connected to an active Intelligent Cube, page 132.
l A Grid/Graph in a Report Services document. The table below lists the
modes you can access the Derived Elements Editor from, in MicroStrategy
Developer and Web.
Developer and
Grid View Yes
Web
Interactive Mode
Editable Mode
You can also create stand-alone derived elements by accessing the Derived
Elements Editor from outside reports or Grid/Graphs. Stand-alone derived
elements can be used by multiple reports and Grid/Graphs. For information
on using a derived element in multiple reports and accessing the Derived
Elements Editor to create stand-alone derived elements, see Creating and
using stand-alone derived elements, page 149.
For example, in a report with Region and Category attributes and a Profit
metric, you can combine the regions on the report into various geographical
groups. The final report you create with attribute elements grouped based on
geography is shown below.
The steps below show you how to create a Group derived element on a
report, as well as specific instructions to create the sample report shown
above.
Prerequisites
While this procedure creates only Group derived elements, you can create
any combination of Group, Filter, and Calculation derived elements on a
report or Grid/Graph.
For the example scenario, right-click the Region attribute, and click
Derived Elements.
3. To create a new Group derived element, from the New drop-down list
select Group.
Two new derived elements are created, a blank Group derived element
and an All Other derived element. The All Other derived element is a
collection of all attribute elements that are not included in any of the
other derived elements for the attribute. For further explanation of the
All Other derived element, see All Other derived element, page 109.
4. Select the new Group derived element. This displays the available
attribute elements in the Definition tab.
For the example scenario, the Region attribute elements are displayed.
5. From the left pane, select attribute elements to include in the derived
element, and then click the right arrow (>) to add your selections to the
Selected objects pane.
6. To rename the Group derived element, from the Change Group drop-
down list, select Rename Group. Type a name for the derived element.
7. From the Property tab, you can make various modifications to the new
derived element such as:
l Displaying derived elements or their attribute elements, page 157
l Applying derived element values to subtotals, page 154
l Displaying derived elements and their attribute elements
simultaneously, page 160
8. From the Change Group drop-down list, you can format derived
element headers and values. For information on these formatting
techniques, see Formatting derived elements, page 163.
9. You can change the order in which the derived elements are displayed
on the report using the up ( ) and down ( ) arrows.
10. You can continue to create more derived elements, or you can click OK
to close the Derived Elements Editor and return to the report. The steps
below continue the example scenario.
11. From the New drop-down list, select Group. A blank group is created.
12. Select the new derived element. This displays the available attribute
elements in the Definition tab.
13. From the left pane, select the Northeast and Southeast attribute
elements, and then click the right arrow (>) to add your selections to
the Selected objects pane.
14. From the Change Element drop-down list, select Rename Group. Type
West Coast to rename the Group derived element.
15. From the New drop-down list, select Group. A blank group is created.
16. Select the new derived element. This displays the available attribute
elements in the Definition tab.
17. From the left pane, select the Central and South attribute elements,
and then click the right arrow (>) to add your selections to the Selected
objects pane.
18. From the Change Group drop-down list, select Rename Group. Type
Central and South to rename the derived element group.
19. You can save your derived element for the report or Grid/Graph, or
save the derived element as a stand-alone object that can be used by
multiple reports and Grid/Graphs:
l To save the derived element for the report or Grid/Graph, click OK.
The Derived Elements Editor closes and you are returned to the
report or document.
If you used the steps above to create the sample report, the report is
displayed with the regions grouped into East Coast, West Coast,
Central and South, and Web.
For example, in a report with Region and Category attributes and a Profit
metric, you can filter the regions on the report into various geographical
groups based on the region names. The final report you create with Filter
derived elements is shown below.
The steps below show you how to create a Filter derived element on a
report, as well as specific instructions to create the report shown above.
Prerequisites
l You need the Define Derived Elements (Developer) and/or the Web Define
Derived Elements (Web) privileges. These privileges are part of OLAP
Services.
While this procedure creates only Filter derived elements, you can create
any combination of Group, Filter, and Calculation derived elements on a
report or Grid/Graph.
3. To create a new Filter derived element, from the New drop-down list,
select Filter.
Two new derived elements are created, a blank Filter derived element
and an All Other derived element. The All Other derived element is a
collection of all attribute elements that are not included in any of the
other derived elements for the attribute. For further explanation of the
All Other group, see All Other derived element, page 109.
5. From the Definition tab, click Click here to start a new qualification.
7. Click Operator, and then select one of the following operators to create
a filter qualification (for the example scenario, select Where):
l In list: Returns attribute data for the list of attribute elements you
select. Click Value, and then select the attribute elements to return
data for.
l Not in List: Returns attribute data for the list of attribute elements
that are not in the list of attribute elements you select. Click Value,
and then select the attribute elements to exclude data for.
l Where: Returns attribute data based on a filter qualification of an
attribute form. Proceed to the next step to select an attribute form and
complete the filter qualification.
8. For filter qualifications that use the operator Where, new Field,
Operator, and Value fields appear. Follow the steps below to complete
the filter qualification:
a. Click Field, and then select an attribute form. For the example
scenario, select DESC.
b. Click Operator, and then select the operator for the filter
qualification on the attribute form. For the example scenario,
select Begins with.
c. Click Value, and use one of the options to enter in the required
value. For the example scenario, select Type a value, and then
type South.
9. To rename the derived element group, from the Change Group drop-
down list, and select Rename Group. Type a name for the Filter
derived element.
10. From the Property tab, you can make various modifications to the new
derived element such as:
l Displaying derived elements or their attribute elements, page 157
l Applying derived element values to subtotals, page 154
l Displaying derived elements and their attribute elements
simultaneously, page 160
11. From the Change Group drop-down list, you can format derived
element headers and values. For information on these formatting
techniques, see Formatting derived elements, page 163.
12. You can change the order in which the derived elements are displayed
on the report using the up ( ) and down ( ) arrows.
13. You can continue to create more derived elements, or you can click OK
to close the Derived Elements Editor and return to the report. The steps
below continue the example scenario.
14. From the New drop-down list, select Filter. A blank Filter derived
element is created.
15. Select the new derived element.
16. From the Definition tab, click Click here to start a new qualification.
17. Click Field, and then select Region.
18. Click Operator, and then select Where.
19. Click Field, and then select the DESC attribute form.
20. Click Operator, and then select Begins with.
21. Click Value, and then select Type a value, and then type North.
22. To rename the derived element group, from the Change Group drop-
down list, and select Rename Group. Type Northern Regions to
rename the derived element.
23. You can save your derived element for the report or Grid/Graph, or
save the derived element as a stand-alone object that can be used by
multiple reports and Grid/Graphs:
l To save the derived element for the report or Grid/Graph, click OK.
If you used the steps above to create the sample report, the report is
displayed with the regions grouped into Southern Regions and Northern
Regions, along with the Central, Mid-Atlantic, and Web regions.
For example, in a report with Region and Category attributes and a Profit
metric, you can combine the regions on the report into various groups for
profit analysis. The final report you create with Calculation derived elements
is shown below.
The steps below show you how to create a Calculation derived element on a
report, as well as specific instructions to create the sample report shown
above.
Prerequisites
l You need the Define Derived Elements (Developer) and/or the Web Define
Derived Elements (Web) privileges. These privileges are part of OLAP
Services.
While this procedure creates only Calculation derived elements, you can
create any combination of Group, Filter, and Calculation derived elements
on a report or Grid/Graph.
For the example scenario, right click the Region attribute, and
click Derived Elements.
For the example scenario, right click the Region attribute, and
click Derived Elements.
4. Select the new Calculation derived element. This displays the available
attribute elements in the Definition tab.
For the example scenario, the Region attribute elements are displayed.
For the example scenario, select all the attribute elements available
and drag the entire selection to the expression area. This adds all the
attribute elements to the expression area, and automatically use the
addition operator to combine the attribute elements, as shown below.
7. From the Property tab, you can make various modifications to the new
derived element, such as:
l Displaying derived elements or their attribute elements, page 157
l Applying derived element values to subtotals, page 154
18. From the New drop-down list, select Calculation. A blank Calculation
derived element is created.
19. Select the new derived element.
20. On the Definition tab, click f(x). The Insert Function Wizard opens.
21. Select the Greatest function, and click Next. The Arguments page
opens.
22. Click ... (browse) next to Argument 1, and in the Select an Object dialog
box, select Central. Then click OK. Repeat this step for each
successive argument, selecting the following regions:
l Mid-Atlantic
l Northeast
l Northwest
l South
l Southeast
l Southwest
l Web
23. From the Change Group drop-down list, select Rename Group. Type
Greatest Regional Profit to rename the derived element.
24. From the New drop-down list, select Calculation. A blank Calculation
derived element is created.
25. Select the new derived element.
26. On the Definition tab, from the drop-down list select Groups.
27. From the left pane, select Greatest Regional Profit and drag and drop
it into the expression area on the right.
28. Click /.
29. From the left pane, select Total Profit and drag and drop it into the
expression area on the right. Your final expression should appear as
shown below:
30. From the Change Group drop-down list, select Rename Group. Type
Greatest Regional Profit % Contribution to rename the derived
element.
31. You can save your derived element for the report or Grid/Graph, or
save the derived element as a stand-alone object that can be used by
multiple reports and Grid/Graphs:
l To save the derived element for the report or Grid/Graph, click OK.
The Derived Elements Editor closes and you are returned to the
report or document.
If you used the steps above to create the sample report, the report is
displayed with the regions grouped into Total Profit, Average Profit,
Greatest Regional Profit, and Greatest Regional Profit % Contribution.
l Create a derived element from within a report or Grid/Graph and then save
it as a stand-alone object. You can use the Derived Elements Editor to
create and save the derived element as a stand-alone derived element.
You can use this method in MicroStrategy Developer and Web. For
information on creating a derived element within a report or Grid/Graph
using the Derived Elements Editor, see Using the Derived Elements
Editor, page 128.
l All Group, Calculation, Filter, and All Other derived elements are saved as
part of the derived element. You cannot select a subset of the derived
elements; you must save and share the entire collection of derived
elements.
l A stand-alone derived element can only be connected to the attribute that
was used to define the derived element.
l The stand-alone derived element itself can be modified, but you cannot
modify it from within a report or Grid/Graph. Any modifications for the
derived element are applied to the derived element in all of the reports and
Grid/Graphs that it is used in.
l The stand-alone derived element can only be deleted if it is not used in
any report or Grid/Graph. A list of reports and Grid/Graphs that use the
derived element is displayed when you attempt to delete a stand-alone
derived element.
Prerequisites
l You need the Define Derived Elements (Developer) and/or the Web Define
Derived Elements (Web) privileges. These privileges are part of OLAP
Services.
You can now use your derived element in reports connected to Intelligent
Cubes and Grid/Graphs in Report Services documents.
The steps below show you how to apply a stand-alone derived element to an
attribute in a report or Grid/Graph.
For the example scenario, right-click the Region attribute, and click
Derived Elements.
For the example scenario, right-click the Region attribute, and click
Derived Elements.
1. Click Link Derived Elements. The Select Derived Elements dialog box
opens.
2. Browse to and select the derived element to connect to the attribute,
and then click Open.
3. Click OK.
The steps below show you how to modify a stand-alone derived element.
You have the following options in the Derived Elements Editor for applying
derived element values to subtotals. The examples below are all based on
the basic report above.
subtotals You can use this option to avoid from the subtotal, as shown
double counting when an below.
attribute element is included in
more than one derived element.
The steps below show you how to define subtotal behavior for derived
elements.
Pr er eq u i si t es
3. From the Subtotal behavior drop-down list, select one of the following
options:
l Consolidate items into one element (default behavior, except for the All
Other derived element): The derived element's components are displayed
as a single entry with the data of all of its items combined as determined
by the derived element.
For example, in a report with Category and Profit, you create a Group
derived element that combines the Books and Electronics attribute
elements. By keeping the default option, the derived element is displayed
as a single entry on the report, as shown below.
l Keep individual items separate (default behavior for the All Other derived
element): The attribute elements included as items of a derived element
are displayed individually instead of the derived element.
For example, in a report with Category and Profit, you create a Group
derived element that combines the Books and Electronics attribute
elements. You choose to keep the individual options separate, which
displays the separate attribute elements in the report, as shown below.
This is the default for an All Other derived element because it displays all
attribute elements (that were not included in any other derived elements)
as separate attribute elements. This gives the appearance on the report
that these attribute elements are not part of any derived element.
The steps below show you how to define whether derived elements are
displayed as one consolidated entry, or all of the attribute elements that are
items of the derived element are displayed individually.
Prerequisites
4. Click OK.
By default, the All Other derived element only collects attribute elements
that are not included in derived elements, and includes them on the report as
individual attribute elements. For an introduction to the All Other derived
element, see All Other derived element, page 109.
The simple report below is used as an example of how you can display
derived elements and their attribute elements simultaneously.
You have the following options in the Derived Elements Editor to display
derived elements and their attribute elements simultaneously:
l Do not include individual items in the All Other element (default behavior):
The attribute elements that are used to define the derived element are
excluded from the All Other derived element. This means that the attribute
elements are not displayed, only their combined data for the derived
element is displayed.
For example, in a report with Category and Profit, you create a Group
derived element that combines the Books and Electronics attribute
elements. By selecting to keep the default option, the derived element is
displayed on the report but the attribute elements that makes up these
derived elements are not, as shown below.
l Include individual items in the All Other element: The attribute elements
that are used to define the derived element are also included in the All
Other derived element. This means that the attribute elements are
displayed along with the derived elements they are a part of.
For example, in a report with Category and Profit, you create a Group
derived element that combines the Books and Electronics attribute
elements. You select to include the Books attribute element and the
Electronics attribute element in the All Other derived element. This
displays the derived element, as well as the individual Books and
Electronics attribute elements, as shown below.
For example, in a report with Category and Profit, you create a Group
derived element that combines the Books and Electronics attribute
elements. You create a second Group derived element that combines
Electronics and Movies. The report is shown below.
You select to include the attribute elements of the Books and Electronics
derived element in the All Other derived element. Notice that Books is
displayed but Electronics is not displayed, as shown below.
The steps below show how to define whether derived elements are displayed
with their attribute elements simultaneously.
Prerequisites
l You need the Define Derived Elements (Developer) and/or the Web Define
Derived Elements (Web) privileges. These privileges are part of OLAP
Services.
Standard formatting of attributes and metrics lets you format all data for an
attribute or metric. Formatting an attribute applies formatting to the attribute
name and all of its attribute elements. Formatting a metric applies formatting
to the metric name and all of its values across all attribute elements.
For example, the report shown below has derived elements created for the
Region attribute.
Notice that each derived element name has a different format but the
attribute elements for the Category attribute all share the same format.
Prerequisites
2. From the toolbar, from the Change Group drop-down list, point to
Format, and then select from the following options:
In the report shown below, the derived element headers for the
various derived elements are highlighted with a dashed black box, for
the purpose of this example. Be aware that formatting a derived
element's header only applies to the derived element you are
View filters restrict the same data which is used by derived elements to
analyze and display data to meet your reporting needs. Since both of these
OLAP Services features use the same data, it is important to understand
how the two features can be used together to return desired report results.
For information on view filter effects on derived elements and other
reporting features, see View filter effects on reporting features, page 242.
For example, the report shown below includes the Region attribute with East
Coast, West Coast, and Central and South derived elements defined on it.
The metrics are Revenue, Profit, and Profit Margin.
By evaluating the derived elements before the Profit Margin derived metric,
the correct Profit Margin values are displayed for all derived elements and
attribute elements.
3. Choose Data > Report Data Options. The Report Data Options dialog
box opens.
4. Expand the Calculations category, and then select Evaluation Order.
5. Clear the Use default evaluation order check box. This displays all
objects on the report that can have their evaluation order modified.
6. In the Evaluation Order column, select the evaluation orders for each
object in the report.
7. Click OK. The changes to the evaluation order are displayed in the
report. To view the evaluation order of the various objects on the
report, display the report in SQL View.
4. Choose Data > Grid Data Options. The Grid Data Options dialog box
opens.
5. Expand the Calculations category, and then select Evaluation Order.
6. Clear the Use default evaluation order check box. This displays all
objects on the report that can have their evaluation order modified.
7. In the Evaluation Order column, select the evaluation orders for each
object in the report.
8. Click OK.
9. To view the updated Grid/Graph, run the document.
Attributes are one of the most common objects included in the page-by area
of a report. When an attribute is included in the page-by area, you can select
which attribute element to view data for.
For example, the report below on the left includes the attributes Region and
Category, along with the Profit metric. The Region attribute is included in the
page-by area, and Central is selected by default. The report below on the
right displays all the attribute elements available in the page-by area.
If you create derived elements for an attribute included in the page-by area,
the derived elements are available from the page-by field to display their
associated data.
For example, the report below shows East Coast, West Coast, and Central
and South derived elements based on the Region attribute.
If Region is moved to the page-by area, the derived elements are available
for selection from the page-by field, along with the Web attribute element, as
shown below.
You must move attributes from the page-by area to the grid of the report to
create or modify derived elements for the attribute. You can then move the
attribute back to the page-by area once all derived element modifications
are complete.
For example, the report below shows East Coast, West Coast, and Central
and South derived elements based on the Region attribute.
You create two thresholds, the first defined on a metric and the second
defined on an attribute, as shown in the following image.
When the report is executed, only the Profit > 400000 threshold is displayed,
as shown below.
The Profit > 400000 threshold uses the derived element data to determine
when to display the defined formatting.
However, the formatting for the Central and South threshold is not
displayed. This is due to the fact that the separate Central and South
attribute elements are not on the report, and are instead replaced with a
Central and South derived element. While you cannot display this type of
threshold formatting for derived elements, you can still apply formatting to
the data for each derived element, as described in Formatting derived
elements, page 163.
When you drill on attribute elements in a report, the resulting report restricts
the results to data only for the attribute elements used when drilling. For
example, if you drill from the Year 2007 attribute element down to Quarter,
the resulting report only includes quarters that are within 2007.
For example, the report below shows East Coast, West Coast, and Central
and South derived elements based on the Region attribute.
If you drill down from the East Coast derived element to Call Center, the
resulting report shown below returns data for Call Centers within the East
Coast regions (Northeast, Mid-Atlantic, Southeast).
l Region
l Profit
l Revenue
When the document is executed, the data from both datasets is combined,
and derived elements from both datasets are displayed on the combined
Grid/Graph, as shown in the image below:
For attribute elements that are not part of a derived element, such as South
and Southeast, data from both datasets is combined and displayed.
If your datasets contain derived elements with the same name, and
containing the same attribute elements, the data for the derived elements is
combined and displayed in a single row.
D ERIVED M ETRICS
Derived metrics are easy to create and can be made on the fly when you are
viewing a report. A typical case is to create a derived metric to perform
calculations between columns of metric data. For example, a derived metrics
can subtract the data of one metric by the data of another metric (Metric1 -
Metric2) to obtain a new metric calculation.
To see how derived metrics can be used in reports, consider the Derived
Metric report from the MicroStrategy Tutorial project. The report includes a
derived metric that is defined as Revenue/1000, which returns the Revenue
values in thousands of dollars, as shown below.
Notice that in the Report Objects pane to the left of the report (and shown
below), the derived metric is preceded by an f x symbol, instead of the usual
metric symbol, meaning this is a new metric based on the existing metrics in
the report.
Since derived metrics are created within a report, they can only be used for
the report in which they are created. Derived metrics cannot be saved as
individual objects in the project, and therefore cannot be applied to other
reports in the project.
You can create a derived metric in any report. This includes reports
connected to an Intelligent Cube, reports returning information directly
from a data warehouse, Freeform SQL reports returning information from
an Excel spreadsheet, and so on.
Best practices
Follow the guidelines below when creating derived metrics:
l In reports, you can define derived metrics with objects in the Report
Objects pane. The Report Objects are the components included in the
report definition, even if they are not displayed on the report grid.
l A derived metric can be defined with the metrics in the report definition.
The Input Metric Formula dialog box where you create derived metrics
allows you to choose only from objects included in the report definition, as
shown below.
l Attributes included in the report definition are also available to use in the
definition of a derived metric. If you use an attribute as part of the metric
definition, the metric calculation requires new report SQL to be executed
against the data warehouse. This re-execution is not required for derived
metrics that only use metrics in their definitions.
l You can use one or more functions or operators in the formula of the
derived metric. Click the f x button to access available functions and
operators.
l You can use numeric prompts in the formula of the derived metric, which
allows users to determine part of the value of the metric. For example, if
the value of your metric depends on the current tax rate, you can prompt
users to type the current tax rate.
l You can change the level at which a derived metric is calculated. For
example, the derived metric sum(M1) {Attribute1} is calculated at the
Attribute1 level. For information on metric levels, see the Advanced
Reporting Help.
l Any user can modify a derived metric after report execution, since its
formula is visible to all users. If a derived metric should not be modified by
end users, create the metric in the Metric Editor and add it to the report as
a normal metric.
l Transformation objects cannot be used with derived metrics because they
require SQL to be re-executed against the data warehouse.
l View filters can filter the results of a derived metric. A view filter is an
additional filter applied in memory to the report results to restrict the
amount of data displayed on the report. For more information on view
filters, see Chapter 7, View Filters.
If you try to remove an object from the report, a message is displayed that
indicates you cannot remove the object because it is being used by the
derived metric. You can however move an object off the report grid so that
it only appears in the Report Objects pane. This allows you to hide the
object from the report grid and still support any derived metrics that are
dependent on it.
l In Report Services documents that use multiple datasets, you can create
derived metrics that use metrics from different datasets. If you do so, note
the following:
You can create derived metrics with the following methods described in this
section:
l Quickly creating a derived metric in Web, page 185: You can create a
derived metric based on often-used functions, such as Average, by using
the Insert Metric feature in Web.
l Creating a derived metric using the Input Metric Formula dialog box, page
186: You can create any type of derived metric by defining derived metric
expressions using the Input Metric Formula dialog box.
l Using rank and percent-to-total metric analysis , page 191: You can
quickly create derived metrics that display the percent in relation to a
selected total of each item affected by the metric or display a ranking
number to the metric values for a given attribute. These can be quickly
created using shortcut metrics.
You can use the Insert Metric function to create a derived metric that uses
one of the following functions:
l Average
l Count
l Maximum
l Minimum
l Sum
For steps to create a derived metric using any other function, see Creating a
derived metric using the Input Metric Formula dialog box, page 186.
The procedure below describes the high-level steps for creating a derived
metric with the Input Metric Formula dialog box. For an example of creating
a derived metric, see Example: Average profit per customer with
transactions, page 189.
Pr er eq u i si t es
l You need the Create Derived Metrics (Developer) and/or the Web Create
Derived Metrics and Derived Attributes (Web) privileges. These privileges
are part of OLAP Services.
To create a derived metric with the Input Metric Formula dialog box
For details on each option for any of the steps below, click Help.
2. Open the Input Metric Formula dialog box to create a new metric by
performing one of the following steps:
l In Developer: Choose Insert > New Metric.
l In Web: Choose Data > Insert New Metric.
3. The pane on the left displays the Report Objects which shows the
components (attributes, attribute forms, metrics, custom groups,
consolidations, and so on) included in the report, even if the
components are not displayed in the report grid.
l In Developer: Double-click or drag-and-drop an object to use it to
define the derived metric.
l In Web: Select an object and click the arrow to use it to define the
derived metric. This moves the object to the window on the right.
4. Add functions and operators by typing their syntax or characters. You
can also click the f x button to open the Insert Function Wizard, which
guides you through adding functions and operators.
5. Continue to add report components, functions, operators, constant
values, and other valid metric formula objects to complete your formula.
6. To add the level at which to calculate the metric, enclose the metric
formula in parentheses. Type the attribute name between curly braces
{} after the metric formula. If the attribute name contains a space,
enclose the name within brackets []. For example, ([Unit Cost] *
[Units Sold]) {[Customer Name]}, where Unit Cost and Units
Sold are metrics and Customer Name is an attribute. This is a valid
expression.
7. After you have created the expression, you can determine whether the
expression is valid by performing one of the following steps:
l In Developer: Click Validate. An error is displayed if the expression is
invalid.
l In Web: Click Apply. An error is displayed if the expression is invalid.
8. In the Metric Name (Developer) or Name (Web) field, enter a name for
the new metric.
9. Click OK. The Input Metric Formula dialog box closes and the derived
metric is added to the report.
1. Drag-and-drop the Profit metric from the list of Report Objects in the
left pane to the metric definition area on the right.
2. Click the division sign (/) on the operators and functions toolbar. The
division sign should be inserted to the right of the Profit metric.
3. Drag-and-drop the Customer with Transactions metric from the list of
Report Objects to the metric definition area on the right. It should be
placed on the right side of the division sign (/).
4. Click Validate. A green check is displayed in the right-hand corner
below the metric definition area, indicating that the metric definition is
valid.
5. Click OK . The new metric column for the derived metric is displayed in
the report.
The metric is included without any value formatting. Follow the steps
below to format the metric values to be displayed with a currency format.
These can be quickly created using shortcut metrics. Shortcut metrics are a
set of quick metrics you can create on the fly for a given report, based on the
metrics already in the report. Shortcut metrics include:
All the shortcut metrics are derived metrics, except for transformation
shortcut metrics. Transformation shortcut metrics must be calculated in SQL
and are therefore only available to users that have the Modify the List of
Report Objects (Use Object Browser) privilege. Because they must be
calculated, the report re-executes to display the new metric. Transformation
metrics are not covered in this guide, see the Advanced Reporting Help.
Reports are not re-executed when other shortcut metrics are created.
For example, a report contains Sales Region, Sales Representative, and the
Revenue by Sales Representative metric as shown below.
Along with revenue totals for each sales representative, you can also
highlight a sales representative's percent contribution to revenue for their
sales region, as well as company-wide. You insert two percent-to-total
shortcut metrics to display this information, as shown in the report below:
The steps below show you how to create a percent-to-total shortcut metric.
Prerequisites
l You need the Create Derived Metrics (Developer) and/or the Web Create
Derived Metrics and Derived Attributes (Web) privileges. These privileges
are part of OLAP Services.
The report is updated showing your new shortcut metric that displays the
percent-to-totals for the components selected. To edit a shortcut metric, see
Editing derived metrics, page 201. To format the values or headers of a
derived metric, see Formatting derived metrics, page 201.
For example, a report contains Sales Region, Sales Representative, and the
Revenue by Sales Representative metric as shown below.
Along with revenue totals for each sales representative, you can also
highlight sales representatives' relative performances company-wide. You
insert a rank shortcut metric to display this information, as shown in the
report below:
By default, a rank shortcut metric ranks values from low to high in ascending
order. Therefore, the lowest value has a rank of 1 and the highest value has
a rank equal to the total number of items being ranked within a given break-
by grouping. You can change the metric to rank in descending order by
editing the metric.
Refer to the procedure below for steps to create a rank shortcut metric.
Prerequisites
l You need the Create Derived Metrics (Developer) and/or the Web Create
Derived Metrics and Derived Attributes (Web) privileges. These privileges
are part of OLAP Services.
The report is updated showing your new shortcut metric that displays the
ranking for the components selected. To edit a shortcut metric, see Editing
derived metrics, page 201. To format the values or headers of a derived
metric, see Formatting derived metrics, page 201.
Prerequisites
l You need the Create Derived Metrics (Developer) and/or the Web Create
Derived Metrics and Derived Attributes (Web) privileges. These privileges
are part of OLAP Services.
For an example using the Input Metric Formula dialog box, see Creating a
derived metric using the Input Metric Formula dialog box, page 186.
You can format the metric headers and values for a derived metric included
on the report grid. To format a derived metric, right-click the derived metric
on the grid, point to Formatting, and select the derived metrics headers or
values. The Format Cells dialog box opens to modify the derived metric
formatting. For details on each formatting option, click Help. For an example
of creating and formatting a derived metric, see Example: Average profit per
customer with transactions, page 189.
You can also use thresholds with derived metrics in the same ways you can
use thresholds with standard metrics created with the Metric Editor.
Thresholds are used to create conditional formatting for metric values. To
open the Threshold dialog box for a derived metric, right-click the derived
metric on the report grid and select Thresholds. For more information on
thresholds, see the Basic Reporting Help.
If you do not want the derived metric to be saved as part of the report, you
can delete it from the report completely by right-clicking the derived metric
and selecting Remove from Report.
other reporting features, see View filter effects on reporting features, page
242.
VIEW FILTERS
A view filter restricts the amount of data displayed on the report, providing
you with a different view of the data. This new view can provide a new
business perspective for analysis, without having to re-execute the report's
SQL against the data warehouse.
For example, you have a report with Region, Category, and Profit displayed,
as shown in the report below.
After a view filter is applied, the resulting report below includes the following
view filter qualifications:
The view filter's definition is displayed above the report, as shown below.
The following table lists scenarios where you can use view filters to best
support your business model and enhance the analysis of your reports.
Allow multiple users to create Multiple users can define individual view filters to
separate views of data on a single further restrict the data of a report connected to a
report in memory. shared Intelligent Cube.
Perform attribute-to-attribute With the attributes Customer City and Store City
l Comparing view filters to report filters and report limits, page 207
l Creating a view filter, page 214
l Deleting a view filter, page 241
l View filter effects on reporting features, page 242
The main difference between report filters and view filters is how they are
evaluated by the system.
Report filters are a standard MicroStrategy reporting feature that enable you
to filter the data retrieved from the data source. Since report filters are
evaluated by querying the data source, report filters can perform various
types of advanced qualifications, use prompts in qualifications, filter on
objects not included in the report, and so on. For more information on report
filters in general, refer to the Basic Reporting Help and Advanced Reporting
Help.
View filters are an OLAP Services feature that enable you to filter the data
available on a report after its data has been retrieved from a data source.
View filters are evaluated without having to query the data source. While this
enables view filters to be evaluated without the overhead of querying the
data source, it also means that view filters only have access to the data
available on the report. Due to this limited access to data, view filters cannot
perform all of the advanced qualifications possible with report filters.
The table below compares the available features and feature requirements
of view filters and report filters:
Available Available
Features and Feature Requirements in View in Report
Filters Filters
Design considerations
The decision to use a view filter or a report filter to answer your business
questions relies on two key factors, functionality and system management.
View filters and report filters both provide a rich set of filtering
functionalities, which can be used to answer your business questions.
However, since report filters are executed against the data warehouse, more
advanced filtering is supported. You may need to use a report filter to
implement some of your more advanced business questions. For example,
you can define a report filter at report run time by including a prompt in the
filter definition.
Report filters help to reduce the memory size of reports by returning less
data from the data warehouse. These results can be stored in a cache that
decreases the time it takes to access and run the report. The drawback to
this approach is that any modifications to the report filter cause the system
to access the data source again to create a new report definition, which must
be stored in the cache in place of the old definition. The cache still provides
quick access to the new report, but this process causes an extra load on the
system.
View filters can help reduce memory used by reports, by utilizing Intelligent
Cubes. Intelligent Cubes are sets of data that can be shared as a single in-
memory copy, among many different reports created by multiple users.
Filtering on reports connected to Intelligent Cubes is only achievable with
view filters. View filters provide much of the same filtering functionality as
report filters, while allowing multiple users to perform analysis on a single
Intelligent Cube.
Add a report filter (Country = U.S.) that qualifies on the attribute Country,
which is not part of the report's definition. The result is the report shown
below, which contains data for the regions in the U.S. only, as defined in the
report filter.
Although the report filter is based on an attribute not in the report itself, the
report data is still affected because of the relationships among the objects in
the report, which are all part of the same attribute hierarchy.
In contrast, a view filter can be created only on objects that are part of the
report's definition. (The objects in a report's definition are displayed in the
Report Objects pane.) This is because view filters only have access to data
in the Report Objects pane of the report, rather than the entire data
warehouse.
To provide the same type of analysis used in the first report that uses a
report filter, include Country in the Report Objects pane of the report, but
remove it from the grid. With Country in the Report Objects pane, you can
create a view filter to restrict data to Regions in the US, as shown below.
You can define report limits on the value, rank, or percent of the metric value
returned. For example, if you set a report limit of Employee Headcount
greater than (>) 5 in the Employee Headcount by Region report in
the MicroStrategy Tutorial project, the report returns the following results.
An important aspect of report limits is that they are processed by the SQL
Engine after metrics are aggregated. In the report SQL, the report limit
definition is included in the Having clause, instead of the Where clause as
for the report filter. You can observe this in the report's SQL statement,
shown in the image below.
The table below compares the available features and feature requirements
of view filters and report limits:
Available Available
Features and Feature Requirements in View in Report
Filters Filters
For general information on report limits, see the Basic Reporting Help.
Design considerations
A view filter is similar to a report limit in that it can also be applied at the
report level. However, the report limit and the view filter are not
interchangeable. A report limit restricts the size of the report data set that is
returned from the data warehouse. In contrast, the view filter is applied to
the report dataset without altering its size, allowing you to view a subset of
that information. A view filter retrieves information quickly because
Intelligence Server dynamically accesses the data already in the report
results.
Report designers must consider how to balance the memory usage and the
processing power between the data warehouse and Intelligence Server. A
report limit is more efficient in terms of report data size because it does not
return unnecessary information from the data warehouse. Therefore, the
report limit can be used to save space on the Intelligence Server memory.
However, if a report limit is too restrictive, you may need to frequently
redefine the data definition to yield the information users want to see.
On the other hand, a view filter is more flexible, allowing you to refine your
analysis after the report is executed. A view filter gives you more control
over the subset of data retrieved from the database you want to see. The
view filter may be more useful for analysts because it allows analysts to
conduct further investigation and refinement of the report results after the
report is executed against the data warehouse.
You can create a view filter in any report. This includes reports connected to
an Intelligent Cube, reports returning information directly from a data
Refer to the following sections to create a view filter that contains attribute
and/or metric qualifications:
l Filtering data based on business attributes, page 215: Using view filters
based on business attributes, you can view a subset of report data that
focuses on the business data you are interested in.
l When creating an attribute qualification for a view filter, you can either
qualify on a list of attribute elements, or you can qualify on attribute forms:
l Qualifying on a list of attribute elements is achievable by using the In list
or Not in list operators and selecting from a list of attribute elements. For
basic steps to filter on a list of attribute elements, see the procedure To
create a view filter with an attribute qualification, page 217.
l Qualifying on attribute forms is achievable by using the Where operator
and selecting from available attribute forms. For information on
qualifying on attribute forms, see Filtering based on attribute form
qualifications, page 219.
l Filtering data based on metrics, page 221: Using view filters based on
metrics, you can view a subset of report data that focuses on the data
values and ranges you are interested in.
l Combining view filter qualifications with operators, page 240: When a view
filter has multiple qualifications at the same output level, they are always
joined by operators. When qualifications are joined, operators govern the
interaction between the different filtering conditions.
enables another level of report analysis that can highlight business trends
and figures.
For example, the TOP 5 Materials by Net Sales Amount and Quarter
report from the Sales and Distribution Analysis Module is used for this
example. The year 2007 has been selected to answer the prompt on year.
The resulting report is shown below.
The report identifies, for each quarter, the top five materials by net sales
order amount.
Once you review the top 5 materials for each quarter in 2007, you decide to
focus on the UC PCEconomy 100 and UC PCEconomy 200 by creating a
view filter that includes these two materials. The view filter along with the
resulting report is shown below.
The steps below show you how to create a view filter with an attribute
qualification, as well as how to create the example scenario above.
Prerequisites
l You need the Use View Filter Editor (Developer) and/or the Web Use View
Filter Editor (Web) privileges. These privileges are part of OLAP Services.
For the example scenario, log in to the Sales and Distribution Analysis
Module project.
For the example scenario, browse to and run the TOP 5 Materials by
Net Sales Amount and Quarter report. Select the 2007 attribute
element to answer the prompt.
3. If the View Filter area is not displayed, from the View menu, select
View Filter.
4. In the View Filter area, click Click here to start a new qualification.
6. Click Operator, and then select one of the following operators to create
a filter qualification (for the example scenario, select In list):
The report is updated and the report data is restricted as defined by the view
filter. If you define multiple view filter qualifications at the same output level,
you can modify the logical operator used to join the qualifications, as
described in Combining view filter qualifications with operators, page 240.
For information on the output level of view filter qualifications, see
Evaluating qualifications at the report or grid level, page 235.
If you use this view filter with the TOP 5 Materials by Net Sales Amount and
Quarter report, the resulting report is the same as the example scenario in
Filtering data based on business attributes, page 215, which uses the
attribute element qualification Material In list {UC PCEconomy
100, UC PCEconomy 200}.
You can use any of the following operators in attribute form qualifications.
These operators are described in detail in Appendix A, Logical and
Mathematical Operators for Filtering in the Advanced Reporting Help:
Exactly
Different
from
Greater
than
Less than
Comparison Operators
Greater
Comparison operators compare values. The values than or
can be numbers, text strings, or expressions. equal to
Less than or
equal to
Between
Is Null
Is Not Null
Like
Not Like
Contains
Does not
Pattern Operators contain
Ends with
Does not
end with
For example, review the 16 View Filter - Metric Qualification report from
the Tutorial project, shown below.
This report returns revenue, cost, and profit data for employees, while also
displaying the region the employee is in. The view filter restricts the report
results to only return data for those employees who generated less than
$500,000 in revenue. This reduces the large number of employee results to
a smaller set of employees that are generating a relatively low amount of
revenue.
When creating metric qualifications in a view filter, you can use various
logical and mathematical operators. You can use any of the following
operators in metric qualifications. These are described in detail in Appendix
A, Logical and Mathematical Operators for Filtering in the Advanced
Reporting Help:
l Exactly
l Different from
l Greater than
l Less than
l Greater than or equal to
Once you select an operator, you can either type in a value or select a
metric to return the value to qualify on.
You can also qualify on the rank or percentage of a metric value for a given
report. For example, you can restrict the report shown above to display all
data for employees in the bottom 20% of revenue. For information on using
view filters to restrict report results based on ranks or percentages of metric
data, see Filtering metrics on rank and percentage ranges, page 226.
The steps below show you how to create a view filter with a metric
qualification, as well as how the example scenario above was created.
Prerequisites
l You need the Use View Filter Editor (Developer) and/or the Web Use View
Filter Editor (Web) privileges. These privileges are part of OLAP Services.
For the example scenario, browse to and run the 16 View Filter -
Metric Qualification report.
3. If the View Filter area is not displayed, from the View menu, select
View Filter.
4. In the View Filter area, click Click here to start a new qualification.
You can also create a new view filter qualification on a metric by right-
clicking a metric, pointing to Filter On, and selecting Add Condition.
7. Click Value, and then select Type a value, or select a metric to return
the value to qualify on.
For the example scenario, select Type a value, and then type 500000.
The report is updated. The report data is restricted as defined by the view
filter. If you define multiple view filter qualifications at the same output level,
you can modify the logical operator used to join the qualifications, as
described in Combining view filter qualifications with operators, page 240.
For example, you can create a report that restricts the data to profit margins
greater than last year's profit margins. The report shown below includes
Year, Region, Profit Margin, and Profit Margin (Last Year), and was created
in the MicroStrategy Tutorial project.
You can create a view filter to then restrict the data on the report to profit
margins greater than last year's profit margins. The metric-to-metric
qualification and resulting report are shown below.
You can now review when regions had increases in profit margins. For
example, from the report above you can determine that the Northwest and
Southeast regions have shown increases in profit margins from 2006 to
2007.
You can take advantage of view filters' ability to update the report results
without having to re-execute SQL against the data warehouse to perform
further quick analysis. For example, you can switch the operator from
Greater Than to Less Than to quickly switch to a view of data for profit
margins that are less than the previous year's profit margins. The metric-to-
metric qualification in the view filter and resulting report are shown below.
The steps below show you how to create a view filter with a metric-to-metric
qualification, as well as how the example scenario above was created.
For the example scenario, create a report with Year, Region, and Profit
Margin on the report. Create a metric that returns a transformation of
last year's profit margin values, and name the metric Profit Margin (Last
Year). For details to create a transformation metric, see the Advanced
Reporting Help.
3. Choose View > View Filter > Click here to start a new qualification.
You can also create a new view filter qualification on a metric by right-
clicking a metric, pointing to Filter On, and selecting Add Condition.
6. Click Value, and then select a metric to return the value to qualify on.
The report is updated. The report data is restricted as defined by the view
filter. If you define multiple view filter qualifications at the same output level,
you can modify the logical operator used to join the qualifications, as
described in Combining view filter qualifications with operators, page 240.
It is important to understand the operators that are available for these types
of view filters. When creating view filter qualifications on the rank or
percentage ranges of metric values, you can use the following mathematical
and logical operators, which are described as they relate to rank and percent
metric qualifications in the table below:
In Developer, all of the operators listed below can be used to create rank
and percent metric qualifications as part of a view filter. Rank and percent
metric qualifications using any of these operators can be viewed in
MicroStrategy Web. However, only the Is Highest (referred to as Highest or
Highest% in Web) and Is Lowest (referred to as Lowest or Lowest% in Web)
can be used to create or modify rank and percent metric qualifications in
Web.
• For rank ranges, this restricts a report to data for only one specific rank.
For example, a rank range defined as Exactly 1 returns data for only the
highest value of a given metric. This scenario produces the same results
Exactly as using the Is Highest operator described below in this table.
• For percent ranges, this operator has limited value. This is because it
restricts a report to data that is exactly a specific percentage.
Percentages are not always integer values and therefore it is difficult to
predict what percentage would return meaningful results.
Identifies values that are other than the specific value indicated:
l For rank ranges, this restricts a report to data for only ranks that are
different from the given value. For example, a rank range defined as
different from 1 returns data for all ranks except the highest value of a
given metric.
Different
from l For percent ranges, this operator has limited value. This is because it
restricts a report to data that is different from a specific percentage.
Percentages are not always integer values and therefore it is difficult to
predict what percentage would return meaningful results. In most cases,
using this operator with percent metric qualifications does not restrict any
data.
Identifies values in a range that has both a lower and an upper limit:
l For rank ranges, you can provide a lower and upper rank limit. For
Between
example, you can display only ranks 20 through 40.
l For percent ranges, you can provide a lower and upper percentage limit.
For example, you can display only data with metric values between 20%
and 40% of all values.
Identifies values in a range that has both a lower and an upper limit. Data is
restricted for any values outside of this range:
l For rank ranges, you can provide a lower and upper rank limit. For
example, you can display only ranks not between 20 through 40. This
Not
displays ranks 1 through 19 and 41 and down.
Between
l For percent ranges, you can provide a lower and upper percentage limit.
For example, you can display only data with metric values not between
20% and 40% of all values. This displays data with metric values between
1% and 19% and between 41% and 100%.
Identifies values that are null. Using the rank or percent metric qualifications
is not necessary with this operator. To return all data where metric values
Is Null
are Null, you can simply create a view filter metric qualification on the metric
that uses the Is Null function.
Identifies values that are not null. Using the rank or percent metric
qualifications is not necessary with this operator. To return all data where
Is Not Null
metric values are not null, you can simply create a view filter metric
qualification on the metric that uses the Is Not Null function.
l For rank ranges, you can provide a topmost rank range. For example, you
Top can display only data within the top 20 rank range.
l For percentage ranges, you can provide a topmost percentage range. For
example, you can display only data within the top 20% range.
l For rank ranges, you can provide a lowest rank range. For example, you
Bottom can display only data within the bottom 20 rank range.
l For percentage ranges, you can provide a lowest percentage range. For
example, you can display only data within the bottom 20% range.
Exclude top Identifies a value range that is not in the topmost value range in a given set:
l For rank ranges, you can provide a topmost rank range to exclude from
the report results. For example, you can display only data that excludes
the top 20 rank range.
l For percentage ranges, you can provide a topmost percentage range to
exclude from the report results. For example, you can display only data
that excludes the top 20% range.
Identifies a value range that is not in the lowest set of values in a given set:
l For rank ranges, you can provide a lowest rank range to exclude from the
report results. For example, you can display only data that excludes the
Exclude
bottom 20 rank range.
bottom
l For percentage ranges, you can provide a lowest percentage range to
exclude from the report results. For example, you can display only data
that excludes the bottom 20% range.
Identifies the highest value. This operator should only be used with rank
Is Highest ranges. For rank ranges, this restricts report results to display data for only
the highest value of a given metric.
Identifies the lowest value. This operator should only be used with rank
Is Lowest ranges. For rank ranges, this restricts report results to display data for only
the lowest value of a given metric.
You can create a view filter that restricts report results based on a rank
range of metric values for a given report. This can allow you to view analysis
such as the bottom 20 products in terms of profit margin. Further analysis
can be explored on this rank range of products to determine how to increase
profit margins for these products, or decide which products should be
discontinued.
This type of report and analysis can be created in the MicroStrategy Tutorial
project. You first create a report with Item, Revenue, Profit, and Profit
Margin on the report, as shown below.
Only a subset of the report results are shown above, but notice that data for
360 items have been returned. To narrow the analysis of the report, you
create a view filter to restrict the report results to the bottom 20 products in
terms of profit margin. The view filter and resulting report are shown below.
With this updated report, you can now perform further analysis on each item
to determine a strategy to improve your profit margins.
Notice that the view filter above uses the Bottom operator.
The steps below show you how to create a view filter with a rank metric
qualification, as well as how the example scenario above was created.
Prerequisites
l You need the Use View Filter Editor (Developer) and/or the Web Use View
Filter Editor (Web) privileges. These privileges are part of OLAP Services.
For the example scenario, create a report with Item, Revenue, Profit,
and Profit Margin on the report, as shown in Creating a view filter on a
rank range of metric values, page 229.
3. If the View Filter area is not displayed, from the View menu, select
View Filter.
4. In the View Filter area, click Click here to start a new qualification.
7. Click Value, and then select Type a value. Type the value for the rank
number you want to restrict data to.
The report is updated. The report data is restricted as defined by the view
filter. If you define multiple view filter qualifications at the same output level,
you can modify the logical operator used to join the qualifications, as
described in Combining view filter qualifications with operators, page 240.
You can create view filters that restrict report results based on a percent
range of metric values for a given report. This can allow you to view analysis
such as employees between 30% and 60% of tenure length with the
company. You can then explore performance metrics within this percentage
range of employees and determine where promotions and other actions are
necessary.
For example, you create a report with Year, Region, Category, Revenue, and
Profit on the report, with Category not displayed on the report grid, as shown
below.
You decide to analyze this report to show only the data that is within the top
10% of profit. The view filter and resulting report are shown below.
With this analysis, you can now perform further analysis to determine why
profit was at its highest during these years and within these regions.
Notice that the view filter above uses the Top operator.
The steps below show you how to create a view filter with a percent metric
qualification, as well as how the example scenario above was created.
For the example scenario, create a report with Year, Region, Category,
Revenue, and Profit on the report with Category not displayed on the
report grid.
3. Choose View > View Filter > Click here to start a new qualification.
6. Click Value, and then select Type a value.Type the value for the rank
number you want to restrict data to.
The report is updated. The report data is restricted as defined by the view
filter. Further analysis on this report is performed to demonstrate how you
can change the level of evaluation for view filter metric qualifications.
If you define multiple view filter qualifications at the same output level, you
can modify the logical operator used to join the qualifications, as described
in Combining view filter qualifications with operators, page 240.
Dynamic aggregation enables you to remove attributes from the report grid,
but keep them as part of the report definition. The action of moving
attributes on or off of the report grid aggregates the metric values at the new
level of the report. For information on dynamic aggregation, see Chapter 9,
Dynamic Aggregation.
For example, you create a report with Year, Region, Category, Revenue, and
Profit on the report, with Category not displayed on the report grid, as shown
below.
You can use dynamic aggregation to drag and drop the Category attribute
from the report grid to the Report Objects pane. This allows Category to
affect the report level without being displayed on the grid.
You decide to analyze this report to show only the data that is within the top
10% of profit. The view filter and resulting report are shown below.
Notice that only two rows of data are returned. The metric qualification has
been evaluated at the level of the report grid, which is Year and Region. This
gives you a view of data within the top 10% of profit for the data displayed on
the report grid.
However, this report also includes the Category attribute in the Report
Objects pane. Since this attribute is available on the report, you can also
view data within the top 10% of profit at the Category, Region, and Year
level. Evaluating the metric qualification at this level returns the report
results shown below.
Notice that there are many more rows of data that are within the top 10% of
profit. This is because Category is now included in the calculation of the
metric qualification. While this evaluation option for metric qualifications
returns a different type of analysis, the same analysis can be achieved by
simply adding all attributes from the Report Objects pane onto the report
grid, so that all attributes are then present on the report grid.
You can join metric qualifications evaluated at the grid level to any other
metric qualifications evaluated at the grid with logical operators, as
described in Combining view filter qualifications with operators, page 240.
You can also join metric qualifications evaluated at the report level to
attribute qualifications or other metric qualifications evaluated at the
report level with logical operators, as described in Combining view filter
qualifications with operators, page 240.
filter data before any derived metric calculations are applied. For more
information, see View filter effects on derived metrics, page 242.
The steps below show you how to modify the evaluation of metric
qualifications in a view filter.
Prerequisites
• A report with a metric qualification in the view filter that is not a metric-to-
metric qualification.
• To observe how this modification can affect report results, the report
should also have some attributes in the Report Objects pane, but not on
the report grid.
4. In the View Filter area, right-click a metric qualification and select one
of the following options, which you can switch between:
5. Select Apply.
The report is updated. The report data is restricted as defined by the view
filter.
l AND
l OR
l OR NOT
l AND NOT
You cannot change the logical operator between two metric qualifications if
all of the following are true:
l The metric qualifications use two different metrics (for example, Revenue
in Qualification 1 and Profit in Qualification 2).
l The metric qualifications are not metric-to-metric qualifications, but
However, you can modify the output level of metric qualifications. If you
modify a metric qualification to be evaluated at the report level, the metric
qualification can be joined with attribute qualifications and with any other
metric qualifications that have been defined to be evaluated at the report
level. Metric qualifications evaluated at the report level cannot be joined
with metric qualifications evaluated at the grid level. For information on the
benefits of evaluating metric qualifications at the report level versus the grid
level, see Evaluating qualifications at the report or grid level, page 235.
1. In an opened report with a view filter, choose View Filter > Clear.
2. If you do not have Auto-Apply changes selected, click Apply. If you
only perform Clear without Apply, the view filter appears in the report
the next time you open it.
A derived metric uses the data available on a report to calculate its values.
Since view filter qualifications restrict the data displayed on the report, this
can also restrict the data available for derived metrics, depending on the
evaluation order of the two objects. This restriction of data, combined with
derived metrics with relative functions that depend on other values on the
report, can effect the display of report results.
The view filter effects on derived metrics with relative functions depends on
how view filters are used in such reports, as described in the sections listed
below:
l Using view filters that affect derived metrics with relative functions, page
243: Derived metrics with relative functions such as RunningSum or Rank
return values that are relative to other values on a report. When data is
restricted by view filter qualifications on other objects of a report, you can
allow the values of derived metrics with relative functions to calculate their
relative values based on the new view of report data.
l Using derived metrics with relative functions in view filters, page 245:
Derived metrics with relative functions such as RunningSum or Rank
return values that are relative to the data on a report. When derived
metrics with relative functions are used to define view filters, you can
allow the relative values to reflect the new view of data or retain the
relative values for all report data.
Notice that the 12 rows are ranked in ascending order from 1 to 12 by their
profit margin values. You then create a view filter qualification to display
data only when profit is less than $1,000,000. The view filter and resulting
report are shown below.
Notice that while some data no longer appears on the report, the values of
the Rank (Profit Margin) derived metric remain the same. This allows you to
view the rank of profit margins as applied over all the data for the report,
including the data that has been filtered from view.
Since the Rank (Profit Margin) metric is a derived metric, you can modify the
report so that the metric's values are relative to the new view of data
supplied by the view filter, as shown in the report below.
l Evaluate the view filter qualification at the report level. This causes the
view filter to be evaluated before any derived metrics. The derived metrics
then calculate their data using the view of data created by the view filter.
For information on evaluating view filter qualifications at the report level,
see Evaluating qualifications at the report or grid level, page 235.
l Evaluate the view filter qualification at the grid level and change the
evaluation order of derived metrics to be calculated after the view filter.
For information on changing the evaluation order of individual report
objects such as view filter qualifications and derived metrics, see the
Advanced Reporting Help.
allow the relative values to reflect the new view of data, or retain the relative
values for all report data.
When derived metrics with relative functions are used to define view filters,
you can allow the relative values to reflect the new view of data or retain the
relative values for all report data.
Notice that the percent-to-total values display the distribution of profits over
all 12 rows of data. You then create a view filter qualification based on the
percent-to-total derived metric to display data only when the percent-to-total
profit is less than two percent (.02). The view filter and resulting report are
shown below.
While it appears that data is being shown for percent-to-totals greater than
two percent, this is because the Percent to Total Over Rows (Profit) derived
metric values have dynamically changed to reflect the new view of data
displayed on the report. A grand total is displayed to show that the derived
metric values add up to 100%, even though these rows of data combined
account for less than four percent of the profits of the original report. This
analysis is applied because the view filter qualification is evaluated at the
report level by default.
Notice that the percent-to-total profit values now appear to be less than two
percent and reflect the values of the original report that included all report
data. This is also reflected in the grand total of 3.28%.
As these scenarios illustrate, you have two options to evaluate view filter
qualifications based on derived metrics with relative functions, summarized
below:
l Evaluate the view filter qualification at the report level (default). This
causes the derived metric values to dynamically reflect the new view of
data on the report after the view filter qualification is applied.
l Evaluate the view filter qualification at the grid level. This causes the
derived metric to retain its values that reflect all data available for the
report.
For example, consider a report with Customer Group, Year, Average Net
Sales Order Amount per Customer, and RunningAvg (Average Net Sales
Order Amount per Customer), as shown below.
You then create a view filter to restrict data to only years 2007 and 2008.
The view filter qualification and resulting report are shown below.
Notice that the values for the RunningAvg (Average Net Sales Order Amount
per Customer) metric do not change, only the 2006 values are hidden. The
values displayed do not accurately reflect the view of data and instead
reflect the data available for the entire report, including the 2006 data
hidden from view.
If you plan to use metrics with relative functions and require them to reflect
the data displayed on the report, you can use one of the options summarized
below:
l Use report filters rather than view filters. A report filter causes a report to
re-execute its SQL against the data warehouse, which can cause more
processing time than a view filter. However, this allows a metric with a
relative function to recalculate its values based on the filtering criteria.
l Use derived metrics with relative functions rather than standard metrics.
Derived metrics can be evaluated after view filters and thus reflect the
A view filter also dynamically affects the data returned for a report, by
restricting the report data using various types of qualifications. You can use
both view filters and dynamic aggregation to return different analyses of
report data, as described in the sections listed below:
For example, consider the View Filter - Dynamic Aggregation report in the
MicroStrategy Tutorial project, as shown below.
Notice that dynamic aggregation has been used to remove the Employee
attribute from the report grid. However, there is also a view filter attribute
qualification on the Employee attribute. Even though Employee is not shown
on the report, the data displayed is restricted by the view filter to only
display data for the employees Caitlin Bell, Beatrice Conner, Andrew
Johnson, Laura Kelly, and Jack Kieferson. This can be verified by using
dynamic aggregation to drag and drop Employee on the report grid, as
shown below.
For example, consider the View Filter - Dynamic Aggregation report in the
MicroStrategy Tutorial project, as shown below.
Notice that dynamic aggregation has been used to remove the Employee
attribute from display on the report grid. You then create a view filter metric
qualification to restrict the report data for profits greater than $300,000. The
view filter qualification and resulting report are shown below.
The view filter metric qualification is evaluated at the grid level by default.
This means that the dynamic aggregation of removing Employee from the
report layout is evaluated first, and then the view filter metric qualification
restricts data based on the remaining data displayed on the report.
With this evaluation order, the view filter metric qualification returns regions
with profits greater than $300,000.
However, you can also evaluate view filter metric qualifications at the report
level. You can right-click the Profit Greater than $300,000 qualification, and
select Apply Condition at the {Employee, Region} level. Evaluating the
metric qualification at the report level returns the report results shown
below.
Notice that only data for the Northeast region is returned, and all metric
values are lower. This is because a view filter metric qualification evaluated
at the report level includes all attributes, in the calculation to restrict data
from the report.
Data is first restricted to employees with profits greater than $300,000, and
then this data is aggregated and displayed at the region level. In the first
report the Southwest region included two employees who combined to have
more than $300,000 in profit, but neither employee had more than $300,000
alone. These employees are restricted by the view filter and are not included
when aggregating the data at the region level.
These two options provide two different types of analysis on report data,
summarized below:
In the example above, any regions with profits greater than $300,000 for
the included employees are displayed on the report.
In the example above, any employees with profits greater than $300,000
for the included employees are displayed on the report. The data for any
remaining employees is then aggregated and displayed at the region level.
The Music and Movies derived element combines the profit values for the
Music attribute element and Movies attribute element. You then create a
view filter qualification that restricts the report data to the individual Movies
attribute element and Electronics attribute element. The report results are
shown below.
Notice that the Music and Movies derived element is still displayed, but the
profit value has decreased. This is because the view filter has restricted the
data to only Movies and Electronics. The Music and Movies derived element
can only return profit values for the available Movies attribute element data.
When using view filters and derived elements on the same report, be aware
that any view filter qualifications restrict the data available to analyze and
format with derived elements.
D YN AM IC SOURCIN G
This can improve the performance of reports, which get executed against an
Intelligent Cube, without having to manually find and select the Intelligent
Cube that fits the analysis of the report. If the data requirements for the
report change, or cannot be satisfied by an available Intelligent Cube, the
reports automatically access the data warehouse to return the required
information.
This section also discusses how you can tune your project to better support
dynamic sourcing for these features, as described in Tuning your project for
dynamic sourcing, page 259.
For information on the various features that are supported for dynamic
sourcing, see Best practices for supporting dynamic sourcing, page 261.
You can improve the chances that a report will use dynamic sourcing by
making more Intelligent Cubes available to it. When creating additional
Intelligent Cubes, however, you must consider that Intelligent Cubes can
consume a significant amount of Intelligence Server's memory. If you can
determine the objects and type of analysis most commonly used in reports,
you can use this information to tailor the Intelligent Cubes to these
requirements.
l The attribute elements in fact and lookup tables are not identical.
l The report and Intelligent Cube must be based on the same source MDX
cube.
l Filters on the report must meet the following criteria:
l Attributes used in the filter should also be on the Intelligent Cube's
definition.
l The report filter must include at least the same restrictions as the
Intelligent Cube's filter, if present. For example, if the Intelligent Cube
restricts data to only the year 2010, the report must include the same
restriction.
l Security filters
l Compound attributes and joint element lists
l Conditional metrics
l Prompts in a report
l Transformation metrics, under the following conditions:
l A metric with the same formula and transformation exists in the
Intelligent Cube.
l For the hierarchy used for the transformation, the report must be
calculated at the same level as the Intelligent Cube. For example, if the
transformation is along the Time hierarchy and the Intelligent Cube is
calculated at the Month level, the report must also be calculated at the
Month level.
l Metrics that include Count, Sum, Min, or Max in their formulas
l Metrics that include Count Distinct in their formula for reports and
Intelligent Cubes that share the same level of attribute data
l Nested metrics for which the inner metric and all attributes used for
aggregation are available in the Intelligent Cube
l Non-aggregatable metrics for which the non-aggregation attribute is
available in the Intelligent Cube
l Filter qualifications including the functions Exactly, Different from, In list,
Not in list, Greater than, Less than, Greater than or equal to, Less than or
equal to, Between, Not Between, Is Null, and Is Not Null for data types
Numeric, BigDecimal, DateTime, and String
l OLAP Services features in the report, including:
l View filters
l Derived metrics
l Dynamic aggregation
l OLAP features used in a report, such as:
l Pivoting
l Banding
l Thresholds
l Page-by
l Outline mode
l Sorting
l Subtotals
l Features that prevent reports from using dynamic sourcing, page 265
l Features that prevent Intelligent Cubes from being available for dynamic
sourcing, page 266
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
l Consolidations
l Custom groups
l Query Builder or Freeform SQL reports cannot use dynamic sourcing.
l Set qualifications in the report filter or metric conditions:
l Metric qualifications
l Relationship qualifications that do not include a filter in their definition,
or that use a Relate By option other than Use System Default.
l OR logical operator used in the report filter to combine qualifications
which include different attributes or attribute forms.
l AND NOT or OR NOT logical operators
l Metrics that use passthrough functions such as ApplySimple.
Alternatively, facts can be defined using passthrough functions such as
ApplySimple. These facts can then be used to create metrics, which can
be used on reports that can support dynamic sourcing.
l Freeform MDX metrics. On reports based on MDX data sources, these are
analogous to metrics with passthrough functions.
l Metrics that use facts with extensions or degradations
l Data marts
l Report as filter used in the report filter
l Using any of the options listed below for the following VLDB properties:
VLDB property Options that prevent report from using dynamic sourcing
Preserve all rows for metrics higher than template level without report
Downward filter
outer join
Do not do downward outer join for database that support full outer join
OLAP function • The report has metrics that use Rank or NTile functions
support
• The report has metrics that use functions with a SortBy
parameter
If the features listed below are present in an Intelligent Cube the features
may not be available for dynamic sourcing, but the rest of the Intelligent
Cube may be able to support dynamic sourcing:
l Metrics that use facts with fact extensions or degradations are not
available for dynamic sourcing.
l Conditional metrics are not available for dynamic sourcing. Conditional
metrics are described in the Advanced Reporting Help.
l Compound metrics that are not defined as smart metrics in an Intelligent
Cube are not available for dynamic sourcing.
l Full refresh
l Dynamic refresh
l Insert and Update, only if data is being updated for one attribute form
l Update Only
l Insert, Update and Delete, only if the data is being updated for one
attribute form
In general, you must enable projects, reports, and Intelligent Cubes for
dynamic sourcing. Depending on the objects available in or accessed by the
reports and Intelligent Cubes, you may also need to define other objects as
available for dynamic sourcing. The sections listed below describe the
requirements and considerations for configuring dynamic sourcing for
various aspects of the MicroStrategy system:
The steps below show you how to enable or disable dynamic sourcing for
projects as well as define default dynamic sourcing behavior for Intelligent
Cubes.
l Allow dynamic sourcing even if outer join properties are not set:
Select this check box to allow reports to connect to Intelligent Cubes
using dynamic sourcing even when some outer join properties are not
defined. However, this can cause reports to return incorrect data in
scenarios when outer joins would be helpful.
For example, a report includes the attribute Day and the metric
Revenue. It connects to an Intelligent Cube that includes the attribute
Day, and the metrics Revenue and Cost. For some days there is data
for Revenue, but no data for Cost. If the Intelligent Cube does not
support any outer joins, then the data for Revenue for which there is
no data for Cost is not included in the final result. In this scenario, the
report cannot return complete information from the Intelligent Cube
without outer joins.
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
sourcing behavior for these objects. While this defines the default behavior,
any modifications to the VLDB properties for a specific report, attribute, or
metric take precedence over the project-wide default.
The steps below show you how to access the dynamic sourcing VLDB
properties for a project to define project-wide defaults, and includes links to
information on how to set VLDB properties for each object type.
To reduce data transfer time used for fetching non-ID attribute forms, you
can use an attribute form caching Intelligent cube. Cache the attribute forms
using this cube and when there is requirement to fetch non-ID attribute
forms, the attribute form caching cube is used instead of database.
Prerequisites
3. You can remove the system hierarchy and add your own attributes into
the template and include specific attribute forms for caching.
To use an attribute form caching cube, you must enable dynamic sourcing at
the project level.
If multiple attribute form caching cubes are available, only the latest
published cube is used.
You can enable or disable dynamic sourcing for reports by modifying the
Enable Dynamic Sourcing for Report VLDB property.
You can enable dynamic sourcing for reports individually or you can enable
dynamic sourcing for all reports within a project. While the definition of the
VLDB property at the project level defines a default for all reports in the
project, any modifications at the report level take precedence over the
project level definition. For information on accessing the VLDB Properties
Editor for a project to define a default dynamic sourcing option for all
reports, see Accessing the dynamic sourcing VLDB properties for a project,
page 270.
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
By default, dynamic sourcing is disabled for Intelligent Cubes, and they are
therefore unavailable for reports checking whether Intelligent Cubes can
satisfy their data requirements.
While enabling dynamic sourcing for Intelligent Cubes at the project level
defines a default for all Intelligent Cubes in the project, any modifications for
The steps below show you how to enable or disable dynamic sourcing for an
individual Intelligent Cube.
For example, a report includes the attribute Day and the metric
Revenue. It connects to an Intelligent Cube that includes the attribute
Day and the metric Revenue, and it also includes the metric Cost. For
some days there is data for Revenue, but there is no data for Cost. If
the Intelligent Cube does not support any outer joins, then the values
for Revenue which do not have corresponding values for Cost aren't
returned. In this scenario, the report cannot return complete
information from the Intelligent Cube without outer joins.
You can define your Intelligent Cube to support and use outer joins
when necessary. This ensures all data is returned. However, outer
joins can cause additional load on your database and require larger
Intelligent Cubes. You can enable this support by defining the Metric
Join Type, described below.
l Metric Join Type: Any metrics included in the Intelligent Cube that
are to be available for dynamic sourcing must be defined to use
outer joins in the Intelligent Cube. With the Intelligent Cube open,
from the Data menu, select Report Data Options. In the Report
Data Options dialog box, expand Calculations, and select Metric
Join Type. For each metric to make available for dynamic sourcing,
change the Join Type to Outer. Click OK.
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
Two scenarios can cause attributes that use inner joins to return incorrect or
incomplete data when dynamic sourcing is used:
• All attribute elements in fact tables are not also present in lookup tables.
If some attributes fit these scenarios, you can disable dynamic sourcing
when these attributes are used in reports and Intelligent Cubes. You can
enable and disable dynamic sourcing for attributes by modifying the
Attribute Validation VLDB property. This VLDB property has the following
options:
You can disable dynamic sourcing for attributes individually or you can
disable dynamic sourcing for all attributes within a project. While the
definition of the VLDB property at the project level defines a default for all
attributes in the project, any modifications at the attribute level take
precedence over the project level definition. For information on accessing
the VLDB Properties Editor for a project to define a default dynamic sourcing
option for all attributes, see Accessing the dynamic sourcing VLDB
properties for a project, page 270.
The steps below show you how to disable or enable dynamic sourcing for an
individual attribute. If your database is case-sensitive, you should also
review Supporting filtering on attributes for dynamic sourcing, page 282 to
ensure that dynamic sourcing can correctly return data for your attributes.
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
Consider a filter qualification that filters on customers that have a last name
beginning with the letter h. If your database is case-sensitive and uses
uppercase letters for the first letter in a name, a filter qualification using a
lowercase h is likely to return no data. However, this same filter qualification
on the same data stored in an Intelligent Cube returns all customers that
have a last name beginning with the letter h, uppercase or lowercase.
You can modify this VLDB property for attributes individually or you can
modify it for all attributes within a project. While the definition of the VLDB
property at the project level defines a default for all attributes in the project,
any modifications at the attribute level take precedence over the project
level definition. For information on accessing the VLDB Properties Editor for
a project to define a default dynamic sourcing option for all attributes, see
Accessing the dynamic sourcing VLDB properties for a project, page 270.
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
If the fact table that stores data for metrics includes NULL values for metric
data, this can cause metrics that use inner joins to return incomplete data
when dynamic sourcing is used. This scenario is uncommon.
If some metrics do fit this scenario, you can disable dynamic sourcing when
these metrics are used in reports and Intelligent Cubes. You can enable and
disable dynamic sourcing for metrics by modifying the Metric Validation
VLDB property. This VLDB property has the following options:
l Enable dynamic sourcing for metric: This is the default option for
metrics, which enables metrics for dynamic sourcing.
l Disable dynamic sourcing for metric: This option disables dynamic
sourcing for metrics. This setting should be used if your metric data is not
modeled to support dynamic sourcing. For example, the inclusion of
NULLs in fact tables that contain your metric data can cause incorrect data
to be returned to reports from Intelligent Cubes through dynamic sourcing.
You can disable dynamic sourcing for metrics individually or you can disable
dynamic sourcing for all metrics within a project. While the definition of the
VLDB property at the project level defines a default for all metrics in the
project, any modifications at the metric level take precedence over the
project level definition. For information on accessing the VLDB Properties
Editor for a project to define a default dynamic sourcing option for all
metrics, see Accessing the dynamic sourcing VLDB properties for a project,
page 270.
You can track various information related to dynamic sourcing that can help
determine why dynamic sourcing succeeded or failed for reports, as
described in Tracking the use of dynamic sourcing, page 302.
If some aggregate tables do fit these scenarios, you can disable dynamic
sourcing when these aggregate tables are used in reports and Intelligent
Cubes. You can enable and disable dynamic sourcing for aggregate tables
by modifying the Aggregate Table Validation VLDB property. This VLDB
property has the following options:
You can disable dynamic sourcing individually for reports that use aggregate
tables or you can disable dynamic sourcing for all reports that use aggregate
tables within a project. While the definition of the VLDB property at the
project level defines a default for all reports in the project, any modifications
at the report level take precedence over the project level definition. For
information on accessing the VLDB Properties Editor for a project to define a
default dynamic sourcing option for all metrics, see Accessing the dynamic
sourcing VLDB properties for a project, page 270.
Prerequisite
dynamic sourcing.
l Aggregate tables contain either less data or more data than
their corresponding detail tables and/or the aggregation
function is not SUM: This option disables dynamic sourcing for
aggregate tables. This setting should be used if your aggregate
tables are not modeled to support dynamic sourcing.
7. Click Save and Close to save your changes to VLDB properties and
close the VLDB Properties Editor.
8. Click Save and Close to save the report and close the Report Editor.
l Creates the Intelligent Cubes you select to create to support your dynamic
sourcing strategy. These Intelligent Cubes are created in a folder along
with shortcuts to all the reports that can connect to the Intelligent Cube
using dynamic sourcing. For information on creating Intelligent Cubes
using Cube Advisor, see Reviewing and creating recommended Intelligent
Cubes, page 294.
l Enable dynamic sourcing for the project and other aspects of the
MicroStrategy system.
l Create the metric levels log file used to track the use of dynamic sourcing.
l Locate and execute the MicroStrategy Enterprise Manager report to
provide additional performance benefit information on each Intelligent
Cube recommended by Cube Advisor. This is an optional prerequisite.
Cube Advisor uses this log file to help recommend and create Intelligent
Cubes to support dynamic sourcing. The steps below show you how to
create this log file using the MicroStrategy Diagnostics and Performance
Logging tool.
If you install and use Cube Advisor on the same machine that hosts
Intelligence Server, the metric levels log is created automatically. In this
scenario, you do not have to perform the steps provided below.
l Machine Default: The components and counters that are displayed reflect
the client machine.
When you select the CastorServer instance, you can select whether to use
the default configuration.
This check box refers to the Machine Default settings. No matter what you
have changed and saved on either tab when CastorServer instance is
selected, if you check the Use Default Configuration box, the system
logs whatever information is configured for Machine Default at run time.
7. Select Save. The metric levels log is created in the Log directory within
the MicroStrategy common files. The default directory is C:\Program
Files\Common Files\MicroStrategy\ Log.
l Jobs: The number of jobs that would not have to be executed against the
data warehouse if the Intelligent Cube is created to support your dynamic
sourcing strategy.
l Result Rows: The number of rows of data for all reports that could be
returned from the Intelligent Cube rather than the data warehouse if the
Intelligent Cube is created to support your dynamic sourcing strategy.
l Users: The number of users that execute the reports that could connect to
the Intelligent Cube using dynamic sourcing if the Intelligent Cube is
created to support your dynamic sourcing strategy.
l Database Time: The amount of time to execute SQL statements and
retrieve the results from the data warehouse that is saved if the Intelligent
Cube is created to support your dynamic sourcing strategy.
To use this report with Cube Advisor, you must execute the report and
export it as a Microsoft Excel file or a text file.
The steps below show you how to execute and export this report in
MicroStrategy Developer.
The steps below show you how to execute and export this report in
MicroStrategy Web.
The steps below show you how to use Cube Advisor to create Intelligent
Cubes to support dynamic sourcing for the reports in your project.
Prerequisites
You can use Integrity Manager to perform a before and after test to identify
which reports actually connect to a suggested Intelligent Cube and also to
test data integrity.
1. In Windows choose Start > Programs > MicroStrategy Tools > Cube
Advisor. Cube Advisor opens.
2. You can analyze a new set of reports using Cube Advisor or use the
results of a previous Cube Advisor analysis:
l To use Cube Advisor to analyze a new set of reports, choose Tools >
Options. The Options dialog box opens. Continue to step 3 in this
procedure and complete all of the steps provided.
3. Click ... (browse) to supply the following files to support Cube Advisor
and define the following options:
l Metric Level File: The metric levels log file is one of the files that
can be used to track the use of dynamic sourcing. Cube Advisor uses
this log file to help recommend and create Intelligent Cubes to
support dynamic sourcing.
If you install and use Cube Advisor on the same machine that hosts
Intelligence Server, the metric levels log file is automatically created
by Cube Advisor. In this scenario you do not need to create the metric
levels log file or provide the location for the file. Otherwise, you must
create this file manually and provide the directory it is stored in.
When manually creating the metric levels log file, the file is created in
the Log directory within the MicroStrategy common files. The default
directory is C:\Program Files\Common Files\
MicroStrategy\Log. For steps on how to create this file, see
Creating the metric levels log, page 290.
4. Click OK to close the Options dialog box and return to Cube Advisor.
5. Provide the following connection information:
l Computer Name: Type the name of the machine on which
Intelligence Server is hosted.
l Port: Type the port number used for Intelligence Server. The default
is 34952.
l User: Type the MicroStrategy user's user name to connect to a
MicroStrategy project. The MicroStrategy user must have the
privileges listed in the prerequisites for these steps.
l Password: Type the password for the MicroStrategy user.
6. Click Connect. MicroStrategy projects are displayed.
If you supplied the Enterprise Manager report, you must select the
project that was analyzed using the Enterprise Manager report.
8. Expand the folders of the project to locate the reports to analyze with
Cube Advisor.
Selecting a check box for a report includes the report in the analysis.
Selecting a check box for a folder includes all reports in that folder and
all reports in folders within the folder in the analysis.
9. Once you have selected all the reports to analyze with Cube Advisor,
click Get Cube Recommendations. The Analyzing Reports page
opens and report analysis begins.
l The features used in the reports prevent the reports from being able
to use dynamic sourcing. To review a list of features that prevent the
use of dynamic sourcing, see Features that prevent the use of
dynamic sourcing, page 264.
l The metric levels log file was not created properly. Review the steps
to create a metrics level log file (see Creating the metric levels log,
page 290) and attempt the Cube Advisor analysis again.
l Dynamic sourcing is not enabled for the project, reports, or other
objects and features in the project. For information on configuring
dynamic sourcing, see Configuring dynamic sourcing, page 268.
l You can click Jobs, Result Rows, Users, and DB Time to sort the
Intelligent Cubes by these various usage and performance statistics.
These usage and performance statistics are displayed as
microcharts, which are aligned with the report coverage microcharts
provided for each Intelligent Cube. For information on these usage
and performance statistics, see Enterprise Manager report for Cube
Advisor, page 292.
l You can select an Intelligent Cube to see how creating it affects
various performance statistics.
l The area at the top of the Flash visualization provides a summary of
the estimated performance improvements that would come from
building the selected set of Intelligent Cubes.
The results of the Cube Advisor analysis are stored in the MicroStrategy
common files folder (the default is C:\Program Files\Common Files\
MicroStrategy). The name of the file is in the format
ProjectName.details.txt. For example, analyzing the MicroStrategy
Tutorial project creates a Cube Advisor results file named MicroStrategy
Tutorial.details.txt. You can use this file with Cube Advisor to review
and create Intelligent Cubes at another time.
You can track the use of dynamic sourcing with the MicroStrategy
Diagnostics and Performance Logging tool. For information on how to use
the Diagnostics and Performance Logging tool, see the System
Administration Help.
This tool allows you to enable or disable various logs related to dynamic
sourcing, which record various information about dynamic sourcing,
including why dynamic sourcing cannot be used in different scenarios. The
sections listed below describe the dynamic sourcing log files and error
codes that can be tracked using the Diagnostics and Performance Logging
tool:
With the Diagnostics and Performance Logging tool, you can enable the
following dynamic sourcing log files to track information about the use of
dynamic sourcing.
If the entries in this log for an Intelligent Cube end with CMI_NO_ERROR, this
means the Intelligent Cube is available to reports for dynamic sourcing. Be
aware that some of the metrics in an Intelligent Cube still may not be
available for dynamic sourcing. You can review this log to determine
whether any metrics for the Intelligent Cube are not available for dynamic
sourcing.
You can also display this log in the SQL View of Intelligent Cubes. This can
help determine which reports use dynamic sourcing to connect to the
Intelligent Cube, as well as why some reports cannot use dynamic sourcing
to connect to the Intelligent Cube. The steps below show you how to include
this log for Intelligent Cubes in a project.
The VLDB property defined using the steps below can also be defined
for individual Intelligent Cubes. To access the VLDB Properties Editor
for an Intelligent Cube, with the Intelligent Cube open, from the Data
menu, select VLDB Properties.
5. From the Tools menu, ensure that the Show Advanced Settings
option is selected.
6. In the VLDB Settings list, expand Dynamic Sourcing, and then select
Enable Cube Parse Log in SQL View.
7. Clear the Use default inherited value check box.
8. Select Enable Cube Parse Log in SQL View.
9. Click Save and Close to save your changes and close the VLDB
Properties Editor.
10. Click OK.
This log lists any reasons why a report cannot use dynamic sourcing. For
explanations of various error codes that can be included in this log, see
Dynamic sourcing error codes and explanations, page 310.
If the entries in this log for a report end with CMI_NO_ERROR, this means the
report can use dynamic sourcing. However, this does not necessarily mean
that dynamic sourcing is used; an Intelligent Cube that meets the data
requirements for the report must be available.
The report parse log can increase in size quickly and thus is best suited for
troubleshooting purposes.
You can also display this log in the SQL View of reports. This log helps
determine whether a report can use dynamic sourcing to connect to an
Intelligent Cube. The steps below show you how to include this log for
reports in a project.
The VLDB property defined using the steps below can also be defined
for individual reports. To access the VLDB Properties Editor for a
report, with the report open, from the Data menu, select VLDB
Properties.
5. From the Tools menu, ensure that the Show Advanced Settings
option is selected.
6. In the VLDB Settings list, expand Dynamic Sourcing, and then select
Enable Report Parse Log in SQL View.
7. Clear the Use default inherited value check box.
8. Select Enable Report Parse Log in SQL View.
9. Click Save and Close to save your changes and close the VLDB
Properties Editor.
10. Click OK.
Mismatch log
When a report that can use dynamic sourcing is executed, which can be
verified with the report parse log, and Intelligent Cubes are available for
dynamic sourcing, information about whether a matching Intelligent Cube
can be found for the report is included in the mismatch log.
The mismatch log can increase in size quickly and thus is best suited for
troubleshooting purposes.
This log lists any reasons why a report cannot use a specific Intelligent Cube
to satisfy its data requirements. For explanations of various error codes that
can be included in this log, see Dynamic sourcing error codes and
explanations, page 310.
If the entries in this log for a report and Intelligent Cube combination end
with CMI_NO_ERROR, this means the report can use dynamic sourcing to
access the Intelligent Cube.
You can also display this log in the SQL View of reports. This log helps
determine why a report that can use dynamic sourcing cannot connect to a
specific Intelligent Cube. The steps below show you how to include this log
for reports in a project.
The VLDB property defined using the steps below can also be defined
for individual reports. To access the VLDB Properties Editor for a
report, with the report open, from the Data menu, select VLDB
Properties.
5. From the Tools menu, ensure that the Show Advanced Settings
option is selected.
6. In the VLDB Settings list, expand Dynamic Sourcing, and then select
Enable Mismatch Log in SQL View.
7. Clear the Use default inherited value check box.
8. Select Enable Mismatch Log in SQL View.
9. Click Save and Close to save your changes and close the VLDB
Properties Editor.
10. Click OK.
The extended mismatch log can increase in size quickly and thus is best
suited for troubleshooting purposes.
You can also display this log in the SQL View of reports. This log helps
determine why a metric prevents the use of dynamic sourcing is provided in
the extended mismatch log. The steps below show you how to include this
log for reports in a project.
The VLDB property defined using the steps below can also be defined
for individual reports. To access the VLDB Properties Editor for a
report, with the report open, from the Data menu, select VLDB
Properties.
5. From the Tools menu, ensure that the Show Advanced Settings
option is selected.
6. In the VLDB Settings list, expand Dynamic Sourcing, and then select
Enable Extended Mismatch Log in SQL View.
7. Clear the Use default inherited value check box.
8. Select Enable Extended Mismatch Log in SQL View.
9. Click Save and Close to save your changes and close the VLDB
Properties Editor.
10. Click OK.
l The lowest level attributes on a report, which defines the report level
l The formulas of metrics on the report
This information can help determine what attributes and metrics need to be
included in an Intelligent Cube for the report to be able to connect to it
through dynamic sourcing.
This log file can also be used with MicroStrategy Cube Advisor to
recommend and create Intelligent Cubes that could be connected to by
reports using dynamic sourcing. For information on how Cube Advisor allows
you to create and support a dynamic sourcing strategy that can best support
the reports in your projects, see Using Cube Advisor to support dynamic
sourcing, page 289.
same information as the metrics levels log. The only difference is that the
fact levels log lists the facts used for metrics rather than the metric formulas.
CMI_DB_ONLY_FUNCTION_IN_
Dynamic sourcing cannot be used because a
FILTER
CMI_DIMMETRIC_BRANCH_IN_
This error commonly occurs because a compound metric
CUBE
CMI_FILTER_METRIC_NODE_
Dynamic sourcing cannot be used because a metric
NOT_
SUPPORTED qualification is used in the report or Intelligent Cube.
CMI_JOINT_PARENT_OR_JOINT_
Joint child relationships and many-to-many
CHILD_OR_MANY_TO_MANY_NOT_
SUPPORTED relationships are not supported for dynamic sourcing.
CMI_NON_AGG_NOT_REPORT_
Dynamic sourcing cannot be used because a metric
LEVEL_METRIC_FOUND
D YN AM IC A GGREGATION
Notice that the Category attribute is not in the Report Objects pane, and the
report remains a Standard report as indicated in the bottom right corner.
Now consider the same report, but this time you use dynamic aggregation to
return a different view of the data. Instead of removing Category from the
report, Category is moved to the Report Objects pane, as shown in the
image below.
Although the report data is exactly the same as the previous report with
standard aggregation, dynamic aggregation has the following differences:
With attributes available in the Report Objects pane, you can easily add
them back onto the report grid.
l OLAP report: The report is marked as OLAP (as indicated in the bottom
right corner of the Report Editor) because of the dynamic aggregation
performed.
Be careful not to select Remove from Report. If you select this option, the
attribute is completely removed from the report definition, and the report is
re-executed against the data warehouse.
You need the Use Report Objects Window (Developer) and/or the Web Use
Report Objects Window (Web) privileges to use dynamic aggregation. These
privileges are part of OLAP Services.
You can also move attribute forms between the Report Objects pane and the
report grid. If you only move an attribute form and not the attribute itself,
dynamic aggregation is not triggered. For example, if the attribute forms
Last Name and First Name for the attribute Customer are displayed on a
report, you can move First Name to the Report Objects pane without
triggering dynamic aggregation. The same First Name attribute form can be
moved back to the report grid without triggering dynamic aggregation.
l A metric defined with one or more of the functions Sum, Count, Minimum,
Maximum, and Product has a default aggregation function. For more
information on metrics that have a default dynamic aggregation function,
By default, the level of the dynamic aggregation is defined by the metric that
is being aggregated. You can define the Subtotal Dimensionality Use VLDB
property so that the dynamic aggregation uses the level of the metric's
dynamic aggregation function instead. For a more detailed description of
this VLDB property, along with an example of its use, see the System
Administration Guide.
If the Count function is set to count distinct entries, it cannot use Sum as
its dynamic aggregation function and returns null values instead. The
A custom subtotal has been included on this report to display subtotals for
the different revenue calculations. For information on creating custom
subtotals, see the Advanced Reporting Help.
The Revenue, Max Revenue, and Min Revenue metrics use total, maximum,
and minimum subtotals respectively. These are the same default dynamic
aggregation functions that are used for these three metrics because they are
built with the Sum, Max, and Min functions respectively. You can verify that
this is true by moving Employee to the Report Objects pane, which triggers
dynamic aggregation, causing the metrics to be aggregated at the regional
level.
Notice that the values for the Northeast and Mid-Atlantic regions are the
same values as the regional subtotals in the report prior to triggering
dynamic aggregation. When the three metrics are aggregated at the regional
level, each metric uses its default dynamic aggregation function to perform
the calculation.
Now compare these values to the values returned by executing against the
data warehouse instead of using dynamic aggregation to calculate the
values from the data within the report.
You can see that the Count Distinct (Items Sold) value is 360 for the
Northeast region, which is far different from the 2,160 value returned for the
Northeast region in the report that uses dynamic aggregation. The report
above is able to query the data warehouse and show the distinct items sold
by all employees in the Northeast region. For example, if Employee A,
Employee B, and Employee C all sell one or more wrenches, the item is only
counted as one distinct item for the Northeast region.
Dynamic aggregation uses the data available in the report. In this example,
all the values for each employee in a given region are simply added
together. When the calculation is performed, there is no way of relating
which distinct items each employee sold. The calculation results in double-
counting distinct items sold by two or more different employees. Rolling up
data to a higher level for metrics defined with functions such as Standard
Deviation and Average also perform erroneous calculations. For this reason,
by default, metrics defined with certain functions return null values instead
of erroneous results.
For example, move the Employee attribute to the Report Objects pane in the
Dynamic Aggregation - Region - Employee report in the MicroStrategy
Tutorial project. If you have not changed how the report displays null values,
you get the results shown below.
To execute the report against the data warehouse, right-click the Employee
attribute and select Remove from Report. The report is re-executed against
the data warehouse, and returns the data shown below.
Note that taking Employee off the report changes the data definition of the
report, instead of the view definition. While you get the correct results, you
are no longer taking advantage of dynamic aggregation to perform the
calculations. The SQL must be regenerated and executed against the data
warehouse to retrieve the results.
You can estimate these values by using the Average function as the dynamic
aggregation function. This estimation is possible because the Standard
Deviation and Average formulas are similar in this situation.
You can use any function as the dynamic aggregation function of a metric.
However, be aware that not all functions are well suited for dynamic
aggregation (see Metrics that are not dynamically aggregated by default,
page 331).
You can also create your own subtotal to use as the dynamic aggregation
function. You cannot directly use a function as the dynamic aggregation
function of a metric, you must create a subtotal that uses the function in its
definition. For steps to create a subtotal, refer to the Report Designer Help.
This section covers compound metrics as they are used with dynamic
aggregation. For complete information on compound metrics, see the
Advanced Reporting Help.
The Profit metric in this case is based on a profit fact stored in the data
warehouse. Suppose that your data warehouse only has facts for revenue
and cost, but you want to create a metric that calculates profit. One way you
can achieve this is by creating a profit metric called Compound Profit that
combines the two metrics Revenue and Cost. The metric can be defined as
Sum(Revenue) - Sum(Cost).
You can also see a comparison of profit margins by including a Profit Margin
metric on the report. The definition for Profit Margin is Sum(Profit) /
Sum(Revenue). When you add these two metrics to the Dynamic
Aggregation report, the report returns the results shown below.
With Employee in the Report Objects pane and not on the report grid, the
metrics are dynamically aggregated to the regional level. The Profit metric is
a simple sum of the Profit fact. This calculation can be aggregated from the
Employee level to the Region level. By default, the metrics Compound Profit
and Profit Margin do not use a dynamic aggregation function.
For Profit Margin, you cannot choose Sum as the dynamic aggregation
function, because the definition of the metric includes a division. If Sum is
chosen, the division is performed first and then these values are added
together, which would use the formula Sum(Profit/Revenue). Recall that
the definition of the metric is Sum(Profit) / Sum(Revenue), performing
the sum aggregations first and then dividing the sums.
To return valid results in this case, you can calculate the subtraction after
dynamic aggregation. You can achieve this functionality by defining the
compound metric as a smart metric. After you define both of the compound
metrics as smart metrics, the correct results are returned, as shown below.
You can define a metric as a smart metric using the procedure below. For an
introduction to smart metrics, see Derived elements in Report Services
documents with multiple datasets, page 177.
1. Open a report.
2. Choose Data > Report Data Options. The Report Data Options dialog
box opens.
3. Expand the Display category, and then select Null Values. The Display
- Null Values tab opens.
4. Under Aggregation null values, clear Use Default.
5. Replace "--" with the symbol you want to use for null values, for
example, 00, null, blank, and so on.
The validity of the data depends on whether the function can correctly
calculate the data within the report. For this reason, it is recommended that
you evaluate your report requirements and consider the report results before
you make the function selection for dynamic aggregation.
The functions that can be used as the dynamic aggregation function are:
l Average
l Count (Distinct=true)
l Geometric Mean
l Maximum
l Median
l Minimum
l Mode
l Product
l Standard Deviation
l Sum
l Variance
l User-defined function
Aggregating data from a report with certain functions can return erroneous
or null results, and therefore the default dynamic aggregation function is set
to none. You can set the default dynamic aggregation function so that these
metrics return data instead of null values. For example, if a metric is defined
with Standard Deviation, you can change the function used for dynamic
aggregation from Default to Standard Deviation.
You can, however, use a function that does not match the function or
functions used to define the metric. To see an example that uses this
technique, see Estimating dynamic aggregation values with different
aggregation functions, page 336.
The table in this appendix lists the functions that work most efficiently and
faster with partitioned datasets. Functions that are not listed work on an
unpartitioned copy of the data to calculate results, which is less efficient and
slower.
For additional information on any of the functions listed, such as how the
functions are processed, see the Functions Reference.
l Add
l Average
l Avg (average)
l Count
l GeoMean (geometric mean)
l Greatest
l Least
l Max (maximum)
Basic functions
l Min (minimum)
l Multiply
l Product
l StDevP (standard deviation of a population)
l StDev (standard deviation of a sample)
l Sum
l VarP (variance of a population)
l Var (variance of a sample)
l Banding
Internal functions l BandingC
l BandingP
l Case
l CaseV
l IsNotNull
l IsNull
Null and Zero functions
l NullToZero
l ZeroToNull
l Concat (concatenate)
l ConcatBlank (concatenate plus blank space)
l InitCap (initial capitalization)
l LeftStr (left string selection)
l Length (length of string)
l Lower (lower case)
String functions l LTrim (left trim)
l Position (position of substring)
l RightStr (right string selection)
l RTrim (right trim)
l SubStr (substring selection)
l Trim
l Upper (upper case)
l <
l <=
l <>
l =
Comparison operators l >
l >=
l Begins With
l Between
l Contains
l Ends With
l In
l Like
l Not Begins With
l Not Between
l Not Contains
l Not Ends With
l Not In
l Not Like
l *<=
l *<>
Comparison operators for l *=
rank l *>=
l *Between
l Not*Between
l AND
l IF
Logical operators
l Not
l Or
Before MicroStrategy 10.0, the only way to create an intelligent cube (also
known as an ROLAP cube or an OLAP cube) was from a report (which is a
single table dataset). Starting in MicroStrategy 10.0, you have the option to
use Data Import to create an in-memory dataset (sometimes referred to as
an super cube) containing data from multiple tables. For easy reference, the
following lists a comparison between Online Analytical Processing (OLAP)
and super cubes.
OLAP Super
User specifies the definition of the User specifies the tables to load into
Definition cube on a Report Template with memory; Attributes/Metrics are
Attributes, Metrics, and Filter mapped to these tables
OLAP Super
In-memory cubes are perfect for use when creating visually-rich and
interactive dashboard applications. Most in-memory analytics dashboard
applications are built using the MicroStrategy Report Services Document
interface. In-memory cubes can also be used as a dataset within Visual
Insight dashboards.
l Prerequisites
l Parallel queries
l Partitioning cubes
l Sizing
l Cube incremental refresh
l Data source
l Document / dashboard best practice
l Concurrency
l Web or mobile access
Prerequisites
Administrators should verify that all environment settings are tuned to
accommodate the cube to be published. The settings are dependent on data
volume. For more information about the environment settings, see the
following sections:
See the Tech Note on MSIFileTables for more information , (The information
in the knowledge base article is applicable to Intelligence Server 10.x.)
Click Help for more information about the Job Prioritization tab.
5. Click OK.
4. Click OK.
5. Set the Maximum query execution time (sec) field. This field defines
the maximum amount of time a single pass of SQL can execute on the
database.
Project configuration
For project configuration, see
l Result sets
l Data import specific
l User specific (if needed)
Result sets
1. In MicroStrategy Developer, right-click on the project and choose
Project Configuration…
2. In the Project Configuration editor, expand Governing Rules, expand
Default, and choose Result sets.
3. Verify that the fields are set appropriately. The following figure shows a
sample from a standard project.
Parallel queries
You can improve the speed of a super cube publication with the Maximum
Parallel Queries Per Report setting.
The Network Transfer Rate depends on the theoretical limit between the
data source and Intelligence Server. However, if the data source is from a
database, the Network Transfer Rate depends on the number of concurrent
database threads that can be handled by the database. Each imported table
is executed over a single thread. Therefore, to parallelize a big table with
multi-table data imports, you may want to build multiple views representing
slices to be fetched over an independent connection.
l Allows for SQL Select Pass for Metrics (typically the last pass) to be
fetched over multiple ODBC connections.
l Users are allowed to switch between Permanent Table (for Generic) and
Derived Table syntax (optimal for Single Select). See below.
l Pre/post statements
l Query optimizations
Pre/post statements
Parallel Data Fetch for OLAP Cubes does not work if Insert Mid Statements
is set.
Query optimizations
Parallel Data Fetch for OLAP Cubes does not work if any of the options
below are chosen for the VLDB setting Data population for
Intelligent Cubes:
l Direct loading of dimensional data and filtered fact data (can provide
improved performance when majority of the attribute elements are used by
the cube. In this method, lookup tables will not be joined to fact tables)
Partitioning cubes
Before MicroStrategy 10.0, all datasets were non-partitioned. Starting in
MicroStrategy 10.0, partitioning is optional. If you are not partitioning the
data, the published cube consists of one table.
rows. This advantage allows PRIME OLAP cubes to increase in capacity and
scalability through partitions.
3. In the Intelligent Cube Options dialog box, expand Options and select
Data Partition.
Sizing
Ensure that the Intelligence Server has the capacity to support all PRIME
cubes in memory. Additionally, ensure that the server meets all the system
requirements, and has enough capacity for both hard drive space and RAM.
FLOAT FLOAT 4
INTEGER INTEGER 4
SMALLINT SHORT 2
DATE(short-short-
DATE 'YYYY/MM/DD' 6
short)
Y*(m+1)
CHAR / VARCHAR / NCHAR /
STRING(m) If it is Windows/AIX, Y = 2
NVARCHAR (m)
or more
In the case where the cube has multiple tables, the MSIFile Table size of
each cube can be combined to estimate the peak memory requirement.
For a better understanding of the PRIME cube structure, enable Engine ->
CSI logs before publishing cubes.
For super cubes, MicroStrategy 10.0 provides a flexible way to update all or
some of the imported tables at different schedules.
Data source
All MicroStrategy Certified Data Sources are compatible with PRIME Cubes.
Network Browser allows files to be loaded from the file systems that
Intelligence Server can access.
4. In the VLDB Properties dialog box, expand Metrics, and choose Join
Across Datasets.
In the MTDI workflow, auto relationship detection (using the first 1000 rows)
can sometimes cause unnecessary overhead during cube publishing and
introduce unwanted relationships. Be sure to check the relationships
detected for each imported table to ensure that the relationships are not
unwanted.
Relationships are global in nature. When defined on one table, they create a
relationship table with composite information from all tables.
Metric guide
l Available under Function Parameters when Use Lookup for Attribute =
False.
l Some metrics can be calculated in multiple ways. This setting allows the
designer to suggest which uploaded table should be considered for
calculating a certain metric. In special circumstances, it can also help
resolve performance issues introduced by what may be considered in-
efficient joins.
l Row Count – #Imported Table Name# is the best way for a designer to
control which table a particular metric gets evaluated from.
Derived metrics in View Reports would be aggregated two times: once from
Cube to View Report and then from View Report to document grid.
Concurrency
Memory consumption / CPU utilization during PRIME cube
publication concurrency
Expect peak memory usage to be up to three times the raw data size.