Ask questions and get answers about Celonis products from experts and peers.
Recently active
During the implementation of a process analytics solution, I encountered a complex issue where the underlying data was successfully loaded, modeled, and linked through the required relationships, yet the analytical layer was unable to retrieve or display the data correctly. Despite verifying the data pipeline, model configuration, identifiers, relationships, and query logic, the visualization layer continued to return empty results. Resolving the issue required a systematic investigation across multiple platform components, extensive documentation review, and careful validation of each stage to isolate the root cause rather than relying on trial-and-error fixes.
Hi Community,I'm getting the following error while loading my data model:Could not execute foreign key join: there are duplicates on both sides of the specified key relationship.Table EKKO, key columns (MANDT, LIFNR), key ('011', '0000805024').What is the recommended best practice for resolving this issue?Should the duplicate records be removed, or should the join relationship be adjusted? If removing duplicates is the preferred approach, how do you typically handle it? I have already identified the duplicate records, so the only remaining step would be how to delete them.Thanks in advance for your insights and recommendations!
Is there an error in the system?
Hi,I am trying to create a view filter with case when nested in it.It goes like this:FILTER VBAP-FilteringField CASEWHEN COALESCE (Var1, ‘’) = ‘Open Order’ THEN = ‘Open Order’WHEN COALESCE (Var1, ‘’) IN (‘Open Order’, ‘Missing Invoice’) THEN IN (‘Open Order’, ‘Missing Invoice’).END--The issue is: in the beginning, when there is one value (‘Open Order’) resulted from the CASE WHEN statement, the filter works well. But when I expand the fomular, including the result as a list (‘Open Order’, ‘Missing Invoice’) and need to use the Word “IN” instead of “=” for filtering, it throws an err in the formular.Any suggestion how I can work around this?Thank you!
Artificial intelligence is changing the way businesses communicate with customers. From personalizing SMS campaigns to optimizing delivery times and analyzing customer engagement, AI is making SMS marketing smarter and more effective. Platforms like Qalaama help businesses combine reliable bulk SMS services with data-driven strategies to improve customer communication, increase conversions, and automate messaging workflows. What AI features do you think will have the biggest impact on SMS marketing?
If you have built any Object-Centric Data Models (OCDM) recently, you know the pain of handling tables that use composite primary keys.Previously, Celonis only allowed a single string ID as the primary key. If you were pulling tables from SAP (like VBAP), you had to write custom SQL transformations to concatenate keys (like VBELN and POSNR) into a single string ID just to make joins work.With the June 15, 2026 release, Celonis natively supports composite primary keys. You can now select multiple columns directly in the Objects and Events UI to form your primary key, completely bypassing the old SQL concatenation step.This change fixes three major issues.First, you don't have to write redundant CONCAT SQL code in your data jobs anymore. Your SQL transformations stay clean.Second, database joins run faster on raw composite columns than on concatenated string columns, especially when you are querying millions of rows.Third, your Celonis data model now matches your source ERP schema exac
Hello Celonis community, I have been trying to create a Object-Centric Data Model in a sandbox studio. When I click Data - Data Integration on the side menu, I always get “No Data Pools” as the screenshot show, but without any buttons to create a new data pool. Does anyone know how to solve this please? Thank you!
Hi everyone!I’m trying to use the object variables, but in the documentation it’s not clear how to set it up, define the keys and values and later use it in diferent components.Can anyone give me a detailed tutorial please?Regards
Dear Celonis Community,I’m trying to set up KPI Meters with a certain color mapping to visualize performance against targets and benchmarks.Users can already define targets via a variable which is also possible to include in the color mapping.We managed to create global benchmarks via a write back to a custom Celonis table. Would there be a possibility to make these benchmarks a threshold?I figured that PQL inside the color mapping does not work.
Hi All,Just wanted to ask whether there is any documentation on how to migrate existing CCPM datamodels to OCPM one.Thanks,Akshay
Hi, I would like to link from a dashboard to a View with Process Explorer. In the dashboard, an object is selected and I would like to give the object identifier with the link to celonis, so that I can filter in the process explorer based on that (so that I only see this individual object and it’s event log).Is this possible to achieve with a Celonis View?Many Thanks,
Hi everyone, I’m looking for advice on how to track and display historical KPIs in Celonis so the values are not overwritten as source data changes over time. Example:I want to track the % of maintenance tariff codes for purchase order items (i.e., EKPO.BEST_STAWN filled vs. all items). Some of my KPIs also use relationships between EKPO, MARA, and LFA1.I need to calculate and store these KPIs in monthly intervals—to know exactly what the maintenance value was for each month in the past, not just recalculate it on current data. 1 What’s the best way in Celonis to store unchangeable monthly KPI values?2 Is it better to use Automated Table Snapshots (copy/freeze tables) or KPI Snapshotting (export results), or something else?3 If table snapshots are best, should I build them in the backend (SQL/jobs) or can I do it inside Celonis using Action Flows or some built-in module? Thanks!
Hi Guys,I am currently facing issues with the datapipeline between celonis studio and the machine learning workbench. The ML Workbench is unable to access Celonis data due to outdated celonis_ml dependencies that rely on deprecated sklearn functions. This breaks the built-in data pipeline and prevents direct data model access. As a workaround, data had to be exported manually as CSV and processed externally. An update to the ML environment and data connectors is required to restore full functionality.Is there a fix or a workaround for this?
hi all,Context :We have been using Celonis for many years connected to SAP ECC.To limit our data consumption + keep our jobs running as efficiently as possible, we have been extracting our tables based on a 24 months rolling basis.For that, we have a small job running every month setting the start date of all the extractions. This start date is used in the tables extraction filters. This has been running smoothly so far.What is happening :Our company is going to transition one ERP from SAP ECC to SAP S4.in SAP S4, the price conditions table PRCD_ELEMENTS (KONV table in SAP ECC) and more specifically the date field KDATU, is setup in CHAR data type. This is not compatible with our extraction setup.Assuming I wont be able to get this data type change, any recommendation on how to handle that?Thanks
I have built an Action Flow that retrieves some data with many query data modules (around 10mb in total), creates some csv files and sends them via email as attachments. The problem is that every time that I run it, it run to the last query data module and then it starts raising the following warning:Invoking garbage collector because of high memory usage [used=848035840,max=950000000,timeout=25000](with different numbers as used. The thing is that we are talking about like 10mb of data, so I don't understand what is going wrong.Also, if I remove the last modules (last query data and last create csv modules), the warning is still present in what previously was the second-last module (that now is the last). In my last try, this led to a Limit Exceeded in the studio, that I think is not true, since we usually are way more below the limit in terms of amount of data stored. What am I doing wrong here?
We have multiple cases when we want to make sure there is an explicit correlation between two data series apart from visually representing those series on a graph. Is there any simple KPI/PQL formula we can use, or do we need to go with a workaround deriving corr from calculating standard deviations etc?
CELONIS BUSINESS ANALYST VIRTUAL INTERNSHIP how to i access this internship i got through aicte platform
Context:I am creating a View in Studio, where I have a bar and line component that shows case count on the Y axis as bars and a KPI on the Y2 axis (range 0-1) as a line. Rounded dates are shown on the X axis. I also have an annotation line on the Y2 axis with labels shown.The component is partly filtered by using View variables.Issue:I can’t get the Y2 axis range to change according to the shown values and it keeps bounding the lowest value of KPI to zero and maximum to the maximum of KPI (or annotation line if higher). However, I’d like to show the plot based on the minimum values of KPI, since readability becomes poor when values are closer to the maximum of 1.The Y2 axis range updates dynamically, when I don’t have labels shown for Y2 axis and temporarily set the minimum to 0 and unselect the component. The labels for Y axis or annotation lines or showing points of the KPI do not affect the axis range of Y2. It seems like showing the Y2 point labels prevents the range to update dyna
I created a ‘Status change’ event in OCPM and I can’t establish an order for the events that have the same timestamp. The script looks like this (I simplified it to be easier to understand):SELECT DISTINCT 'MeldungGeneralEvent_' || meldung_objects.QMNUM || JCDS.STAT || JCDS.UDATE || JCDS.UTIME AS "ID", 'Meldung_' || meldung_objects.QMNUM AS "Meldung", 'Meldung Status Changed' AS ActivityName, COALESCE(SS.TXT04, US.TXT04) AS ActivityStatus, CAST(JCDS.UDATE AS DATE) + CAST(JCDS.UTIME AS TIME) AS "Time", CASE WHEN COALESCE(SS.TXT04, US.TXT04) LIKE '%EGPR%' THEN 33 WHEN COALESCE(SS.TXT04, US.TXT04) LIKE '%MMAB%' THEN 34 ELSE 32 END AS Sorting,FROM meldung_objectsTo give an example, I select only the activities for Meldung number “748291035”:The way I want my activities to be ordered is like this:Time Sorting Alphabetical order for ActivityStatusSo the order to be: MOFN, UGPR, MAUF, MIAR, EGPR, MMABFirst, I tried to use the Sorting column in the Knowledge Model, where I
I want to learn Ai in celonis! can i only focus on a specific Ai path ? as Ai is something I'll really like to learn.. Ai is future and i want to upskill myself in Ai plus celonis.. is there need of anything beforehand?
How to schedule an action flow to run bi-weekly every second Monday?
Hey Everyone, I can connect to a knowledge model and pull the data within into the MLWB using pycelonis. But can we retrieve the knowledge model YAML code and store it in MLWB? Please help me with this concern if there is a way.
I am able to retrieve the SQL transformation codes from the datajobs into Machine Learning workbench using pycelonis. But can I modify/write a new SQL code within the transformation directly in Machine learning workbench or is there no option for that? Please provide some clarity one this.
Currently using python code generating dummy event logs. For the process which has loops/cycles it is generating logs but in Celonis the process model is not created as expected.
Hi, I’m currently facing an issue while setting up an Action Flow / Machine Learning Workbench solution to download and merge multiple Excel/CSV files from a SharePoint site.I can see that it’s possible to download a single file using the Microsoft SharePoint Online module in Action Flow. However, my problem is that the folder contains multiple files with different names, and I would like to handle all of them within one solution.Has anyone worked on something similar and could share some advice on how to approach this?
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.