Work with Check Consistency

This topic describes how to use the Check Consistency and Advanced Checker features to check a semantic model for errors and warnings.

About Check Consistency

Use the Check Consistency feature to validate a semantic model object or the entire semantic model. Check Consistency locates and helps you fix issues that cause query generation to fail at runtime.

Check Consistency provides the following types of messages:

  • Errors - Error messages describe errors that you must fix. Use the information in the message to correct the inconsistency, then run the Check Consistency again to confirm that you've fixed the error.
  • Warnings - These messages indicate conditions that you might need to fix. For example, a warning message about a missing display key in a logical hierarchy level. Other messages warn of inconsistent values, or feature table changes that don't match the defaults.

For examples of error and warning messages, see Common Consistency Check Messages.

The consistency check report displays in a tab and contains information that you can use to understand, navigate to, and fix the objects listed in the report. Each error or a warning is identified by its name and object type (for example, Logical Table or Initialization Block). You can also search for objects in the list by name, error message number, and so on.

Description of consistency_checker_tab.png follows
Description of the illustration consistency_checker_tab.png

Passing the consistency check doesn't guarantee that a semantic model is constructed correctly, but it does rule out many common problems.

The consistency check doesn't check the validity of objects outside the metadata using the connection. It only checks the consistency of the metadata and not the mapping to the physical objects outside the metadata. If the connection isn't working or objects were deleted in the database, the consistency check doesn't report these errors.

If you use lookup tables to store localized field names with multilingual schemas, the consistency check rules are relaxed for the lookup tables.

Sometimes when you check the semantic model's consistency after an Oracle Analytics upgrade, you might see errors that weren't included in previous consistency checks.

Types of Semantic Model Consistency Checks

There are two consistency checks that you can run: Check Consistency and Advanced Check.

Check Consistency

Check Consistency examines individual semantic objects and their relationships to other objects and finds certain kinds of errors and inconsistencies. You can run Check Consistency on an individual object, a group of selected objects, or the whole semantic model. Run Check Consistency and resolve all errors before you run Advanced Check.

Here are some examples of what running Check Consistency does:

  • Finds any logical tables that don't have logical sources configured.
  • Finds any logical columns that aren't mapped to physical sources.
  • Checks for undefined logical join conditions.
  • Determines if any physical tables referenced in a business model aren't joined to the other tables referenced in the business model.
  • Checks if each business model has a corresponding subject area.

While you're developing the semantic model, Oracle recommends that you run Check Consistency on objects and the whole model to find and fix any errors. See Check the Consistency of a Semantic Model.

Advanced Check

Run Advanced Check before you deploy the semantic model.

To successfully deploy a semantic model, it must pass the Advanced Check. However, to troubleshoot migration issues, a semantic model doesn't have to pass the Advanced Check. You can convert a semantic model that passed only Check Consistency to a .rpd file, but be aware that it might contain issues that prevent query generation.

The Advanced Check does the following:

  • Runs Check Consistency to check the whole model. The consistency check must be error-free before Semantic Modeler can perform the advanced checks.

    If the Advanced Check runs Check Consistency and finds any errors, then only Check Consistency errors are displayed. Advanced Check errors aren't found and displayed until all Check Consistency errors are resolved.

  • Converts the semantic model from SMML to a .rpd file and runs advanced checks on the .rpd. If the model contains Check Consistency errors, Advanced Check can't convert it from SMML to a.rpd file and perform advanced checks.
  • Looks for scenarios with query generation navigation space errors.

Common Consistency Check Messages

Use this topic to help you understand and fix some of the most common consistency check warnings and errors.

This topic provides a partial list of check consistency messages, and doesn't describe all possible warnings and errors.

Error or Warning Example Error or Warning More Information

[14031] The content filter of a source for logical table: FACT_TABLE_NAME references multiple dimensions.

Error

Indicates that the logical table has a logical table source with a WHERE clause filter that references multiple dimensions. A WHERE clause with multiple dimensions is invalid.

[38126] 'Logical Table' '"Technology - WFA"."Fact WFA WO "' has name with leading or trailing space(s).

Error

Identifies an object with leading or trailing spaces in the object name. Leading spaces in object names can cause query and reporting issues.

[38012] Logical column DIM_Start_Date.YEAR_QUARTER_NBR doesn't have a physical data type mapping, nor is it a derived column.

[38001] Logical column DIM_Start_Date.YEAR_QUARTER_NBR has no physical data source mapping.

Error

