EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB16704: A report filter with an attribute qualification is seemingly ignored when using a level metric and extra elements of the attribute display even though the report filter does not include them in MicroStrategy Developer 10.x


Stefan Zepeda

Salesforce Solutions Architect • Strategy


When using a level metric on a grid and the report filter contains an attribute qualification, the filter does not seem to be applied in MicroStrategy Developer  10.x. Extra elements will be displayed on the grid.

SYMPTOM:
When using a level metric on a grid and the report filter contains an attribute qualification, the filter does not seem to be applied in Strategy Developer  10.x. Extra elements will be displayed on the grid. (Technically, the filter is applied. However, it's not applied in the final SQL pass.)
 
In this example, a level metric with absolute filtering and standard grouping is used with a target of Region. This can be reproduced with any level metric with any filtering or grouping settings, and with or without report level present in the dimensionality, as shown below:
 

ka02R000000kcAmQAI_0EM440000002FAF.jpeg

 
Notice that in the example report below, Miami is the only attribute element in the report filter, yet Atlanta (which belongs to the same Region as Miami) also displays on the report grid:
 

ka02R000000kcAmQAI_0EM440000002FA5.jpeg

 
CAUSE:
This is expected behavior with the default VLDB settings. By default, the filtering condition will only be applied to passes of SQL that touch the warehouse tables, as shown below:
 

ka02R000000kcAmQAI_0EM440000002FAB.jpeg

 
This means that the level metric will be calculated based upon the behavior specified, but when choosing what to display on the report grid, the filtering conditions will not be applied.
 
ACTION:
Changing the VLDB settings at the report level will change the SQL generated by the report such that the filtering condition is applied in all passes, and thus the filtering condition will apply to the report grid display as well as the calculation of the level metric.
 

  • In the Report Editor window, select the Data then VLDB Properties… menu, as shown below:
ka02R000000kcAmQAI_0EM440000002FAH.jpeg
  • Make sure you the 'Show Advanced Settings' option is checked, as shown below:
ka02R000000kcAmQAI_0EM440000002FA9.jpeg
  • Expand the Query Optimizations folder.
  • Uncheck the 'Use default inherited value' checkbox.
  • Select the radio button for the option to 'Apply filter to passes touching warehouse tables and last join pass', as shown below:
ka02R000000kcAmQAI_0EM440000002FA7.jpeg
  • Click Save and Close.
  • Re-execute the report. The desired results will display, such that the filtering condition is applied to the report grid.

In this example, notice that Miami is now the only attribute element displayed on the grid, but the value calculated by the level metric is still the same total value for the Region, as desired:
 

ka02R000000kcAmQAI_0EM440000002FAD.jpeg

 


Comment

0 comments

Details

Knowledge Article

Published:

May 23, 2017

Last Updated:

May 23, 2017