MicroStrategy ONE

Unrelated Filter Options

Unrelated Filter Options is an advanced property that is hidden by default. For information on how to display this property, see Viewing and Changing Advanced VLDB Properties.

MicroStrategy contains the logic to ignore filter qualifications that are not related to the template attributes, to avoid unnecessary Cartesian joins. However, in some cases a relationship is created that should not be ignored. The Unrelated Filter Options property determines whether to remove or keep unrelated filter qualifications that are included in the report's filter or through the use of joint element lists. This VLDB property has the following options:

If filter qualifications are included as part of a report as filter, all filter qualifications are kept on the report regardless of whether they are related or unrelated to the attributes on the report. For information on using the report as filter functionality, see the Advanced Reporting Help.

  • Remove unrelated filter (default): Any filter qualification with attributes that are unrelated to any of the attributes on the report are removed. An example of how this option can modify a report, in comparison to the Keep unrelated filter and put condition from unrelated attributes in one subquery group option, is provided below.
  • Keep unrelated filter: This option is for backward compatibility. You should switch to using the Keep unrelated filter and put condition from unrelated attributes in one subquery group option described below.
  • Keep unrelated filter and put condition from unrelated attributes in one subquery group: Filter qualifications that include attributes that are unrelated to any of the attributes on the report are kept on the report in certain scenarios. This means that the filtering is applied to the report. However, not all unrelated filter qualifications are kept on a report if you select this option.

    For example, you have report with a filter on the Country attribute, and the Year attribute is on the report template. This example assumes that no relationship between Country and Year is defined in the schema. In this case, the filter is removed regardless of this VLDB property setting. This is because the filter qualification does not include any attributes that could be related to the attributes on the report.

    This setting does keep filter qualifications in certain scenarios. For example, you have a report that is defined as follows:

    • Report filters:
      • Filter 1= (Country, Quarter) in {(England, 2008 Q3), (France, 2008 Q1)}
    • Report template: Includes the Year attribute

      Filter 1 described above could be from a joint element list or a combination of report filter qualifications. Since this filter qualification includes the Quarter attribute, which is related to the Year attribute, selecting this option includes the filtering in the reports. The SQL generated with each setting is as follows:

    • Removed unrelated filter: The filter qualifications on Country are removed from the report and the report SQL, as shown below:
       select  distinct a11.[YEAR_ID] AS YEAR_ID
       from  [LU_QUARTER] a11
       where (a11.[QUARTER_ID] = 20083
       or a11.[QUARTER_ID] = 20081)
    • Keep unrelated filter and put condition from unrelated attributes in one subquery group: The filter qualifications on Country are included on the report and in the report SQL, as shown below:

       create table ZZSQ00 (
       QUARTER_ID SHORT, 
       GODWFLAG1_1 LONG, 
       GODWFLAG2_1 LONG)
       insert into ZZSQ00 
       select distinct s22.[QUARTER_ID] AS QUARTER_ID,
       iif((s21.[COUNTRY_ID] = 3 and s22.[QUARTER_ID] =
       20083), 1, 0) AS GODWFLAG1_1,
       iif((s21.[COUNTRY_ID] = 4 and s22.[QUARTER_ID] =
       20081), 1, 0) AS GODWFLAG2_1
       from [LU_COUNTRY] s21, 
       [LU_QUARTER] s22
       where ((s21.[COUNTRY_ID] = 3
       and s22.[QUARTER_ID] = 20083)
       or (s21.[COUNTRY_ID] = 4
       and s22.[QUARTER_ID] = 20081))
       select distinct a13.[YEAR_ID] AS YEAR_ID
       from [ZZSQ00] pa11, 
       [ZZSQ00] pa12, 
       [LU_QUARTER] a13
       where pa11.[QUARTER_ID] = pa12.[QUARTER_ID] and 
       pa11.[QUARTER_ID] = a13.[QUARTER_ID]
       and (pa11.[GODWFLAG1_1] = 1
       and pa12.[GODWFLAG2_1] = 1)

Levels at Which You Can Set This

Database instance, report, and template