MicroStrategy ONE

Dynamic sourcing error codes and explanations

There are various reasons for why a report cannot use dynamic sourcing. To help determine why reports in your projects are not able to use dynamic sourcing, the table below provides explanations of all of the error codes that can be triggered for dynamic sourcing scenarios. These error codes are included in the dynamic sourcing log files, which are described in Dynamic sourcing log files.

Error Code Explanation

CMI_AGG_METRIC_BRANCH_WITH_
ZERO_CHECKING

Dynamic sourcing cannot be used because a metric included in the Intelligent Cube uses zero checking, which is enabled with the Zero Check VLDB property. Using zero checking on metrics in Intelligent Cubes causes the Intelligent Cubes to be unavailable for dynamic sourcing.

CMI_AGGREGATION_ON_
ATTRIBUTES_RELATED_TO_
TRANSFORMATION_ATTRIBUTES

Dynamic sourcing cannot be used because a transformation metric is included in the Intelligent Cube and it cannot be aggregated to the level required on the report.

CMI_ALL_METRICS_REMOVED_
FROM_CUBE

The Intelligent Cube included metrics, but the metrics were later removed or no longer enable dynamic sourcing. This Intelligent Cube cannot be used for dynamic sourcing.

CMI_ANDNOT_OR_ORNOT_IN_
FILTER

Dynamic sourcing cannot be used because filter qualifications are combined with AND NOT or OR NOT logical operators.

CMI_ATTRIBUTE_UNAVAILABLE

Dynamic sourcing cannot be used because an attribute form present in the report is not available in the Intelligent Cube.

CMI_BAD_OR_IN_FILTER

Dynamic sourcing cannot be used because two filter qualifications on different attributes or attribute elements are combined with the logical operator OR.

CMI_CG_OR_CONSOLIDATION

A custom group or consolidation is used on the report. Dynamic sourcing cannot be used for reports that include custom groups or consolidations.

CMI_COMPLEX_METRIC_
EXPRESSION_ON_CUBE

Dynamic sourcing cannot be used for the Intelligent Cube because a metric's formula is too complex. Metrics that are too complex include compound metrics that are not defined as smart metrics, and simple metrics that use a formula other than a single aggregation function of a single fact. You can remove the metric or modify the metric's formula so that dynamic sourcing can be supported for the Intelligent Cube. For information on simple and compound metrics, see the Advanced Reporting Help.

CMI_COUNT_DISTINCT_FOUND

Dynamic sourcing cannot be used because the Count Distinct function is used.

CMI_CSI_OR_ELEMENT_BROWSING

The report cannot use dynamic sourcing because it is connected to a specific Intelligent Cube, or the user is browsing the elements of an attribute from within the report.

CMI_CUBE_TEMPLATE_MISSING_
FILTER_ATTRIBUTE_FORM

Dynamic sourcing cannot be used because an attribute form used in the report's filter qualifications is not available in the Intelligent Cube.

CMI_CUBES_FOR_AD_HOC_
DISABLED_FOR_REPORT

Dynamic sourcing is disabled for the report. To enable dynamic sourcing for a report, see Enabling or disabling dynamic sourcing for reports.

CMI_CUBES_FOR_AD_HOC_
DISABLED_MASTERSWITCH

Dynamic sourcing is disabled for the project. To enable dynamic sourcing for a project, see Enabling or disabling dynamic sourcing for projects.

CMI_DB_ONLY_FUNCTION_IN_
FILTER

Dynamic sourcing cannot be used because a passthrough or database function such as ApplySimple is used in the filter.

CMI_DB_ONLY_FUNCTION_IN_
METRIC_FORMULA

Dynamic sourcing cannot be used because a passthrough or database function such as ApplySimple is used in a metric's formula.

CMI_DIFFERENT_AGG_TABLE_HIT

Dynamic sourcing cannot be used because of one of the following scenarios:

A metric retrieves its data from different aggregate tables for the report and Intelligent Cube.

The metric uses an aggregation function other than Sum for the aggregate table.

The metric uses the Sum aggregation function, but the aggregate table is disabled for dynamic sourcing.

For information on disabling dynamic sourcing for aggregate tables, see Disabling dynamic sourcing for aggregate tables.

CMI_DIFFERENT_DB_ROLES

Dynamic sourcing cannot be used because the report and Intelligent Cube use different database instances.

CMI_DIFFERENT_METRIC_FORMULA

