Skip to main content
Announcements
UPGRADE ADVISORY for Qlik Replicate 2024.5: Read More
cancel
Showing results for 
Search instead for 
Did you mean: 
chandraprakash_j_volvo
Contributor III
Contributor III

Global rules on filtering in the change tables

Source: Oracle Database Target: Databricks Lakehouse(Delta)

I have enabled store changes in change processing. But before records getting ingested in _ct tables, I want to filter the records. 

Basically when I update the records from source, I just want to capture the before image in the _ct tables. No need of after image.

Is there any function I could use and set it in global rules?

 

3 Replies
john_wang
Support
Support

Hello @chandraprakash_j_volvo ,

Thanks for reaching out to Qlik Community!

I'm afraid there is no options to store before image only in __ct table.  The 2 available options are store both BI and AI, or store AI only. No BI only option.

john_wang_0-1702392988122.png

We'd like to understand further about the reason of storing BI only? if you are want to transfer the rows which was ever updated, then you may store both AI/BI then filter AI out in consumer apps, or create a view to filter out the AI rows.

BTW, looks to me a filter does not work (Oracle to Flat File target), for example a filter expression like this:

$AR_H_OPERATION == 'BEFOREIMAGE'

then both BI and AI are filtered out as this not intended design.

Hope this helps.

Regards,

John.

 

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!
chandraprakash_j_volvo
Contributor III
Contributor III
Author

The reason why only storing BI is whenever an update happens from source the records are updated to the current table and both BI and AI are stored in _ct tables. So for every update, 2 records are inserted in ct tables . So we see duplicates. Thats the reason I want to capture only before Image and current record we will get from the main table

DesmondWOO
Support
Support

Hi @chandraprakash_j_volvo ,

In ct tables, you can filter before image records by applying header__change_oper = 'B' in the where clause. Also, if a record has been updated multiple times, it may not be possible to retrieve the corresponding after image from the main table. 

Regards,
Desmond
 

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!