Skip to content

Using Health Check

Health Check is the primary general-purpose diagnostic for a configured Casabase Cube.

Use it when:

  • A cube is not behaving as expected
  • A dimension has been rebuilt or changed
  • Queries begin failing unexpectedly
  • Formula problems are suspected
  • An application upgrade has completed
  • You want to verify the overall state of a cube before deeper troubleshooting

Health Check reports configuration and application-state findings without changing the cube.

To check a specific cube:

CALL CUBE.HEALTH_CHECK('FINANCE');

The result includes:

Column Description
CUBE_NAME Cube associated with the check.
DIM_NAME Dimension associated with the check, when applicable.
CHECK_TYPE Type of validation performed.
STATUS Result of the check.
MESSAGE Description of the finding.

STATUS can indicate OK, WARNING, or an error state.

Health Check does not rebuild dimensions, modify formulas, change security, or automatically correct configuration.

Omit the cube name to run Health Check across all configured cubes:

CALL CUBE.HEALTH_CHECK();

This is useful after an application upgrade or when performing a broader administrative review.

For a specific troubleshooting incident, checking the affected cube first usually produces a more focused result.

Health Check evaluates multiple areas of the cube configuration.

Health Check verifies that built dimension structures exist and contain members.

Relevant check types include:

Check Type Verifies
DIMENSION_TABLE The built dimension structure exists.
DIMENSION_ROW_COUNT The built dimension contains members.

A failure here can indicate that a dimension has not been built successfully or that the expected built structure is missing.

If the issue involves a dimension build, continue with Dimension Validation & Build Errors.

Health Check verifies that configured dimension source objects and columns can be resolved.

Relevant check type:

INPUT_TABLE_CONFIG

This can identify problems such as:

  • A source table that no longer exists
  • A renamed source object
  • An invalid source-column mapping
  • Source access that is no longer available to the application

If a source table exists but Casabase Cube cannot access it, review the applicable Snowflake grants.

See Access & Permission Issues.

Health Check verifies application objects required for querying.

Relevant check types include:

Check Type Verifies
QUERY_FUNCTION Required query support objects exist.
SHARED_TABLE The consumer-facing view exists.

These checks are particularly useful after an application upgrade or when a previously working query path stops functioning.

Health Check reports how long it has been since a dimension was updated.

Relevant check type:

DATA_FRESHNESS

A freshness warning does not necessarily mean the cube is invalid.

Instead, determine whether the dimension should have been rebuilt since its source metadata last changed.

If the source definition has changed and the dimension has not been rebuilt, see Rebuilding Dimensions.

Health Check verifies important relationships within the cube configuration.

Relevant check type:

CONFIG_INTEGRITY

One of the integrity checks verifies that configured dimensions map to distinct fact-table columns.

Configuration-integrity errors should be corrected before relying on query results.

Health Check performs several formula-related checks.

These include:

Check Type Verifies
FORMULA_SYNTAX Formula syntax can be parsed.
FORMULA_BRACKETS Brackets are balanced.
FORMULA_CASE_END CASE blocks are properly closed.
FORMULA_EMPTY Formula definitions are not blank.
FORMULA_NO_DIMENSION Each formula is associated with a dimension.
FORMULA_DIVISION_SAFETY Division expressions protect against divide-by-zero behavior.
FORMULA_ESSBASE_SYNTAX Untranslated Essbase-specific syntax is not present.
FORMULA_COUNT Reports the formula count for the cube.

Health Check is useful for identifying broad formula-health issues, but use the dedicated formula validation tools when troubleshooting an individual formula.

See Formula Errors and Formula Validation.

Pay particular attention to:

FORMULA_DIVISION_SAFETY

This warning identifies division expressions that do not use the supported defensive pattern for a zero denominator.

For example, a division should generally guard the denominator with the documented NULLIF pattern rather than performing unchecked division.

A division-safety warning does not necessarily mean the formula cannot be parsed, but it identifies calculation behavior that should be reviewed.

See Best Practices.

For cubes migrated from Oracle Essbase or Oracle Cloud EPM, Health Check can identify formula definitions containing untranslated Essbase-specific syntax.

Relevant check type:

FORMULA_ESSBASE_SYNTAX

If this check reports a problem, review the affected formula and convert the unsupported source syntax to the corresponding Casabase Cube formula pattern.

Do not assume that a successful outline import means every source formula is automatically compatible.

See Formula Errors and Oracle Essbase and Cloud EPM Migration.

Snowflake Intelligence and Cortex Agent Checks

Section titled “Snowflake Intelligence and Cortex Agent Checks”

The current Casabase Cube Intelligence integration uses an app-created Cortex Agent.

