Common Errors and FAQ
This section addresses frequently encountered issues during the mapping exercise and provides remediation approaches.
| Error / Question | Root cause | Correct approach |
|---|---|---|
| Row counts in LDZ are lower than source | 1) Rejected rows due to failing DQ rules. 2) ETL filter applied incorrectly. 3) Duplicate NK handling dropping records. | Check ETL rejection log. Review DQ rule thresholds. Inspect NK uniqueness logic. |
| "I can't find a column in CDM that matches my source field" | Attempting to match by column name rather than business meaning. | Identify the business concept the field represents, then use the target table guide to find the right entity. Map by meaning. |
| Multiple code values appearing after conversion | Source has introduced new code values after the mapping was designed. | Add an explicit ELSE clause to the code conversion with a default value (e.g., UNKNOWN) and a DQ alert for unmapped codes. |
| Referential integrity failures after first load | Load sequencing: child entity loaded before parent, or parent records rejected by DQ. | Always load in dependency order: Party → Account → Account_Party → Transactions. Investigate parent rejections first. |
| "Should I map this field to attrib_1 or request a new column?" | Unclear whether the field has long-term relevance in CDM. | If the field is client-specific and unlikely to be needed across other clients, use attrib_*. If it should be canonical, raise a Design Authority extension request. |
| Different source systems use different codes for the same concept (e.g., gender) | Each source system has its own code set. | Create a per-source code conversion table in the Transformation column. CDM always stores the canonical code set regardless of source. |
| "Which grain should I use for ldz_party_contact when my source stores email and phone in the same row?" | Source stores multiple contact types in a single row; CDM stores one row per contact type. | Use an UNPIVOT or UNION ALL in the ETL to generate one row per contact type. Email and mobile each become a separate row with cntct_typ set accordingly. |
| Duplicate records appearing in LDZ | 1) Source has duplicates. 2) ETL running multiple times without truncate. 3) NK not unique at source. | Profile source for duplicates before load. Confirm LDZ load strategy (truncate-and-reload). Validate NK uniqueness at source. |