Indicates that logical columns aren't mapped to any logical table source. These mappings are invalid and cause queries to fail.

Both of the validation rules relate to the same issue.

[39062] Initialization Block 'Authorization' uses Connection Pool '"My_DB".

"My_CP"' which is used for report queries. This may impact query performance.

Warning

Indicates that the same connection pool is used for both queries and for initialization blocks. This configuration isn't recommended.

To fix this issue, create a dedicated connection pool for initialization blocks. Otherwise, query performance may suffer, or user logins can stop responding if authorization initialization blocks can't run.

[39028] The features in Database 'MyDB' don't match the defaults. This can cause query problems.

Warning

Indicates that some database feature defaults were changed in this release of Oracle Analytics. Unless you've specific customizations to your feature set, it's recommended that you reset your database features to the new defaults.

[39003] Missing functional dependency association for column: DIM_Offer_End_Date.CREATE_DT.

Warning

Indicates that the given column is only mapped to logical table sources that are disabled. This warning prompts you to decide if you want to use the default behavior.

[39059] Logical dimension table MY_DIM has a source MY_DIM_DAILY at level Daily that joins to a higher level fact source MY_FACT_SUM.MTHLY_SUM

Warning

Indicates that the fact logical table source has an aggregate grain set in this dimension, but either no join was found that connects to any logical table source in this dimension or an invalid join was found.

This means that either no join exists at all, or it does exist but is potentially invalid because it connects a higher-level fact source to a lower-level dimensional source. Such joins are potentially invalid because if followed, they might lead to double counting in query results.

For example, consider Select year, yearlySales. Even if a join exists between monthTable and yearlySales table on yearId, it shouldn't be used because such a join would overstate the results by a factor of 12 (the number of months in each year).

If you get a 39059 warning after upgrading, verify that the join is as intended and doesn't result in incorrect double counting. If the join is as intended, then ignore the 39059 warning.

[39055] Fact table "HR"."FACT - HC Budget" isn't joined to tables in logical dimension "HR"."DIM - HR EmployeeDim". This can cause problems when extracting project(s).

Warning

Indicates that there's a physical join between the given fact and dimension sources, but there isn't a corresponding logical join between the fact table and the dimension table.

[39057] There are physical tables mapped in Logical Table Source ""HR"."Dim - Schedule"."SCH_DEFN"" that aren't used in any column mappings or expressions.

Warning

Indicates that the given logical table source contains tables that aren't used in any mapping. This situation shouldn't cause any errors.

Check the Consistency of a Semantic Model

Run Check Consistency to validate all of the semantic model's objects and the relationships between objects. Check Consistency displays a list of syntax or semantic errors and warnings that can cause runtime query generation to fail.

Oracle recommends that you check consistency to find and fix any errors while you develop the semantic model. Oracle also recommends that you run Check Consistency and fix any errors before you run Advanced Check and deploy the model.
You can deploy a model with warnings, but not with errors. You can export a semantic model that contains errors.
For more information about Check Consistency, see About Check Consistency.
You can also run Check Consistency on a specific semantic model object. For example, a database, business model, subject area, or table. See Check Consistency of One or More Semantic Model Objects.
  1. On the Home page, click Navigator and then click Semantic Models.
  2. In the Semantic Models page, click a semantic model to open it.
  3. If you've updated the semantic model, then click Save to save it before running Check Consistency.
  4. In the toolbar, click the Check Consistency icon and then select either Errors and Warnings or Errors Only to specify the results you want.
    The Check Consistency tab is displayed and contains a list of errors and warnings.
  5. From the Check Consistency tab, click an object's link to locate and open it.
  6. Fix the object and then click Save to save the semantic model.
  7. Click the Check Consistency tab and click Check to re-run Check Consistency and refresh the Check Consistency tab.

Check Consistency of One or More Semantic Model Objects

Use Check Consistency to validate a specific semantic model object or the objects that you choose. Check Consistency displays a list of syntax or semantic errors and warnings that may cause runtime queries to fail.

For more information about Check Consistency, see About Check Consistency.
For information about running Check Consistency for the whole semantic model, see Check the Consistency of a Semantic Model.
  1. On the Home page, click Navigator and then click Semantic Models.
  2. In the Semantic Models page, click a semantic model to open it.
  3. If you've updated the semantic model, then click Save to save it before running Check Consistency.
  4. Click the semantic model layer containing the object or objects to check and browse for or use Search to find the object or objects that you want to run consistency check on.
  5. To check one object, right-click it and select Check Consistency.
    To check multiple objects, hold down the Ctrl key and click the objects that you want to check, right-click, and select Check Consistency
    The Check Consistency tab is displayed and contains a list of errors and warnings.
  6. From the Check Consistency tab, click the object's link to locate and open it.
  7. Fix the issue and then click Save to save the semantic model.
  8. Click the Check Consistency tab and click Check to re-run the consistency check and to refresh the Check Consistency tab.

