Skip to content
Kumar Chandrachooda
Series

KC Star V2 — Every Measure Gets Computed

In reading order.

  • 4 parts
  • ≈ 16 min total
  • 4 published
Part 1 13 Sep 2025 4 min read

Eight Measures, One Table

KC Star V1 declared eight measures and computed four. V2 computes all eight - base measures and aggregates together in a single SalesFact table. Kicking off the series on the version that made the warehouse analytical, and started the trouble that V3 had to fix.

Part 2 18 Oct 2025 4 min read

Promoting SaleType from Row to Column

To compute per-SaleType aggregates, KC Star V2 lifted one dimension out of the row store and made it a real column. Here is the renumbering it forced, what it did to the version hash, and the honest tension of un-inverting one attribute in a schema built on inversion.

Part 3 25 Nov 2025 4 min read

GROUP BY in a Window Function's Clothes

KC Star V2's measure formulas read like window functions - SUM(...) OVER (PARTITION BY SaleType) - but the implementation is plain GROUP BY. Here is how CreateAggregatedFacts actually builds the aggregates, and why the formula strings deliberately lie.

Part 4 02 Jan 2026 4 min read

The Expiry Clause That Missed

KC Star V2 stores base facts and aggregates in one table and tells them apart by a NULL. When it expires old aggregates, that one distinction turns out to be a distinction short - per-SaleType aggregates never retire, duplicates pile up, and V3 gets its reason to exist.