Skip to main content

Level metrics in Microstartegy/MSTR

Level Metrics

Level metrics allows the users to choose the right combination of level target, filtering, and grouping (referred to as elements) to achieve your desired results. 

The elements of a metric level are described below:
Target: The target is the attribute level at which the metric calculation groups. For a more detailed description, see Target: The context of a calculation.
Grouping: Grouping determines how the metric aggregates. For a more detailed description, see Grouping: How aggregation is performed.
Filtering: Filtering governs how the report filter interacts with the metric calculation. For a more detailed description, see Filtering: Interaction with report filters.

The level is indicated between the curly braces ({ }) in the metric definition shown below:

Sum(Revenue) {~, Product}

The tilde (~) represents the report level with standard filtering, denoted by the plus sign (+). If you add item as a level, the metric definition changes to reflect the addition:

Below metric indicates that it is at report level:

Sum(Revenue) {~+}

When you remove the report level and the metric is at Item level only:

Sum(Revenue) {Item}

The base metric and report


All the metrics in this section are based on a revenue metric that is the sum of the Revenue fact. The base report displayed below contains this Revenue metric, and the Category and Subcategory attributes. Each category is subtotaled, and a grand total is calculated. It has a report filter on the following subcategories:
Art & Architecture
Literature
Drama
Alternative
The base report is shown below:

Level metrics summary table

The Revenue metric calculates the revenue for each subcategory displayed on the report.
To Calculate
Set Filtering To
Set Grouping To
Revenue at the category level, including only the subcategories displayed on the report
Standard
Standard
Revenue at the category level, for all subcategories in the categories displayed on the report
Absolute
Standard
Total revenue for the subcategories displayed on the report
Standard
None
Total revenue for all subcategories in the categories displayed on the report
Absolute
None
Total revenue for all subcategories in the project
Ignore
None
All the level metrics described in this section have a target of Category.

Category revenue examples

The following report shows the base report with the addition of two new metrics, both measuring category revenue in different ways.
Notice that the Category Revenue for Displayed Subcategories metric returns the same number as the category subtotal. The Art & Architecture and Literature columns are the same as the Books Total. Why?
Standard filtering allows the report filter to interact as usual in the metric calculation. Therefore, only the subcategories in the report filter are included in the metric calculation. This is affirmed by the grand total of this metric—it matches the total for the Revenue metric. This indicates that only the attributes displayed on the report are included in this Category Revenue metric.
The numbers returned by the Category Revenue for All Subcategories in Displayed Categories metric are higher than the numbers for the other metrics on the report. Why?
Absolute filtering changes the filter on children of the target, by raising it to the level of the target, if possible. In this example, the report filter is Subcategory, which is a child of Category, the level target. Since the report filter is on a lower level than the target, the filter is raised to the level of the target. All subcategories in the categories on the report are included in the metric calculation.
Why do the Category Revenue metrics calculate the same number for each row in a particular category?
Both metrics have standard grouping, which means that the metric groups by the attribute level of the target. In this case, the target is category. The metric calculation is rolled up to Category, so the same number is repeated for each row in a particular category.

Total revenue examples

The following report shows the base report with the addition of three new metrics, all measuring total revenue.
The most obvious difference between this report and the Category Revenue example above is that each column contains only one number; each metric is returning only one result, regardless of row. Why?
All the metrics on this report, except for Revenue, have grouping set to none. No grouping means that the metric does not group on the target of category or the target’s child attributes, such as subcategory. Therefore, separate results are not calculated for the different attributes on the report; only one result is calculated.
The Total Revenue for Displayed Subcategories metric returns the same number as the total for the Revenue metric. Why?
Standard filtering allows the report filter to affect the metric. Therefore, only the subcategories in the report filter are included in the metric calculation. This is confirmed by the number matching the total for the Revenue metric. This indicates that only the attributes displayed on the report are included in this Total Revenue metric.
Refer to the report in Category revenue examples. Notice that the total for the Category Revenue for All Subcategories in Displayed Categories metric is the same amount calculated for the Total Revenue for All Subcategories in Displayed Categories metric on the total revenue report. Why?
Both metrics have filtering set to absolute. Absolute filtering raises the report filter to the level of the target, so all subcategories in the categories included on the report are added together.
The result for the Total Revenue for All Subcategories metric is huge. Why?
It includes the total revenue for all subcategories in the entire project. Ignore filtering disregards filtering criteria based on the attribute in the target and its related attributes (both parents and children). In this case, subcategory in the report filter is ignored, so the report filter does not apply to this metric.

Comments

Popular posts from this blog

Microstrategy Custom number formatting symbols

Custom number formatting symbols If none of the built-in number formats meet your needs, you can create your own custom format in the Number tab of the Format Cells dialog box. Select  Custom  as the Category and create the format using the number format symbols listed in the table below. Each custom format can have up to four optional sections, one each for: Positive numbers Negative numbers Zeros Text Each section is optional. Separate the sections by semicolons, as shown in the example below: #,###;(#,###);0;"Error: Entry must be numeric" For more examples, see  Custom number formatting examples . To jump to a section of the formatting symbol table, click one of the following: Numeric symbols Character/text symbols Date and time symbols Text color symbols Currency symbols Conditional symbols Numeric symbols For details on how numeric symbols apply to the Big Decimal data type, refer to the  Project Design Guide . ...

Slowly Changing Dimension Types 0, 4, 5, 6 and 7

