- Make the fact available and report under “In Process” category; commonly followed in financial reporting systems to enable reconciliation
- Make the fact available only when the dimension is present,; commonly followed in status reporting systems
- Insert into the dimension table a record that represents a default or ‘In Process’ status like in case of the banking example the Customer Dimension would have a ‘default record’ inserted that represents the information that the customer detail has not yet arrived
- In the ETL process while populating the Fact table, for the transactions that do not have a corresponding entry in the Dimension table, assign a default Dimension key and insert into the Fact. In the same process insert the Dimensions Lookup values into a ‘temporary’ or ‘error’ table
- Build an ETL process that checks the new records inserted into the Dimension table, queries the temporary table and identifies the records in facts for which the dimension key has to be updated and updates the respective fact’s dimension key
- Build an ETL process that populates the fact into a staging table
- Build an ETL process that pushes only the records that have a dimension value to the data warehouse tables
- At the end of ETL process delete all the processed records from the staging table making the other unprocessed records available to be pulled next time
You can read more about Data Integration Challenge