Skip to main content
Version: v2.6

Data Sources Validation

Event Log​

The referenced event log differs from the one set in the scenario.

This happens if you selected an event log table or view previously, but meanwhile another table or view has been configured for the scenario outside of the app (using SQL code or a Snowflake UI that is not part of our app).

Please note that once you have configured the event log, it is important to keep the referenced table or view and its schema unchanged. You can add rows as long as the schema remains the same and the contents are valid.

Missing start timestamp column EL_ACTIVITY_START_TIMESTAMP or EL_ACTIVITY_TIMESTAMP

For the mining to work, the events must have timestamps. You can either provide start and end timestamps using the EL_ACTIVITY_START_TIMESTAMP and EL_ACTIVITY_END_TIMESTAMP columns or you can provide the EL_ACTIVITY_TIMESTAMP column if the duration of an event is not important or cannot be determined via the source systems.

Missing end timestamp column EL_ACTIVITY_END_TIMESTAMP or EL_ACTIVITY_TIMESTAMP

For the mining to work, the events must have timestamps. You can either provide start and end timestamps using the EL_ACTIVITY_START_TIMESTAMP and EL_ACTIVITY_END_TIMESTAMP columns or you can provide the EL_ACTIVITY_TIMESTAMP column if the duration of an event is not important or cannot be determined via the source systems.

Unsupported column <column>. Please use Case or Event Dimensions to transport arbitrary values.

The event log consists of a set of well-known columns which are documented here. Other columns than the documented ones must not be contained in the event log. If you need to provide additional data, consider using case or event dimensions.

Invalid type <column_type> for column <column>. Please change the column type to one of the following allowed types: <allowed_types_str>.

For the mentioned column, an invalid type was found. Change the type to one of the types listed in the message. See also event log documentation.

Case Dimensions​

The referenced case dimensions differ from the ones set in the scenario.

This happens if you selected a case dimensions table or view previously, but meanwhile another table or view has been configured for the scenario outside of the app (using SQL code or a Snowflake UI that is not part of our app).

Please note that once you have configured the case dimensions, it is important to keep the referenced table or view and its schema unchanged. You can add, remove or update row values as long as the schema remains the same and the contents are valid.

Missing column KEY_CASE_ID

The case dimensions data must contain a KEY_CASE_ID column which references the cases to which data belongs. For every case contained in the event log, the case dimensions must contain exactly one matching entry.

Invalid column <column>. Please prefix all columns other than KEY_CASE_ID with CD_ and use only alphanumerical characters and _.

This issue occurs when the case dimensions data contains a column (other that KEY_CASE_ID) whose name is not prefixed with CD_ or is otherwise invalid. A valid column name consist of the prefix CD_ followed by at least one character. Allowed characters are a-z, A-Z, 0-9 and _.

Invalid Case IDs: Please provide a case dimensions table with exactly one row per case id contained in the event log.

This issue can have several causes. The case dimensions data must contain exactly one row for each case present in the event log. This requirement has been violated in one of the following ways:

  • The data contains more than one row for at least one case.
  • The data is missing a row for at least one case.
  • The data contains a row for at least one case not present in the event log.

The following statements can be used to diagnose the problem:

-- find cases with more than one row
SELECT KEY_CASE_ID
FROM <case_dimensions_table>
GROUP BY KEY_CASE_ID
HAVING COUNT(KEY_CASE_ID) > 1;
-- find missing cases
WITH cases_from_event_log AS (
SELECT EL_CASE_ID
FROM <event_log_table>
GROUP BY EL_CASE_ID
)
, cases_from_case_dimensions AS (
SELECT KEY_CASE_ID
FROM <case_dimensions_table>
GROUP BY KEY_CASE_ID
)
SELECT EL_CASE_ID
FROM cases_from_event_log
LEFT OUTER JOIN cases_from_case_dimensions
ON (cases_from_event_log.EL_CASE_ID = cases_from_case_dimensions.KEY_CASE_ID)
WHERE KEY_CASE_ID IS NULL;
-- find cases not present in the event log
WITH cases_from_event_log AS (
SELECT EL_CASE_ID
FROM <event_log_table>
GROUP BY EL_CASE_ID
)
, cases_from_case_dimensions AS (
SELECT KEY_CASE_ID
FROM <case_dimensions_table>
GROUP BY KEY_CASE_ID
)
SELECT KEY_CASE_ID
FROM cases_from_event_log
RIGHT OUTER JOIN cases_from_case_dimensions
ON (cases_from_event_log.EL_CASE_ID = cases_from_case_dimensions.KEY_CASE_ID)
WHERE EL_CASE_ID IS NULL;