This error signifies that, due to differing metric formulas, a metric in an Intelligent Cube is not a match for a metric on a report. All metrics on an Intelligent Cube are checked to determine if they are a match for a metric on a report. This process is done until a match is found, or no match is found and dynamic sourcing is not used (finding no matches for a metric returns the error CMI_NO_GOOD_CANDIDATE_METRICS_
FOUND
).

CMI_DIFFERENT_
TRANSFORMATIONS_USED

Dynamic sourcing cannot be used because a metric on the report and a metric on the Intelligent Cube use different transformations.

CMI_DIMMETRIC_BRANCH_IN_CUBE

This error commonly occurs because a compound metric is included in the Intelligent Cube, which is preventing the Intelligent Cube from being available for dynamic sourcing. Only compound metrics that are defined as smart metrics can be included in Intelligent Cubes.

CMI_DISTINCT_FOUND_ON_
AGGREGATION_FUNCTION

Dynamic sourcing cannot be used because the Distinct parameter is used in the aggregation of a metric and the level of data does not match between the report and the Intelligent Cube. To support dynamic sourcing when a Distinct parameter is used in an aggregation, the Intelligent Cube and report must contain the exact same level of data.

CMI_DISTINGUISH_DUPLICATED_
ROWS_MISMATCH_FOR_CUBE_AND_
REPORT

The report cannot connect to the Intelligent Cube using dynamic sourcing because the Distinguish Duplicated Rows VLDB property is not defined the same in the report and the Intelligent Cube. For information on this and other VLDB properties, see the System Administration Guide.

CMI_FACT_ENTRY_LVL_ERROR

Dynamic sourcing cannot be used because a metric uses a fact with a fact extension or degradation. For information on fact level extensions, see the Facts section in the Project Design Help.

CMI_FACT_ENTRY_LVL_GREATER_
THAN_A_FILTER_LEVEL

Dynamic sourcing cannot be used because the fact entry level of a metric on the report and the filtering criteria of the report cannot be satisfied by the Intelligent Cube. For example, a report includes a metric that has a fact entry level of Year, and the filter includes a qualification on the Month attribute, which is at a lower logical level. If the lower level attribute used in the filter (for this example, Month) is not included in the Intelligent Cube, dynamic sourcing cannot be used. To support dynamic sourcing, the lower level attribute must be included in the Intelligent Cube.

CMI_FACT_NOT_SUPPORTED_AT_
REQUIRED_CUBE_LEVEL

The report cannot connect to the Intelligent Cube using dynamic sourcing because a metric on the report is at a higher level than what is available on the Intelligent Cube. For example, a report requires metric data to be displayed at a yearly level, but the Intelligent Cube can only display metric data at the quarterly level. Dynamic sourcing cannot be used to connect the report to this Intelligent Cube.

CMI_FILTER_FACT_NODE_NOT_
SUPPORTED

Dynamic sourcing cannot be used because a fact is included in a filter. This can only occur if you use one of the SQL optimization options available with the SQL Global Optimization VLDB property.

CMI_FILTER_KEY_ATTRIBUTE_
UNAVAILABLE

Dynamic sourcing cannot be used because an attribute form is used in a conditional metric included on the report or in the report filter, and the attribute form is not included in the Intelligent Cube.

CMI_FILTER_METRIC_EXPR_
NODE_NOT_SUPPORTED

Dynamic sourcing cannot be used because a metric qualification is used in the report or Intelligent Cube.

CMI_FILTER_METRIC_NODE_NOT_
SUPPORTED

Dynamic sourcing cannot be used because a metric qualification is used in the report or Intelligent Cube.

CMI_FILTER_NOT_RESTRICTIVE_
ENOUGH

The Intelligent Cube cannot be used for dynamic sourcing for the report because it cannot be verified that the Intelligent Cube filter on a particular metric is less restrictive than the report filter.

CMI_FILTER_PRED_NODE_NOT_
SUPPORTED

Dynamic sourcing cannot be used because a metric qualification is used in the report or Intelligent Cube.

CMI_FILTER_RELATIONSHIP_
NODE_NOT_SUPPORTED

Dynamic sourcing cannot be used because a relationship qualification that cannot be supported is used in the report or Intelligent Cube.

CMI_FILTER_TABLE_NODE_NOT_
SUPPORTED

Dynamic sourcing cannot be used because a relationship qualification that cannot be supported is used in the report or Intelligent Cube.

CMI_FILTER_UNIT_ROOT_NODE_
NOT_SUPPORTED

Dynamic sourcing cannot be used because a report is used as a filter of the report or Intelligent Cube.

CMI_FILTERING_KEY_
ATTRIBUTE_UNAVAILABLE

