Skip to main content

Optimizing queries in Microstrategy using VLDB properties

Optimizing queries in  Microstrategy using VLDB properties

#vldb #vldbproperties

The table below summarizes the Query Optimizations VLDB properties. Additional details about each property, including examples where necessary, are provided in the sections following the table.

Property Description Possible Values Default Value
Determines whether the Engine calculates an aggregation function and a join in a single pass or in separate passes in the SQL.
(default) Final pass CAN do aggregation and join lookup tables in one pass
One additional final pass only to join lookup tables
Final pass CAN do aggregation and join lookup tables in one pass
Indicates during which pass the report filter is applied.
Apply filter only to passes touching warehouse tables
Apply filter to passes touching warehouse tables and last join pass, if it does a downward join from the temp table level to the template level
Apply filter to passes touching warehouse tables and last join pass
Apply filter only to passes touching warehouse tables
Controls how the total number of rows are calculated for incremental fetch.
Use Count(Attribute@ID) to calculate total element number (uses count distinct if necessary)
Use ODBC cursor to calculate total element number
Use Count(Attribute@ID) to calculate total element number (uses count distinct if necessary)
For Tandem databases, the default is Use ODBC Cursor.
Determines how distinct counts of values are retrieved from partitioned tables.
Do not select distinct elements for each partition
Select distinct elements for each partition
Do not select distinct elements for each partition
Helps optimize custom group banding when using the Count Banding method. You can choose to use the standard method that uses the Analytical Engine or database-specific syntax, or you can choose to use case statements or temp tables.
Treat banding as normal calculation
Use standard case statement syntax
Insert band range to database and join with metric value
Treat banding as normal calculation
Helps optimize custom group banding when using the Points Banding method. You can choose to use the standard method that uses the Analytical Engine or database-specific syntax, or you can choose to use case statements or temp tables.
Treat banding as normal calculation
Use standard case statement syntax
Insert band range to database and join with metric value
Treat banding as normal calculation
Helps optimize custom group banding when using the Size Banding method. You can choose to use the standard method that uses the Analytical Engine or database-specific syntax, or you can choose to use case statements or temp tables.
Treat banding as normal calculation
Use standard case statement syntax
Insert band range to database and join with metric value
Treat banding as normal calculation
Defines if and how Intelligent Cube data is normalized to save memory resources.
Do not normalize Intelligent Cube data
Normalize Intelligent Cube data in Intelligence Server
Normalize Intelligent Cube data in database using Intermediate Table Type
Normalize Intelligent Cube data in database using Fallback Type
Normalize Intelligent Cube data basing on dimensions with attribute lookup filtering
Normalize Intelligent Cube data basing on dimensions with no attribute lookup filtering
Normalize Intelligent Cube data in Intelligence Server
Defines if and how report data is normalized to save memory resources.
Do not normalize report data
Normalize report data in Intelligence Server
Normalize report data in database using Intermediate Table Type
Normalize report data in database using Fallback Table Type
Normalize report data basing on dimensions with attribute lookup filtering
Do not normalize report data
Determines whether the sort order of attribute elements on reports considers special sort order formatting defined for attributes.
Sort attribute elements based on the attribute ID form for each attribute
Sort attribute elements based on the defined 'Report Sort' setting of all attribute forms for each attribute
Sort attribute elements based on the attribute ID form for each attribute
Determines level (dimension) replacement for non parent-child related attributes in the same hierarchy.
Use relational model
Use dimensional model
Use relational model
Enable or disable the Analytical Engine's ability to treat attributes defined on the same column with the same expression as attribute roles.
Enable Engine Attribute Role feature
Disable Engine Attribute Role feature
Disable Engine Attribute Role feature
Determines if metric qualifications that are included in separate passes of SQL are included in a single pass of SQL when possible.
Enable Filter tree optimization for metric qualifications
Disable Filter tree optimization for metric qualifications
Enable Filter tree optimization for metric qualifications
Determines whether data that is transferred between Intelligence Server and a database is performed using a single transfer of data or multiple, incremental transfers of data
Enable Incremental Data Transfer
Disable Incremental Data Transfer
Disable Incremental Data Transfer
Determines how many queries can be executed in parallel as part of parallel query execution support
User-defined
2
Allows you to choose how to handle prequerying the metadata partition.
Use count(*) in prequery
Use constant in prequery
Use count(*) in prequery
Defines which technique to use to support multiple data sources in a project.
Use MultiSource Option to access multiple data sources
Use database gateway support to access multiple data sources
Use MultiSource Option to access multiple data source
Defines whether OLAP functions support backwards compatibility or reflect enhancements to OLAP function logic.
Preserve backwards compatibility with 8.1.x and earlier
Recommended with 9.0 and later
Preserve backwards compatibility with 8.1.x and earlier
Determines whether MicroStrategy attempts to execute multiple queries in parallel to return report results faster and publish Intelligent Cubes.
Disable parallel query execution
Enable parallel query execution for multiple data source reports only
Enable parallel query execution for all reports that support it
Disable parallel query execution
Determines whether reports and Intelligent Cubes include an estimate in the percent of processing time that would be saved if parallel Query execution was used to run multiple queries in parallel.
Disable parallel query execution improvement estimate in SQL view
Enable parallel query execution improvement estimate in SQL view
Disable parallel query execution improvement estimate in SQL view
Determines how calculation ranking is performed.
Use ODBC ranking (MSTR 6 method)
Analytical engine performs rank
Use ODBC ranking (MSTR 6 method).
Determines whether to keep or remove aggregations in SQL queries executed from MicroStrategy.
Remove aggregation according to key of FROM clause
Remove aggregation according to key of fact tables (old behavior)
Remove aggregation according to key of FROM clause
Determines whether Group By and aggregations are used for attributes with the same primary key.
Remove aggregation and Group By when Select level is identical to From level
Remove aggregation and Group By when Select level contains all attribute(s) in From level
Remove aggregation and Group By when Select level is identical to From level
Determines whether an optimization for outer join processing is enabled or disabled.
Disable optimization to remove repeated tables in full outer join and left outer join passes
Enable optimization to remove repeated tables in full outer join and left outer join passes
Enable optimization to remove repeated tables in full outer join and left outer join passes
Allows you to use set operators in sub queries to combine multiple filter qualifications. Set operators are only supported by certain database platforms and with certain sub query types.
Disable Set Operator Optimization
Enable Set Operator Optimization (if supported by database and [Sub Query Type])
Disable Set Operator Optimization
Determines the level by which SQL queries in reports are optimized.
Level 0: No optimization
Level 1: Remove Unused and Duplicate Passes
Level 2: Level 1 + Merge Passes with Different SELECT
Level 3: Level 2 + Merge Passes, which only hit DB Tables, with different WHERE
Level 4: Level 2 + Merge All Passes with Different WHERE
Level 4: Level 2 + Merge All Passes with Different WHERE
Allows you to determine the type of subquery used in engine-generated SQL.
WHERE EXISTS (SELECT * ...)
WHERE EXISTS (SELECT col1, col2...)
WHERE COL1 IN (SELECT s1.COL1...) falling back to EXISTS (SELECT * ...) for multiple columns IN
WHERE (COL1, COL2...) IN (SELECT s1.COL1, s1.COL2...)
Use Temporary Table, falling back to EXISTS (SELECT *...) for correlated subquery
WHERE COL1 IN (SELECT s1.COL1...) falling back to EXISTS (SELECT col1, col2 ...) for multiple columns IN
Use Temporary Table, falling back to IN (SELECT COL) for correlated subquery
Use Temporary Table, falling back to EXISTS (SELECT *...) for correlated subquery
Defines whether to attempt to improve performance of reports that use expression-based transformations.
Always join with transformation table to perform transformation
Use transformation formula instead of join with transformation table when possible
Use transformation formula instead of join with transformation table when possible
Determines whether the Analytical Engine should keep or remove the unrelated filter.
Remove unrelated filter
Keep unrelated filter
Keep unrelated filter and put condition from unrelated attributes in one subquery group
Remove unrelated filter
Determines whether the Analytical Engine should keep or remove the unrelated filters when using nested metrics.
Use the 8.1.x behavior:
Use the 9.0.x behavior:
Use the 8.1.x behavior
Determines the table used for qualifications in the WHERE clause.
Use lookup table
Use fact table
Use fact table







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

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