If an issue involves Snowflake Intelligence, validate the agent separately from the core cube health checks:

  • Confirm the app-created agent is available.
  • Confirm the required Cortex Agent and Snowflake Intelligence capabilities are enabled.
  • Confirm the intended Snowflake role has the appropriate Casabase Cube application role.
  • Confirm the user’s default role has the required Cortex Agent and warehouse privileges.
  • Confirm required consumer-object privileges and caller grants are present where applicable.
  • Test a representative question that invokes the intended Casabase Cube tools.

See Setting Up the Agent and Governance and Security.

After running Health Check, you can filter the result to findings whose status is not OK.

Immediately after the HEALTH_CHECK call, run:

SELECT *
FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
WHERE STATUS <> 'OK';

This is useful when the complete Health Check contains many successful checks.

Conceptually:

HEALTH_CHECK
All Findings
STATUS <> 'OK'
Warnings and Errors

The check completed successfully and did not identify a problem for that item.

No action is normally required.

A warning identifies something that deserves review but does not necessarily make the cube unusable.

Examples can include:

  • Data freshness
  • Formula division safety
  • A stale customer-owned AI agent

Determine whether the warning applies to the problem you are investigating.

An error state indicates that Health Check identified a condition that can affect the validity or operation of the cube.

Investigate errors before warnings.

The CHECK_TYPE, DIM_NAME, and MESSAGE columns identify the affected area.

Health Check Does Not Replace Dimension Validation

Section titled “Health Check Does Not Replace Dimension Validation”

Health Check and dimension validation serve different purposes.

HEALTH_CHECK
Overall Configured Cube Health
VALIDATE_DIMENSION
Specific Dimension Definition
Before / During Build Troubleshooting

If a dimension definition is invalid, use the dedicated dimension validation workflow rather than relying only on Health Check.

See Dimension Validation.

Health Check Does Not Replace Formula Validation

Section titled “Health Check Does Not Replace Formula Validation”

Health Check can identify formula-health conditions across the cube, but an individual formula problem should also be investigated using the dedicated formula validation capabilities.

Use Health Check to answer:

Is there evidence of formula problems in this cube?

Use formula validation to answer:

What is wrong with this particular formula?

See Formula Validation.

Health Check Does Not Diagnose Every Performance Problem

Section titled “Health Check Does Not Diagnose Every Performance Problem”

Health Check verifies application and configuration health. It is not the primary tool for analyzing query execution performance.

For a slow query, use the performance diagnostics:

CALL CUBE.PERFORMANCE_REPORT('FINANCE', '30');
CALL CUBE.SLOW_QUERY_INSPECTOR(
'FINANCE',
NULL,
'7',
NULL
);
CALL CUBE.FORMULA_COST_ESTIMATOR('FINANCE');

See Performance Issues.

Run Health Check for each important cube after a Casabase Cube application upgrade.

For example:

CALL CUBE.HEALTH_CHECK('FINANCE');

Then:

  1. Review all non-OK findings.
  2. Run a known representative query.
  3. Compare the result with the expected result.
  4. Verify scheduled queries if they are used.
  5. Investigate any upgrade-related audit failures.

Health Check can also identify customer-owned objects, such as a Cortex Agent, that require manual attention after an upgrade.

See Application Upgrades.

If Health Check Is Clean but the Problem Remains

Section titled “If Health Check Is Clean but the Problem Remains”

A clean Health Check means the checks it performs did not identify a problem. It does not prove that every possible query, formula, security configuration, or external dependency is correct.

Continue with the troubleshooting page that matches the symptom:

Also review recent configuration changes and the Audit Log when the problem began after previously working behavior.

If Health Check identifies a problem you cannot resolve, or the issue remains despite a clean Health Check, generate support information.

For a specific cube:

CALL CUBE.GENERATE_SUPPORT_INFO('FINANCE');

For system-level diagnostics:

CALL CUBE.GENERATE_SUPPORT_INFO(NULL);

The support information contains version, configuration, and application-state information useful for troubleshooting.

Generating it does not automatically transmit the information to Casabase Software.

See Getting Additional Help.

For a typical cube issue:

Run HEALTH_CHECK
Review STATUS <> 'OK'
├── Dimension Issue
│ └── Validate / Rebuild Dimension
├── Formula Issue
│ └── Validate Formula
├── Access Issue
│ └── Review Grants
├── Upgrade Issue
│ └── Review Upgrade / Audit State
└── No Relevant Finding
Use Symptom-Specific Diagnostics
Generate Support Information
Contact Support if Needed

Health Check should generally be one of the first diagnostic steps, not the final troubleshooting step.