{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/join-historical-work-to-the-version-that-was-valid-then",
  "id": "MHC-D-RESEARCH-0987",
  "version": "0.1.0",
  "title": "Join historical work to the version that was valid then",
  "summary": "Today's organization chart did not manage last year's sale.",
  "kind": "protocol",
  "body": "When the question is historical, preserve or obtain effective-dated versions and match each event to the version valid at that time. A Type 2 slowly changing dimension is one implementation. Joining everything to the current row answers a different question.",
  "limits": [
    "Corrections and retroactive changes need agreed rules. Keeping versions is insufficient when their validity dates or source meaning are wrong."
  ],
  "topics": [
    "work-02-data-reconciliation"
  ],
  "intents": [],
  "source_ids": [
    "RS-23CF75ED5D468246"
  ],
  "evidence": [
    {
      "claim": "A Type 2 slowly changing dimension preserves versions with validity dates so historical facts can be associated with the relevant version.",
      "source_id": "RS-23CF75ED5D468246",
      "role": "supports",
      "note": "Overlapping validity intervals, late corrections and inaccurate effective dates require explicit handling.",
      "locator": "Slowly changing dimensions: Type 2"
    }
  ],
  "use_when": [
    "A current master-data value silently changes the interpretation of old transactions."
  ],
  "avoid_when": [
    "Corrections and retroactive changes need agreed rules. Keeping versions is insufficient when their validity dates or source meaning are wrong."
  ],
  "example": "A customer moves to a new region in July. June sales keep their historical region when the report asks who served them at the time.",
  "check": "A before-and-after test around one known change produces the intended historical attribution.",
  "steps": [
    "State whether the report needs current classification or historical classification.",
    "Use the relevant effective-time intervals or version keys.",
    "Check gaps, overlapping intervals and changes that occur exactly at a boundary."
  ],
  "sources": [
    {
      "id": "RS-23CF75ED5D468246",
      "title": "Understand star schema and the importance for Power BI",
      "url": "https://learn.microsoft.com/en-us/power-bi/guidance/star-schema"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0987",
      "to": "MHC-D-RESEARCH-0980",
      "type": "useful_with",
      "url": "/knowledge/name-what-one-row-means-before-joining-two-tables"
    }
  ],
  "collections": [
    {
      "id": "RC-1B134BE48D7DF2A0",
      "title": "Keep the meaning intact when data moves",
      "url": "/collections/keep-the-meaning-intact-when-data-moves"
    }
  ]
}
