Skip to main content

Celonis Product Documentation

Troubleshooting perspectives

Here's troubleshooting tips for the process of loading perspectives in a data pool for object-centric process mining. The main documentation for perspectives is at Loading and using perspectives.

Troubleshooting object-centric process mining lists all the troubleshooting topics to help you create object-centric data models.

With a perspective for object-centric process mining, the cardinality of a join relationship in the data model is automatically generated based on the configuration of the object relationships in the Process Intelligence Graph. So it’s unlikely that the solution is to adjust the relationship directly in the data model.

The probable cause of this error message is that there are duplicate keys on the 1 side of the listed join. To confirm this, check the records in the object type table or event type table stated in the error message, and your source system data. Then fix the source of the duplicates. You can try filtering during data extraction, or removing the duplicates in pre-processing. I want to pre-process my raw data before transforming it into objects and events explains how to set up a pre-processing stage.

The probable cause of this error message is that the listed tables are empty. Check the transformation that creates and populates the table, and ensure that the transformation ran successfully and that it produces data.

This error message names two tables. At least one of these tables should not contain multiple records for the same key - that is, the relationship between these objects should be a 1:n relationship. Follow this procedure to eliminate the duplicates:

  1. Identify the object that is the 1 side of the relationship. For that object, run the following code to identify if the unexpected duplicates are present in your source system data:

    SELECT DISTINCT [The raw columns that constitute your Object ID] AS 
    "object_id", COUNT(*) AS "id_count" 
    FROM [The raw tables that constitute your FROM Statement on the object transformation]
    --ANY WHERE STATEMENT ON THE OBJECT TRANSFORMATION     
      GROUP BY object_id      
      HAVING COUNT(*) > 1

    For example, here’s the code to run for the Customer object:

    SELECT DISTINCT 'Customer_' || "KNA1"."MANDT" || "KNA1"."KUNNR" AS 
    "object_id", COUNT(*) AS "id_count"
    FROM "KNA1"
    GROUP BY "object_id"
    HAVING COUNT(*) > 1
  2. If this query returns any results, investigate those in the source system. You can use filtering during data extraction to remove unwanted duplicate records, or remove the duplicates in pre-processing. I want to pre-process my raw data before transforming it into objects and events explains how to set up a pre-processing stage.

  3. If the query returns no results, try to join the main object table and the custom attribute table together and check if that query identifies any duplicates:

    SELECT "MainObject"."ID", COUNT(*)
    FROM <%=BUSINESS_GRAPH%>."o_celonis_Customer" AS "MainObject"
    LEFT JOIN <%=BUSINESS_GRAPH%>."x_custom_celonis_Customer" AS 
    "CustomAttributes"
    ON "MainObject"."ID" = "CustomAttributes"."ID"
    GROUP BY "MainObject"."ID"
    HAVING COUNT(*) > 1
  4. If you find duplicates from this query, the issue is likely that multiple custom attribute values are being generated for an individual object instance. These custom attributes are stored in a separate table named x_custom_celonis_<ObjectName> (in production). This separate table is only joined to the main object table during the data model load. This join could potentially also create the duplicates mentioned in the error message. In this case, review the transformation for the custom attribute and eliminate the duplicates.