Dynamic sourcing cannot be used because an attribute form is used in a conditional metric included on the report or in the report filter, and the attribute form is not included in the Intelligent Cube.

CMI_FILTERS_CANNOT_ENSURE_
ALL_DATA_NEEDED_IS_IN_CUBE

The Intelligent Cube cannot be used for dynamic sourcing for the report because it cannot be verified that the Intelligent Cube filter is less restrictive than the report filter.

CMI_FULL_OUTER_JOIN_NOT_
SUPPORTED

Dynamic sourcing cannot be used because full outer joins are not supported or enabled in the project or by the database.

CMI_GROUP_BY_ATTRIBUTE_
UNAVAILABLE

Dynamic sourcing cannot be used because an attribute form used to define the level for a level metric is not included in the Intelligent Cube.

CMI_IF_NO_METRIC_REPORT_AND_CUBE_LOWEST_LVL_MUST_BE_THE_SAME

Dynamic sourcing cannot be used for the report because the report contains no metrics, and the Intelligent Cube does not use the same level as the report. For reports with no metrics, Intelligent Cubes must have the same level as these reports to use dynamic sourcing.

CMI_INCOMPATIBLE_DATA_
TYPES_IN_FILTER

Dynamic sourcing cannot be used because a filter qualification includes two incompatible data types. One scenario in which this can occur is when identity forms are used to filter data, and smaller identity numbers use an integer type, while larger identity numbers use big decimal.

CMI_INCOMPLETE_HIERARCHY_
DANGEROUS_ATTRIBUTE

The report or Intelligent Cube includes an attribute that is defined as possibly containing null values, which disables dynamic sourcing for the report or Intelligent Cube. For information on how to disable or enable dynamic sourcing for an attribute, see Disabling dynamic sourcing for attributes.

CMI_INVALID_BETWEEN_IN_
FILTER

Dynamic sourcing cannot be used because an invalid filter qualification that uses the Between operator is used. The first value must be less than or equal to the second value.

CMI_JOINT_PARENT_OR_JOINT_
CHILD_OR_MANY_TO_MANY_NOT_
SUPPORTED

Joint child relationships and many-to-many relationships are not supported for dynamic sourcing.

CMI_METRIC_AND_TEMPLATE_
LVL_NOT_MATCHING_IN_CUBE

The metric in an Intelligent Cube cannot be used for dynamic sourcing because it is a level metric. For information on level metrics, see the Advanced Reporting Help.

CMI_METRIC_BREAK_BY_NOT_ON_
CUBE_TEMPLATE

Dynamic sourcing cannot be used because the break by parameter for a metric on the Intelligent Cube is not included in the Intelligent Cube. The break by parameter determines when calculations such as running summations or moving averages restart their calculations. For example, a running sum of revenue uses a break by parameter of the Year attribute. Without the Year attribute on the Intelligent Cube, the metric cannot be calculated correctly.

CMI_METRIC_CROSS_JOINED_NO_
GROUP_BY

Dynamic sourcing cannot be used because a cross join is used for a metric.

CMI_METRIC_FITLER_KEY_NOT_
IN_TEMPLATE

Dynamic sourcing cannot be used because an attribute form is used in a conditional metric included on the report or the report filter, and the attribute form is not included in the Intelligent Cube.

CMI_METRIC_GROUP_BY_KEY_
NOT_IN_TEMPLATE

Dynamic sourcing cannot be used because an attribute form used to define the level for a level metric is not included in the Intelligent Cube. This can also be caused by defining the filtering of a target for a level metric to be absolute or ignore.

CMI_METRIC_NOT_OJ

The Intelligent Cube cannot be used for dynamic sourcing because it includes a metric that does not use outer joins.

Intelligent Cubes of this type can be made available for dynamic sourcing by using outer joins for all metrics in the Intelligent Cube, or selecting the Allow dynamic sourcing even if outer join properties are not set option for the Intelligent Cube (see Enabling or disabling dynamic sourcing for Intelligent Cubes).

CMI_METRIC_NOT_SAFE

The metric has been disabled for dynamic sourcing, as described in Disabling dynamic sourcing for metrics.

CMI_METRIC_WITH_
CONDITIONALITY_IN_CUBE

The Intelligent Cube cannot be used for dynamic sourcing because it includes a conditional metric. For information on conditional metrics, see the Advanced Reporting Help.

CMI_METRICS_WITH_NESTED_
AGGREGATION_NOT_SUPPORTED

Dynamic sourcing cannot be used because nested aggregation is used for a metric. Nested aggregation is not supported for dynamic sourcing.

CMI_NO_ERROR