Run the Advanced Consistency Check Before Deploying a Semantic Model

Run the Advanced Check to confirm that your semantic model is ready for deployment and successful query generation.

The consistency check must be error-free before Semantic Modeler can perform the advanced checks and display any advanced check errors. Running Advanced Check won't show you a list of both consistency check and advanced check errors.

When you run Advanced Check, it first runs Check Consistency to check the whole model. If it finds any consistency errors, it displays them in a tab and you must resolve the errors before you can re-run the Advanced Check.

After Advanced Check runs Check Consistency successfully, it converts the semantic model from SMML to a .rpd file and then checks it for query generation navigation space errors.

After Advanced Check completes, it displays the Advanced Check tab and contains a list of syntax or semantic errors and warnings that it found.
Oracle Analytics runs Advanced Check in the background.
  1. On the Home page, click Navigator and then click Semantic Models.
  2. In the Semantic Models page, click a semantic model to open it.
  3. Update the semantic model as needed and click Save to save the semantic model before running Advanced Check.
  4. In the toolbar, click the down arrow next to the Check Consistency icon and then select Advanced Check.
  5. Go to the Oracle Analytics footer and view the status of the Advanced Check. If the footer displays "Consistency errors found," then click it and select View Results to display the Advanced Check tab containing the list of errors.
  6. From the Advanced Check tab, click an object's link to locate and open it.
  7. Fix the object and then click Save to save the semantic model.
  8. In the toolbar, click the down arrow next to the Check Consistency icon and then select Advanced Check to re-run Advanced Check.

Find and View Advanced Check History

You can find and view the results of the five previous advanced checks that you or other users ran on a semantic model.

You can refer to the information in previous Advance Check records to help you understand and troubleshoot model errors and warnings.
  1. On the Home page, click Navigator and then click Semantic Models.
  2. In the Semantic Models page, click a semantic model to open it.
  3. In the toolbar, click the down arrow next to the Check Consistency icon.
  4. Hover over Advanced Check History, and click the Advanced Check history record that you want to view.

Why Are the Advanced Check Records in a Different Language?

When you run the advanced consistency check, the language you selected when you logged into Oracle Analytics determines the language used to output and store the records containing the error and warning messages.

For example, if you selected Deutsch when you logged in and then ran the advanced consistency check, Oracle Analytics generates and stores the records in German.

When a user logs in and opens the advanced consistency check records, the records are displayed in the language used to generate them. For example, if the records were generated in German and another user selects English when logging in, the records are displayed in German.

To work around this issue, the user who opens the records must rerun the advanced consistency check so that the records are generated and stored using the language they selected when logged in.

Show or Hide the Advanced Check Warning Message

When you run Advanced Check, by default Oracle Analytics displays a message containing information about the Advanced Check. You can hide this message in your instance, or after you hide the message, you can choose to display it again.

Selecting the Do not show me this warning message again field in the Advanced Check dialog turns the Show Advanced Check warning message user preference off.
  1. On the Home page, click Navigator and then click Semantic Models.
  2. In the Semantic Models page, click a semantic model to open it.
  3. Click Page Menu and then click Preferences.
  4. In the Users Preferences dialog box, scroll to Consistency Check and then clear the Show Advanced Check warning message checkbox to turn the message off, or click to select the checkbox to turn the message on.
  5. Click Apply.

Export Consistency Check Results to a CSV File

After you run Check Consistency or Advanced Check, you can export the results to a CSV file.

Exporting consistency check results exports all results and not only the results displayed in the Check Consistency tab. For example, if you ran Check Consistency on a semantic model for both errors and warnings, and in the Check Consistency tab you click Error to display only error messages, when you click Export to CSV, Oracle Analytics produces a CSV file containing all errors and warnings.
  1. On the Home page, click Navigator and then click Semantic Models.
  2. In the Semantic Models page, click a semantic model to open it.
  3. If you've updated the semantic model, then click Save to save it before running Check Consistency or Advanced Check.
  4. Run Check Consistency on the model or model object, or Advanced Check on the model:
  5. In the Check Consistency tab or the Advanced Check tab, click Export to CSV.