Slowly Changing Dimension Types 0, 4, 5, 6 and 7 Ralph introduced the concept of slowly changing dimension (SCD) attributes in 1996. Dimensional modelers, in conjunction with the business’s data governance representatives, must specify the data warehouse’s response to operational attribute value changes.  Core SCD approaches:  Type 1 (overwrite),  Type 2 (add a row), and  Type 3 (add a column).  Since legibility is a key component of the Kimball mantra, we sometimes wish Ralph had given these techniques more descriptive names, such as “overwrite” instead of “type 1.” But at this point, the SCD type numbers are part of our industry’s vernacular. We have written about more advanced SCD patterns, such as the 2005 article entitled “ Slowly Changing Dimensions are Not Always as Easy as 1, 2, 3. ” However, we’ve not consistently named the more advanced and hybrid techniques. With the third edition of  The Data Warehouse Toolkit  (Wiley, 201...

Internationalization Design Technics

Microstrategy Internationalization Design Technics MicroStrategy supports data internationalization through two different techniques. You can either provide translated data through the use of extra tables and columns, or you can provide separate databases to store your translated data. These techniques are described below: You can support data internationalization in your database by using separate tables and columns to store your translated data. You can use various combinations of tables and columns to support and identify the translated data in your database. To support displaying the name of each month in multiple languages, you can include the translated names in a separate column, one for each required language, within the same table. Each column can use a suffix to identify that the column contains translated data for a certain language. The same LU_MONTH_OF_YEAR table with translated data for the Spanish and German langua...

Personalizing file locations, email and file subscriptions using macros in Microstrategy

Personalizing file locations MSTr allows to dynamically specify the  File Location  and  Backup File Location  in a file device using macros.  For example, if you specify the  File Location  as  C:\Reports\{&RecipientName}\ ,  all subscriptions using that file device are delivered to subfolders of  C:\Reports\ . Subscribed reports or documents for each recipient are delivered to a subfolder with that recipient’s name, such as  C:\Reports\Jane Smith\  or  C:\Reports\Hiro Protagonist\ . The table below lists the macros that can be used in the  File Location  and  Backup File Location  fields in a file device: Description Macro Date on which the subscription is sent {&Date} Time at which the subscription is sent {&Time} Name of the recipient {&RecipientName} User ID (32-character GUID) of the recipient {&RecipientID} Distribution Services add...

Prompt-in-prompt(Nested Prompts) in Microstrategy

Prompt-in-prompt(Nested Prompts) in  Microstrategy Nested prompts allows you to create one prompt based on the other and other bases on another, nested prompts allows us to prompt the highest level(Like year) to middle level(like Quarter, then to the low level(like Month). Here you can see how to  create a 3-level deep nested prompt that will prompt the user to select a year, then a quarter within that year, then a month within that quarter. Prompt-in-prompt is a feature in which the answer to one prompt is used to define another prompt. This feature is only implemented for element list prompts . The following procedure describes how to achieve this: Create the highest level filter. This is a filter which contains a prompt on an attribute element list. Create a filter on the attribute "Year." Click "prompt on attribute element list" and click "Next" through the rest of the screens to accept the default values. Do not set any additio...

The logical table size calculation in Microstrategy

The logical table size calculation in Microstrategy The logical table size is an integer number that represents the granularity or level of aggregation of a particular table. It is called 'logical' because it is not related to the physical size of the tables (number of rows). It is calculated according to the attribute IDs that are present in the table and their level in the system hierarchy.   Even though, the number does not reveal the actual number of rows in the table, it is an accurate way of measuring a table size without having to access its contents.   MicroStrategy Engine utilizes an algorithm based on attribute keys to calculate the Logical Table Size (LTS):   Given the following tables:     The algorithm that calculates the table sizes performs the following steps: Calculate the number of levels per hierarchy: Hierarchy 1: 3 Hierarchy 2: 4 Calculate each attribute individual weight according to the level in the hierarchy (level in hierarchy/number of ...

Fact tables levels tables in Microstrategy explained

Fact tables levels in Microstrategy: Fact tables are used to store fact data. Fact tables should contain attribute Id's and fact values which are measurable. All the descriptive information about the fact tables should stored in Dimension tables either in Star Schema fashion or Snow Flake Schema fashion which is best suited to your reporting solution. Since attributes provide context for fact values, both fact columns and attribute ID columns are included in fact tables. Facts help to link indirectly related attributes using these attribute ID columns. The attribute ID columns included in a fact table represent the level at which the facts in that table are stored. So the level of a fact table in the Fact_Item_Day_Customer can be the attribute Id's which is at Day, Item & Customer Id level. For example, fact tables containing sales and inventory data look like the tables shown in the following diagram: Base fact columns ver...

Configure Connection Mapping in Microstrategy

Configure Connection Mapping in Microstrategy The following steps demonstrate the second scenario where two different data warehouses are used within the same project: Create two different database connections -                                                                                        One that points to the data warehouse for the European users                                                                 and the other that points to the data warehouse for USA users as shown below: Select Europe as the default database connection for the database Instance as seen below: Go to P...
Star schemas and aggregate (or summary) fact tables Aggregate tables can further improve query performance by reducing the number of rows over which higher-level metrics must be aggregated.  However, the use of aggregate tables with dimension tables is not a valid physical modeling strategy. Whenever aggregation is performed over fact data, it is a general requirement that tables joined to the fact table must be at the same attribute level or at a higher level. If the auxiliary table is at a lower level, fact rows will be replicated prior to aggregation and this will result in inflated metric values (also known as "multiple counting"). With the above Time dimension table, a fact table at the level of Day functions correctly because there is exactly one row in DIM_TIME for each day. To aggregate the facts to the level of Quarter, it is valid to join the fact table to the dimension table and group by the quarter ID from the dimension table. Sql select DT...

Uniquely identifying data using Compound Key in Microstrategy

Uniquely identifying data in tables with Compound Key attribute: The types of keys that can be assigned to a table include: • Simple key requires only one column to identify a record uniquely within a table. • Compound key requires multiple columns to identify a unique record. . The following diagram shows how the different key structures can be used to identify a cal...