Skip to main content

(YTD) transformations without using transformation tables in MicroStrategy

How to create Year to Date (YTD) transformations without using transformation tables in MicroStrategy SQL Generation Engine

This article describes how to create transformations without using database transformation tables in MicroStrategy
Apr 6, 2017KB Article
Content
In MicroStrategy SQL Generation Engine, when simple Period to Date (PTD) reports are needed, there is no need to create a transformation table. Using a combination of filters and metric dimensionality, the same results can be achieved.
 
The following example uses MicroStrategy Tutorial to explain the construction of a Year-To-Date metric.
 
OBJECTS:

Name:DT
Type:Prompt on value (date)
Definition:
KB5200-7X0-0155A.gif

Name:F1
Type:Filter
Definition:Part 1: Date@ID = DT
KB5200-7X0-0155B.gif
AND
Part 2: <;DATE@ID=?DT> {YEAR}
KB5200-7X0-0155C.gif


Name:Sales
Type:Metric
Definition:
Sum(dollar sales) {~+}
KB5200-7X0-0155D.gif


Name:R1
Type:Report
Definition:
KB5200-7X0-0155E.gif

IMPORTANT NOTE: No YTD transformation is used in this solution.
 
The Engine generates the following Structured Query Language (SQL):
select a14.CUST_REGION_ID CUST_REGION_ID,
    max(a16.CUST_REGION_NAME) CUST_REGION_NAME,
    sum(a11.ORDER_AMT) SALES
from ORDER_FACT a11,
    LU_ORDER a12,
    LU_CUSTOMER a13,
    LU_CUST_CITY a14,
    LU_DATE a15,
    LU_CUST_REGION a16
where a11.ORDER_ID = a12.ORDER_ID and
    a12.CUSTOMER_ID = a13.CUSTOMER_ID and
    a13.CUST_CITY_ID = a14.CUST_CITY_ID and
    a11.ORDER_DATE = a15.DATE_ID and
    a14.CUST_REGION_ID = a16.CUST_REGION_ID
  and (a11.ORDER_DATE <= '09/23/1999'
  and ((a15.YEAR_ID)
  in (select r11.YEAR_ID
    from LU_DATE r11
    where r11.DATE_ID = '09/23/1999')))
group by a14.CUST_REGION_ID
 

This is a very simplified SQL that will aggregate the sales for all the Dates in the year that are less or equal to the selected Date. These filters can be placed into the metric if a report is desired that has some metrics with this date range filter and some without.
 
Note: Because, in this example, the query must look up the year corresponding to the date chosen in the prompt, the date lookup tables must include the chosen date. If users will expect to choose dates in the future, date lookups must be populated into the future.

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

Microstrategy Report Execution Process

The Report Execution Process  Report execution process at a high level: The report execution process is a three-step process:  1. Query Stage : Retrieve data from the warehouse  2. Populate and Evaluate : Fill report data required for display  3. Cross-tab : Pivot and display sorting and page-by Each of the engines plays an important part in the report execution process.  As you can imagine, the SQL Engine performs its role during the Query stage while the Query Engine and Analytical Engine can be involved in all three stages.

Microstrategy "Error type: Odbc error. Odbc operation attempted

 "Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [HYT00:0: on SQLHANDLE] [MicroStrategy][ODBC Oracle Wire Protocol driver]Timeout expired" is shown when executing reports from Web When users are trying to execute some reports in MicroStrategy web in particular, they may receive the Error “SQL Generation Complete Index out of range” and “Timeout expired” error as shown below: Possible Causes: One possible cause is that the MicroStrategy Intelligence Server using a cached database connection that was already dropped by the RDBMS. To resolve this: Admin should delete the database connection caches and create a new DSNs in case they are sharing DSNs to connect to different databases. In addition, change the settings for the ‘Connection lifetime’ and the ‘Connection idle time out’.  Follow the steps below to perform the mentioned changes and verify the report after each step and some of the settings require i-server r...