Event Dimensions​

The referenced event dimensions differ from the ones set in the scenario.

This happens if you selected an event dimensions table or view previously, but meanwhile another table or view has been configured for the scenario outside of the app (using SQL code or a Snowflake UI that is not part of our app).

Please note that once you have configured the event dimensions, it is important to keep the referenced table or view and its schema unchanged. You can add, remove or update row values as long as the schema remains the same and the contents are valid.

Missing column KEY_EVENT_ID

The event dimensions data must contain a KEY_EVENT_ID column which references the cases to which data belongs. For every event contained in the event log, the event dimensions must contain exactly one matching entry.

Invalid column <column>. Please prefix all columns other than KEY_EVENT_ID with ED_ and use only alphanumerical characters and _.

This issue occurs when the event dimensions data contains a column (other that KEY_EVENT_ID) whose name is not prefixed with ED_ or is otherwise invalid. A valid column name consist of the prefix ED_ followed by at least one character. Allowed characters are a-z, A-Z, 0-9 and _.

Invalid Event IDs: Please provide an event log with a unique non-null event id per event and an event dimensions table with exactly one row per event id contained in the event log.

This issue can have several causes. The event log must provide unique event ids per event and the event dimensions data must contain exactly one row for each event present in the event log. These requirements have been violated in one of the following ways:

  • The event log has no EL_EVENT_ID column.
  • The event log's EL_EVENT_ID column contains NULL for at least one row.
  • The event log's EL_EVENT_ID value is not unique per event.
  • The data contains more than one row for at least one event.
  • The data is missing a row for at least one event.
  • The data contains a row for at least one event not present in the event log.

The following statements can be used to diagnose the problem:

-- check if the event log has a EL_EVENT_ID columns
SHOW COLUMNS
LIKE 'EL_EVENT_ID'
IN TABLE <event_log_table>;
-- check for NULL values in the EL_EVENT_ID column of the event log
SELECT *
FROM <event_log_table>
WHERE EL_EVENT_ID IS NULL;
-- check if EL_EVENT_ID values are unique per event in the event log

-- for ocpm scenario
-- should return TRUE
SELECT COUNT(DISTINCT EL_ACTIVITY_ORIGIN_ID) = COUNT(DISTINCT EL_EVENT_ID)
FROM <event_log_table>;

-- for non-ocpm scenario
-- should return TRUE
SELECT COUNT(EL_EVENT_ID) = COUNT(DISTINCT EL_EVENT_ID)
FROM <event_log_table>;
-- check for NULL values in the EL_EVENT_ID column of the event log
SELECT *
FROM <event_log_table>
WHERE EL_EVENT_ID IS NULL;
-- find events with more than one row in the event log
SELECT KEY_EVENT_ID
FROM <event_dimensions_table>
GROUP BY KEY_EVENT_ID
HAVING COUNT(KEY_EVENT_ID) > 1;
-- find missing events in the event log
WITH events_from_event_log AS (
SELECT EL_EVENT_ID
FROM <event_log_table>
GROUP BY EL_EVENT_ID
)
, events_from_event_dimensions AS (
SELECT KEY_EVENT_ID
FROM <event_dimensions_table>
GROUP BY KEY_EVENT_ID
)
SELECT EL_EVENT_ID
FROM events_from_event_log
LEFT OUTER JOIN events_from_event_dimensions
ON (events_from_event_log.EL_EVENT_ID = events_from_event_dimensions.KEY_EVENT_ID)
WHERE KEY_EVENT_ID IS NULL;
-- find events not present in the event log
WITH events_from_event_log AS (
SELECT EL_EVENT_ID
FROM <event_log_table>
GROUP BY EL_EVENT_ID
)
, events_from_event_dimensions AS (
SELECT KEY_EVENT_ID
FROM <event_dimensions_table>
GROUP BY KEY_EVENT_ID
)
SELECT KEY_EVENT_ID
FROM events_from_event_log
RIGHT OUTER JOIN events_from_event_dimensions
ON (events_from_event_log.EL_EVENT_ID = events_from_event_dimensions.KEY_EVENT_ID)
WHERE EL_EVENT_ID IS NULL;