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 results display 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 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.
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.
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.
- On the Home page, click Navigator and then click Semantic Models.
- In the Semantic Models page, click a semantic model to open it.
- Update the semantic model as needed and click Save to save the semantic model before running Advanced Check.
- In the toolbar, click the down arrow next to the Check Consistency icon and then select Advanced Check.
- 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.
- From the Advanced Check tab, click an object's link to locate and open it.
- Fix the object and then click Save to save the semantic model.
- 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.
- On the Home page, click Navigator and then click Semantic Models.
- In the Semantic Models page, click a semantic model to open it.
- In the toolbar, click the down arrow next to Check
Consistency
.
- 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 the records. 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. Then the records are generated and stored using the language selected by the user at log 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.
- On the Home page, click Navigator and then click Semantic Models.
- In the Semantic Models page, click a semantic model to open it.
- Click Page Menu and then click Preferences.
- 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.
- 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.
- On the Home page, click Navigator and then click Semantic Models.
- In the Semantic Models page, click a semantic model to open it.
- If you've updated the semantic model, then click Save to save it before running Check Consistency or Advanced Check.
- Run Check Consistency on the model or model object, or Advanced Check on the model:
- In the Check Consistency tab or the Advanced Check tab, click Export
to CSV
.