Skip to main content

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:
 

KB5200-7X0-0054A.gif

 

The algorithm that calculates the table sizes performs the following steps:

  1. Calculate the number of levels per hierarchy:

    Hierarchy 1: 3
    Hierarchy 2: 4

  2. Calculate each attribute individual weight according to the level in the hierarchy (level in hierarchy/number of levels in hierarchy * 10). The attribute level follows a consecutive order from the top to the bottom. For attributes with more than one parent, the next consecutive number of the highest weight parent is used (i.e., attribute D has a level of 3 (from attribute B) and not 2 (from attribute C).

 

HierarchyAttributeLevel in HierarchyWeight
1A11/3 * 10 = 3.33
B22/3 * 10 = 6.66
C11/3 * 10 = 3.33
D33/3 * 10 = 10
2E11/4 * 10 = 2.5
F22/4 * 10 = 5
G33/4 * 10 = 7.5
H44/4 * 10 = 10

 

  1. Note that the lowest level attribute weight for every hierarchy is always 10.

     

  2. Calculate each table logical size: LTS = ROUND(sum(weights of attributes in the table))

 

TableAttribute IDsLogical Table Size
LU_AAROUND(3.33) = 3
LU_BA, BROUND(3.33 + 6.66) = 10
LU_CCROUND(3.33) = 3
LU_DA, B, C, DROUND(3.33 + 6.66 + 3.33 + 10) = 23
LU_EEROUND(2.5) = 2
LU_FE, FROUND(2.5 + 5) = 7
LU_GF, GROUND(5 + 7.5) = 12
LU_HG, HROUND(7.5 + 10) = 17
F1A, B, C, D, E, F, G, HROUND(3.33 + 6.66 + 3.33 + 10 + 2.5 + 5 + 7 + 7.5 + 10) = 55
F2D, HROUND(10 + 10) = 20
F3A, FROUND(5 + 3.33) = 8

 

In this way, every table in the project gets its own logical size depending on the attribute IDs that they contain and the level of the attributes.

The previous process is executed every time that the warehouse catalog is saved or the project's schema is updated with the following option checked:

KB5200-7X0-0054B.gif

Whenever a report is executed and SQL is generated, the MicroStrategy SQL Engine performs the following steps to determine what tables is to be used:

  1. Get the set of tables that can resolve the report, according to (mainly, but not exclusively) the attributes on the template, attributes on the filter and the metric dimensionality.
  2. From this set of tables, the engine chooses the table with the smallest LTS.
  3. If more than one table have the same LTS, the engine chooses the first table in memory. This scenario is possible when many aggregate tables exist in the project but should never affect the result set in a consistent warehouse. If certain table is preferable, then the LTS for that table may be modified to force the Engine to choose it.

 

NOTE:
 
If the schema is updated with the 'Recalculate table logical size' option, then the sizes are recalculated. If any change was made to the logical table size of a table, it is overwritten. Users may prevent a custom logical table size from being overwritten by checking the option to "Preserve this logical size when updating Schema information."
 

source: MSTR

Comments

Popular posts from this blog

Microstrategy Report Services documents and dashboards

Microstrategy Report Services documents vs Dashboards A MicroStrategy Report Services document displays data coming from multiple reports, with the data laid out and designed in presentation-quality format. Most data on a document is from one or more underlying datasets. A dataset is a standard MicroStrategy report. Other document components that do not originate from the dataset, such as static text used for a title or heading, page numbers, and images, are added by the document's designer and are stored in the document's definition. A Report Services (RS) dashboard is a special type of document. An RS dashboard is commonly only one page long, is intended to be viewed online, and usually provides interactive features that let analysts change how they view the dashboard’s data, as well as what data they are viewing. A broad selection of widgets and a wide variety of formatting options allow you to design a customized, interactive dashboard. Both documents and RS dashb...

MicroStrategy URL API Parameters

MicroStrategy URL Structure The following table summarizes the root URL structure used for every request to MicroStrategy Web. Environment Main Application URL Administration URL J2EE http://webserver/MicroStrategy/servlet/mstrWeb http://webserver/MicroStrategy/servlet/mstrWebAdmin .NET http://webserver/MicroStrategy/asp/Main.aspx http://webserver/MicroStrategy/asp/Admin.aspx Every request sent to MicroStrategy Web calls a central controller. Parameters are appended to  Main.aspx  or  mstrWeb  (in a .NET and J2EE environment, respectively) to indicate to the controller how the request should be internally forwarded and handled. The following examples show a URL for accessing a MicroStrategy folder when the user does not have an existing session. The URL contains not only the parameters needed to connect to MicroStrategy Web, but also the parameters needed to log on and create a session. J2EE environment: <a href="http:...

Metric values are repeated across rows when a report is executed in MicroStrategy

Metric values are repeated across rows when a report is executed in MicroStrategy When comparing report results between DB Query Tool and MicroStrategy, some reports show repeated metric values in MicroStrategy where there were none in DB Query Tool. To illustrate the issue, a fact table CAT_ITEM_SLS has been added into the MicroStrategy Tutorial project and populated with a small set of three rows. CAT_ID ITEM_ID REVENUE  1 1  10   1 2  20  2  2  30  Report results in DB Query Tool: Report results in MicroStrategy: In MicroStrategy, the row for "Art As Experience" in the Spring 2007 catalog repeats the $20 value from the Winter 2007 catalog, where DB Query Tool shows the $30 value from the fact table. CAUSE The discrepancy occurs because the attribute elements for Catalog and Item are in a many-to-many relationship, but the attribute relationship in the MicroStrategy schema is defined incorrectly w...

Microstrategy Dossiers explained

Microstrategy  Dossiers With the release of MicroStrategy 10.9, we’ve taken a leap forward in our dashboarding capabilities by simplifying the user experience, adding storytelling, and collaboration.MSTR has  evolved dashboards to the point that they are more than dashboards - they are  interactive, collaborative analytic stories . Ultimately, it was time to go beyond dashboards, both in concept and in name, and so  the've  renamed VI dashboards to  ‘ dossiers ’.  Dossiers can be created by using the new Desktop product or Workstation or simply from the Web interface which replaces Visual Insights. All the existing visual Insights dashboards will be converted to Dossiers   With MicroStrategy 10.9, there was an active focus on making it easier to build dashboards for the widest audience of end users. To achieve this, some key new capabilities were added that make it easier to author, read, interact and collaborate on dashboards ...

Custom formatting Microstrategy metric format into 1M 2M etc

Custom formatting metric values of 1,100,000 into a 1.1 million 1.1M type format  In addition to the the pre-defined options for metric formatting, MicroStrategy supports custom formatting. The MicroStrategy Tutorial project is used to explain how users can customize numbers from "1,000,000" to a "1.00" format. Consider a report containing row data values greater than a million, as illustrated below: To format these metric values to use a decimal (i.e., 1.1) instead of showing all the numerals, right-click on the metric (' Revenue ' , for this example) and select  Formatting > Revenue Values , as shown below: Select " Custom " as a category in the Number tab and enter ' 0,,.## ' (without quotation marks), as shown below: Confirm that the format applied properly:

Purge Web Caches in MicroStrategy Web

Purge Web Caches in MicroStrategy Web By executing the mstr server by embedding the blue text below with admin privileges purges web server cache. https:// mstrserver.com /MicroStrategy/asp/Admin.aspx//mstrWebAdmin/?pg=purgecaches MicroStrategy Web and Web Universal caches various properties that are related to the user, project, or the MicroStrategy Intelligence Server. This helps in reducing the response time for every request by delivering the properties from a closer location than the original MicroStrategy Intelligence Server. In majority of the cases, the default caching properties should be applicable to the business intelligence infrastructure. There are 3 types of caches used in MicroStrategy Web. These are described below: Session Cache - Specific to a user and exists only while the user is logged in. This cache is deleted when the user logs out or if there's no activity for a specified timeout interval. The default value for a timeout is 1200 seco...

mstrio – Python and R wrappers for the MicroStrategy

mstrio – Python and R wrappers for the MicroStrategy REST APIs Connecting to MicroStrategy  Create a connection to the Intelligence Server using   Connection()   and    connect()  in Python and R, respectively. Required arguments for the   Connection()  function are the URL for the MicroStrategy REST API server, MicroStrategy Intelligence Server username and password, as well as the MicroStrategy project name. By default, the   connect()  function anticipates your MicroStrategy Intelligence Server username and password. LDAP authentication is also supported. Use the optional argument    login_mode=16    in the    connect()  function for LDAP authentication.  Extract data from cubes and reports  To extract data from MicroStrategy cubes and reports, use the   get_cube()  and   get_report()  functions. Use...

Prompt-in-prompt (nested prompt) in a FreeForm SQL Report in MicroStrategy

Prompt-in-prompt (nested prompt) feature in a FreeForm SQL Report in MicroStrategy  The following procedure describes how to achieve prompt-in-prompt in a Freeform SQL report in MicroStrategy Tutorial project: Create a new filter, select Add an Attribute qualification and choose the highest level attribute Country. Make sure to Qualify On: Elements. Click Prompt as the image shown below. Accept all the default values without any changes in the popped up window after clicking on "Prompt" as shown below. Save the filter as "Country Filter". Click "Prompt", choose "Use a filter to reduce the number of elements" option and select Country Filter created in last step, as shown below. Save the filter as "Region Filter". Select Filter definition prompt -> Choose from an attribute element list as shown below. Choose attribute Call Center and use the Region Filter created in the previous st...

Configure a report for use with Bulk Export in MicroStrategy

Configure a report for use with Bulk Export in MicroStrategy The Bulk Export feature enables a large report to be saved as a delimited text file. Using this feature, it is possible to retrieve result sets from a large dataset without having to load the entire dataset into memory. PS:  Once a report is setup for bulk export it cannot be used as a regular report. So if the report needs to be run as a normal report and as a bulk export report, the first step is to make a copy of the report for use with bulk export. Configure Bulk Export Bulk Export options are only available in MicroStrategy Developer. Open a 3-tier connection using MicroStrategy Developer and edit the desired report. Go to 'Data' on the top menu bar. Select 'Configure Bulk Export': Specify any additional desired configuration options. General Settings Bulk export database instance : This is the database instance to use to store the bulk export results. Temporary tables w...

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