No error occurred, the report can use dynamic sourcing if an Intelligent Cube with the correct data requirements can be found.

CMI_NO_GOOD_CANDIDATE_
METRICS_FOUND

Dynamic sourcing cannot be used because no suitable metric can be found in the Intelligent Cube for a metric included in the report.

CMI_NON_AGG_FUNCTION_FOUND

Dynamic sourcing cannot be used because a non-aggregation function such as First is used, and the metric level in the report is different than the metric level in the Intelligent Cube.

CMI_NON_AGG_NOT_REPORT_
LEVEL_METRIC_FOUND

Dynamic sourcing cannot be used because a metric uses a function that cannot use dynamic aggregation by default. This prevents the metric from being able to display data at the level defined for the Intelligent Cube. For information on functions that are not dynamically aggregated by default, see Metrics that are not dynamically aggregated by default.

CMI_NON_HDA_USER_CANNOT_USE_HDA_CUBE

Dynamic sourcing cannot be used because the Intelligent Cube uses MultiSource Option to connect to multiple data sources, but the user running the report dose not have the privileges to use the MultiSource Option. For information on MultiSource Option, see the Project Design Help.

CMI_NONAGGREGATABLE_METRIC

Dynamic sourcing cannot be used because a metric that cannot be aggregated is used, and the metric level in the report is different than the metric level in the Intelligent Cube.

CMI_NONAGGREGATION_IN_METRIC

The Intelligent Cube cannot be used for dynamic sourcing because it includes a metric that cannot be aggregated, and the metric level in the report is different than the metric level in the Intelligent Cube.

CMI_NULL_CHECKING_FOR_ANAL_
ENGINE_MISMATCH

Dynamic sourcing cannot be used because the option selected for the Null checking for Analytical Engine VLDB Property is different for the report and Intelligent Cube. The same option must be used to match a report and Intelligent Cube for dynamic sourcing.

CMI_OLD_OLAP_FUNCTION_IN_
METRIC

Dynamic sourcing cannot be used because old OLAP Services behavior is enabled.

To use the new OLAP Services behavior, select the Use OLAP's new behavior option for the OLAP New Behavior VLDB Property.

CMI_PERFORM_OR_FAILED

Dynamic sourcing cannot be used because filtering qualifications could not be combined correctly with the logical operator OR. To support dynamic sourcing you can remove or modify filter qualifications. For information on how filter qualifications can be used with dynamic sourcing, see Best practices for supporting dynamic sourcing.

CMI_REPORT_IS_XDA

The report is either a:

OLAP cube report connected to SAP BI, Microsoft Analysis Services, or Hyperion Essbase

Query Builder report

Freeform SQL report

These types of reports cannot use dynamic sourcing.

CMI_REPORT_LIMIT_ON_CUBE_
FOUND

A report limit is present on the Intelligent Cube. Intelligent Cubes with report limits cannot be used for dynamic sourcing.

CMI_REPORT_OLAP_METRIC_
BREAK_BY_MISSING_FROM_CUBE_
TEMPLATE

Dynamic sourcing cannot be used because the break by parameter for a metric on a report is not included in the Intelligent Cube. The break by parameter determines when calculations such as running summations or moving averages restart their calculations. For example, a running sum of revenue uses a break by parameter of the Year attribute. Without the Year attribute on the Intelligent Cube, the metric cannot be calculated correctly.

CMI_REPORT_OLAP_METRIC_SORT_BY_MISSING_FROM_CUBE_
TEMPLATE

Dynamic sourcing cannot be used because the sort by parameter for a metric is not included in the Intelligent Cube. The sort by parameter determines the order in which calculations such as running summations or moving averages perform their calculations. For example, a running sum of revenue uses a sort by parameter of the Quarter attribute. Without the Quarter attribute on the Intelligent Cube, the metric cannot be calculated correctly.

CMI_REPORT_TEMPLATE_
ATTRIBUTE_MISSING_FROM_CUBE_TEMPLATE

Dynamic sourcing cannot be used because an attribute included in the report is not included in the Intelligent Cube.

CMI_REPORTS_WITH_ZERO_RL_
METRICS_CAN_ONLY_HIT_CUBE_
WITH_FOJ_SUPPORT

Dynamic sourcing cannot be used because the report uses metrics that are not at the report level. To support dynamic sourcing for these types of reports, Intelligent Cubes must support outer joins. For information on outer join support with Intelligent Cubes, see Enabling or disabling dynamic sourcing for Intelligent Cubes.

CMI_SECURITY_FILTER_KEY_
ATTRIBUTE_UNAVAILABLE

