Common Data Model
Guide: Developing Attribute Lineage for New Data Sources
This process describes how to take a new data source from landing → Bronze → DataMart view, and fully define its attribute lineage in myBMT. 1. Prepare and review the new data source 2. Catalogue and land the source 3. Plan the DataMart view(s) 4. Set up attribute lineage in myBMT For each new view … Read more
Look in the box first
Should We Reuse Standard Dynamics 365 / Dataverse Tables for Our In‑House Apps? 1) Why We’re Talking About This We’re starting an important conversation: when we build apps internally, should we lean on the standard tables already in Dynamics 365 / Dataverse (like Account, Contact, Opportunity, Project), or should we keep spinning up new SharePoint … Read more
Tables used by DWH
Direct Sources Indirect Sources
CDM Migration Playbook
Purpose This playbook guides the phased migration from existing DataMart views (202409) to CDM-standard views, including core, meta (dates, codes, values), and item tables. It supports the transition to IFS Cloud and ensures a consistent, scalable data model across all domains. MVP Scope Domains required for MVP: Phased Delivery Approach Phase 1: Live Data Seeding … Read more
Value Presence Verification (RPV) + Last-Seen Tracking Framework
🎯 Purpose This framework ensures that values in complex metadata structures (e.g. project earned value, invoice accounting, or employee attributes) are verified for presence even when using incremental loads. It protects against stale data persistence or silent value loss, using metadata-driven auditing. 🧩 Problem Context In many CDM views, values are upserted using procedures like … Read more
CDM Value Presence Reconciliation Framework
🎯 Objective To proactively expire or flag metadata rows that are no longer present in the source data even if their values haven’t changed, avoiding persistence of stale or misleading data. 1. 🏗 Recommended Table Extension Add these optional columns to any table using patch_upsert or put_update: 2. 📥 Staging Input Table – stage.project_values_current Your … Read more
Row Presence Verification (RPV)
🎯 Core Issue: 🔍 Risks of the Current Approach Scenario Problem Value disappears entirely You keep the last-seen value forever unless a new version overwrites Value moves to another key The old one is retained, and the new one appears as duplicate context Periodic reporting gaps Reporting shows a “stale” value that’s no longer present … Read more
cont.table_templates
Summary The [cont].[table_templates] table defines the structure and metadata behaviour for CDM-managed tables. It acts as a schema blueprint for dynamic table creation, upsert controllers, checksum logic, indexing, and JSON payload generation. All metadata-driven procedures—such as [cdm].[create_table], [cdm].[patch_upsert], and [upsert].[meta]—rely on this table to align logic with the CDM design pattern. ✅ Current Column Structure … Read more
upsert.entity
Summary The [upsert].[entity] procedure registers or updates an entity object in the Common Data Model. It constructs a standardised payload using object_code and object_class, along with derived metadata like domain, entity label, and schema. This payload is then passed to [cdm].[patch_upsert]. It is used for adding or updating entries in core tables (e.g. project_core, employee_core) … Read more