Email Subscription in Microstrategy

Create Email Subscription in Microstrategy Creates an email subscription. Do not include any leading or trailing spaces in the ANSWER parameters. This causes a SQL error and prevents the command from executing. Ex: CREATE EMAILSUBSCRIPTION "New Multi Users" FOR OWNER "administrator" SCHEDULE "Books Closed" CONTACTGROUP "TEST"  CONTENT "Electronics Revenue by Region" IN FOLDER "\Public Objects\REPORTS\SUBJECT Areas\Sales and Profitability Analysis" IN PROJECT "MicroStrategy Tutorial" DELIVERYFORMAT HTML  EXPIRATIONDATE NEVER EXPRIED FILENAME "file_name"   SUBJECT  "Test REPORT" MESSAGE "Please Test"; CREATE EMAILSUBSCRIPTION [ subscription_name ] [FOR OWNER login_name ] SCHEDULE schedule_name  (ADDRESS address_name | USER user_name  | CONTACT contact_name [ADDRESS contact_ address_name ] | CONTACTGROUP contact_group_name ) CONTENT ( report_or_document_name IN FOLDER   loc...

Data Mart Reports in Microstrategy

Creating Data Mart Reports in Microstrategy   When there is requirement to store all the report results to a database table you can use the interesting feature in Microstratgey called Data Mart Reports. To create a data mart table, you first create a data mart report that defines the columns of the data mart table. You then create the data mart table and populate it with data. The steps below walk you through the process of creating a data mart report and then executing the report to create a data mart table. The steps also include an example for most steps, based on Tutorial sample data in the MicroStrategy Tutorial project.                Follow the simple steps below to create a datamart report: 1 In MicroStrategy Developer, create a new report or select an existing report to use as the data mart table. The report should contain the attributes...
Microstrategy Release Types Platform release Interval:  Annually every twelve (12) months in December Who:  Entire customer base What:  Focus on production level security, stability, and performance defect fixes for all customers. Expectation:  Customer has chosen platform path and wants product stability without new enhancements. Support:  Three (3) years, patches for approved P1 defects, and regular hotfix cadence addresses critical defects. Feature Release Interval:  Quarterly every three (3) months Who:  Customers with specific feature requirements. What:  New functionality developed in close collaboration with customers and customer council. Expectation:  Customer has chosen feature path, will consume further feature releases. Support:  Six (6) months patch support for approved P1 defects and (eighteen) 18 months troubleshooting. Customers upgrade to next feature release for roll-up f...

Microstrategy Document Autotext macros:

Autotext  code/macros in  Microstrategy Document/dashboard This is a list of the available auto text macros that the Report Services Document engine recognizes. The following auto text codes allow you to add  document variable information to your document. These auto text codes are automatically replaced by information about the document. Auto text codes for MSTR document/dashboard:  AUTOTEXT DESCRIPTION   {&PAGE}  Display the current page.  {&NPAGES}  Display the total number of pages.  {&DATETIME}  Display the current date and time.  {&USER}  Display the user name that is executing the Report Services Document.  {&DOCUMENT}  Display the document name.  {&DOCUMENTID}  Display the document ID.  {&DESCRIPTION}  Display the document description.  {&PROJECT}  Display the project name.  {&EXECUTIONTIME}  Dis...

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

Case functions Microstrategy

Ca se functions Microstrategy Case functions return specified data in a SQL query based on the evaluation of user-defined conditions. In general, a user specifies a list of conditions and corresponding return values. Case This function evaluates multiple expressions until a condition is determined to be true, then returns a corresponding value. If all conditions are false, a default value is returned.  Case  can be used for categorizing data based on multiple conditions. This is a single-value function. Syntax Case ( Condition1 ,  ReturnValue1 ,  Condition2 , ReturnValue2 ,...,  DefaultValue ) Example Case(([Total Revenue] < 300000), 0, ([Total Revenue] < 600000), 1, 2) sum(Case (Day@DESC in (“Sat”,”Sun”), Sales, 0) {~+} Sum(Case(Category@DESC In("Books","Electronics"),Revenue,0)){~+} CaseV (case vector) CaseV  evaluates a single metric and returns different values according to the results. It can be used to perfo...

Sending an email in MSTR where the results of a report are in the email body as HTML content and a different report/document is an attachment to the same email in MicroStrategy

Is it possible to send an email using Distribution Services where the results of a report are in the email body as HTML content and a different report/document in MSTR? ANSWER: It is currently not possible to send an email using Distribution Services where the results of a report are in the email body as HTML content and a different report/document is an attachment to the same email in MicroStrategy 9.x. An enhancement request has been logged for this feature. ACTION: Contact Microstrategy Technical Support for an update on the enhancement, I have contacted but nobody knows where the request is  

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