Dynamic sourcing cannot be used because an attribute used to define the security filter of the user executing the report is not included in the Intelligent Cube.

CMI_SECURITY_FILTER_LEVEL_
ATTRIBUTE_UNAVAILABLE

Dynamic sourcing cannot be used because an attribute used to define the security filter of the user executing the report is not included in the Intelligent Cube.

CMI_STRING_COMPARISON_NOT_
ALLOWED

Dynamic sourcing cannot be used because the report uses a filter qualification that qualifies on the text data of an attribute form, and these types of qualifications have been disabled for dynamic sourcing. For information on the String Comparison Behavior VLDB property which defines this functionality, see Supporting filtering on attributes for dynamic sourcing.

CMI_STRING_COMPARISON_NOT_
ALLOWED_IN_SORT_BY

Dynamic sourcing cannot be used because the report uses a sort on the text data of an attribute form, and these types of sorts have been disabled for dynamic sourcing. For information on the String Comparison Behavior VLDB property which defines this functionality, see Supporting filtering on attributes for dynamic sourcing.

CMI_UNEXPECTED_REPORT_TYPE

The report is of a type that cannot use dynamic sourcing, which includes:

MDX cube report

Query Builder report

Freeform SQL report

Data marts

CMI_UNSATISFIABLE_CONDITION_IN_FILTER

Dynamic sourcing cannot be used because an unsupported condition is included in the filter. For a list of features that are not supported for dynamic sourcing, see Features that prevent the use of dynamic sourcing.

CMI_UNSUPPORTED_ELEMENT_IN_
FILTER

Dynamic sourcing cannot be used because an element that is not supported for dynamic sourcing is included in the filter. For a list of features that are not supported for dynamic sourcing, see Features that prevent the use of dynamic sourcing.

CMI_UNSUPPORTED_EXPR_TYPE_
IN_FILTER

Dynamic sourcing cannot be used because an unsupported expression is included in a filter. For a list of features that are not supported for dynamic sourcing, see Features that prevent the use of dynamic sourcing.

CMI_UNSUPPORTED_FILTER_NODE

Dynamic sourcing cannot be used because an unsupported filter type is used. For a list of features that are not supported for dynamic sourcing, see Features that prevent the use of dynamic sourcing.

CMI_UNSUPPORTED_FUNCTION_IN_FILTER

Dynamic sourcing cannot be used because an unsupported function is included in a filter. Supported functions in filters are listed in Features that can be used with dynamic sourcing.

CMI_USER_LOCALE_NOT_
SUPPORTED_IN_CUBE

The report cannot connect to the Intelligent Cube using dynamic sourcing because the Intelligent Cube is not available for the locale of the user viewing the report. For MicroStrategy projects that support multiple languages and character sets, users can view reports that display data for their locale. To use dynamic sourcing, an Intelligent Cube must be available for the user's locale.

CMI_USER_DOESNT_HAVE_
DYNAMIC_SOURCING_PRIVILEGE

The report cannot connect to the Intelligent Cube using dynamic sourcing because the user account being used does not have the Use Dynamic Sourcing privilege. This privilege is required to use dynamic sourcing.

CMI_VLDB_SETTING_MISMATCH_
FOR_CUBE_AND_REPORT

The report cannot connect to the Intelligent Cube using dynamic sourcing because the options used for various VLDB properties do not match between these two objects. For a list of VLDB properties that prevent reports from using dynamic sourcing, see Features that prevent reports from using dynamic sourcing. For information on VLDB properties, see the System Administration Guide.

CMI_ZERO_METRICS_NEEDED

The report cannot use dynamic sourcing because it does not contain any metrics, and no matching Intelligent Cube with no metrics can be found.

CMI_UNSUPPORTED_INCREMENTAL_REFRESH

The Intelligent Cube cannot be used for dynamic sourcing due to an unsupported incremental refresh that modifies the data in the Intelligent Cube.

CMI_RAGGED_HIERARCHY_NO_METRICS_NOT_SUPPORTED

The report cannot be used for dynamic sourcing because it has no metrics, and attributes from ragged hierarchies. For more information, see the MDX Cube Reporting Help.

CMI_NONAGG_BY_LKP_ON_INCR_REFR_CUBE_NOT_SUPPORTED

The Intelligent Cube cannot be used for dynamic sourcing because it uses non-aggregation by lookup and is incrementally refreshed

CMI_DIFFERENT_MDX_SOURCE_TABLE_USED

The MDX-based Intelligent Cube cannot be used for dynamic sourcing because the report and Intelligent Cube point to different MDX data sources.