After refreshing the data source in our enterprise reporting environment, several calculated fields and custom dimensions have disappeared from the data model. The base tables are still there, but all the derived fields we created are gone.
The schema synchronization process completed without errors, but when users try to run existing reports, they get “field not found” errors. The field mapping seems to have been reset during the refresh.
Error: Field 'total_revenue_ytd' not found in data source
Report: Q1_Sales_Analysis.rpt
Is there a way to preserve custom fields during data source refresh in Crystal Reports 2020?
This is a known issue with enterprise reporting when you refresh the underlying data source connection. Custom calculated fields and formulas are stored in the report definition, but derived dimensions in the semantic layer can be lost if the refresh process rebuilds the metadata. Did you refresh the connection at the database level or through the Universe/semantic layer?
That’s your problem. When you refresh a universe in IDT, it can overwrite custom objects if they’re not properly exported and versioned. You should always export your universe definition before doing schema updates. Then after the refresh, you can merge the custom objects back in. Check if you have a backup of the .unv or .unx file from before the refresh.
For future refreshes, use the “Detect Tables” option instead of full refresh. This only updates the physical layer with schema changes and preserves your business layer customizations. Also, always work in a development universe first, test thoroughly, then promote to production. I learned this the hard way after losing three months of custom dimension work in a similar refresh incident.
Check your universe revision history in the CMC. If you have versioning enabled, you can roll back to the previous version and then manually apply just the schema updates you needed. This preserves all custom objects.