MicroStrategy ONE

Supporting filtering on attributes for dynamic sourcing

To ensure that dynamic sourcing can return the correct results for attributes, you must also verify that filtering on attributes achieves the same results when executed against your database versus an Intelligent Cube. The results returned from a filter on attributes can potentially return different results when executing against the database versus using dynamic sourcing to execute against an Intelligent Cube. This can occur if your database is case-sensitive and you create filter qualifications that qualify on the text data of attribute forms.

If your database is case-sensitive, this is enforced for the filter qualification. However, filtering for an Intelligent Cube is handled by the Analytical Engine which does not enforce case sensitivity.

You can define attributes to either allow filter qualifications to be completed without enforcing case sensitivity, or to disable dynamic sourcing if these types of filters are used on attributes. You can configure this dynamic sourcing behavior for attributes by modifying the String Comparison Behavior VLDB property. This VLDB property has the following options:

  • Use case insensitive string comparison with dynamic sourcing: This is the default option for attributes. When attempting to use dynamic sourcing, filter qualifications can qualify on the text data of attribute forms without enforcing case sensitivity.

    This is a good option if your database does not enforce case sensitivity. In this scenario, dynamic sourcing returns the same results that would be returned by the filter qualification if the report was executed against the database.

  • Do not allow any string comparison with dynamic sourcing: This option disables dynamic sourcing for attributes when a filter qualification is used to qualify on the text data of attribute forms.

    This is a good option if your database is case sensitive. In this scenario, dynamic sourcing could return different results than what would be returned by the filter qualification if the report was executed against the database.

For information on defining default String Comparison Behavior VLDB property for an attribute, see Accessing the dynamic sourcing VLDB properties for a project.

The procedure below describes how to modify the String Comparison Behavior VLDB property for an individual attribute.

Prerequisite

An attribute has been created in a project.

To modify the String Comparison Behavior VLDB property for an attribute

  1. In MicroStrategy Developer, browse to an attribute, then right-click the attribute and select Edit. The attribute opens in the Attribute Editor.

  2. From the Tools menu, select VLDB Properties. The VLDB Properties Editor opens.

  3. From the Tools menu, select the Show Advanced Settings option if it is not already selected.

  4. In the VLDB Settings list, expand Dynamic Sourcing, and then select String Comparison Behavior.

  5. Clear the Use default inherited value check box.

  6. Select one of the options depending on whether you want to disable or enable dynamic sourcing for an attribute:

    • Use case insensitive string comparison with dynamic sourcing: This is the default option for attributes. When dynamic sourcing is used, it allows filter qualifications to qualify on the text data of attribute forms without enforcing case sensitivity.

    • Do not allow any string comparison with dynamic sourcing: This option disables dynamic sourcing for attributes when a filter qualification is used to qualify on the text data of attribute forms.

  7. Click Save and Close to save your changes to VLDB properties and close the VLDB Properties Editor.

  8. Click Save and Close to save the attribute and close the Attribute Editor.