Types of filters in Microstrategy

Types of filters in Microstrategy Below are the types of filters: 1. Attribute qualification filter These types of qualifications restrict data related to attributes on the report. a) Attribute form qualification Filters data related to a business attribute’s form(s), such as ID or description. •  For example, the attribute Customer has the forms ID, First Name, Last Name, Address, and Birth Date. An attribute form qualification might filter on the form Last Name, the operator Begins With, and the letter H. The results show a list of customers whose last names start with the letter H. b) Attribute element list qualification Filters data related to a business attribute’s elements, such as New York, Washington, and San Francisco, which are elements of the attribute City. • For example, the attribute Customer has the elements John Smith, Jane Doe, William Hill, and so on. An attribute element list qualification can filter data to display only those customer...

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

Client Rendering Optimizations for Dashboard Performance Optimizations

  The amount of data retrieved and objects being used in a Report Services Dashboard have a direct impact in the size of the final Dashboard. The bigger the Dashboard size the longer it will take to be prepared, be sent to the client, and render.   Client Rendering Once the data reaches the end user's browser window the data has to be formatted according to the definition of the Dashboard as specified in the formatting set by the architect. To do so the browser will have to either build the HTML page in DHTML mode or initialize the flash container and parse the XML.   Client rendering greatly varies depending on the hardware used. More powerful machines will render dashboard faster for a list of recommended client hardware specifications please refer to the Readme File for the specific version of MicroStrategy.   Optimization Techniques common to DHTML and Flash Client rendering time greatly relies in the amount of XML that needs to be parsed. In order to ensure that...

Update the data on an Intelligent Cube without having to republish the entire cube in MicroStrategy

Update the data on an Intelligent Cube without having to republish the entire cube in MicroStrategy MicroStrategy has introduced a feature known as, Incremental Refresh Options, which allow Intelligent Cubes to be updated based on one or more attributes, by setting up incremental refresh settings to update the Intelligent Cube with only new data. This can reduce the time and system resources necessary to update the Intelligent Cube periodically versus a full republish. For example, if a user has an Intelligent Cube that contains weekly sales data, the user may want this Intelligent Cube to be updated at the end of every week with the sales data for that week. By setting up incremental refresh settings, he can make it so that only data for one week is added to the Intelligent Cube, without affecting the existing data and without having to reload all existing data. Users can select t...

Evaluation Ordering

Evaluation Ordering Evaluation Ordering is an advanced property that is hidden by default. For information on how to display this property, see  Viewing and changing advanced VLDB properties . An evaluation order is the order in which the MicroStrategy Analytical Engine performs different kinds of calculations during the data population stage. The Evaluation Ordering property determines the order in which calculations are resolved. MicroStrategy objects that are included in the evaluation order include consolidations, compound smart metrics, report limits, subtotals, derived metrics, and derived elements. Some result data can differ depending on the evaluation order of these objects. • 6.x order - Calculate derived metric/smart compound metric before derived elements/consolidation and all subtotals as smart : This option is used primarily to support backward compatibility. It is recommended in most scenarios to update your project to use the 9.x evaluation order described below. • ...

Table order in MicroStrategy generated SQL

Understanding FROM Clause Order in MicroStrategy How SQL table order can affect execution plans and when to tune it using VLDB settings. Most modern databases optimize joins effectively regardless of table order in the FROM clause. But some engines still produce different execution plans depending on how tables are arranged. MicroStrategy handles this with the From Clause Order VLDB property under Joins . Default Table Order in MicroStrategy Fact Tables Metric Qualification (MQ) Tables Relationship Tables Lookup Tables SQL optimization and join planning concept VLDB Setting View From Clause Order options in MicroStrategy From Clause Order Options 1) Normal FROM clause order (Default) Uses the standard sequence: Fact Tables MQ Tables Relationship Tables Lookup Ta...