Related guide: dimensional-modeler-overview.
Edit a fact (transaction, factless, snapshot, or aggregate) on a .hdm canvas.
General and source
Name, physical table, Kimball grain sentence, business process (Business / L1 / L2 / L3 from the bus matrix catalog), and staging source (none / logical, SQL, pipeline, or catalog record). Business process catalog on the General tab opens that metadata type in the Metadata perspective.
Grain
Write the grain in words on the General tab (for example one row per order line). Check model warns when it is empty.
-
Dimension joins — Conformed dimensions (including date aliases) with the source field, fact key column, truncate-to-date, preload cache, and skip lookup. Copies sets how many copies the generated Dimension Lookup runs, and how many copies the date-key transforms run when Truncate to date is Y. Leave it empty for one copy. A variable expression such as
${FACT_LOOKUP_COPIES}is stored on the transform and resolved when the update pipeline runs. Date joins that use different copy counts are generated as separate transforms. Skipped lookups ignore it. -
Range / junk roles — Band and flag dimensions.
-
Measures — Additive / semi-additive facts.
-
Degenerate dimensions — Degenerate keys stored on the fact.
Edit field… on measures and degenerates opens the field editor for Markdown notes and requirements.
Validate checks grain completeness before Dimensional Update. A None (logical) source is a contract only: Check model warns, and Dimensional Update skips the table.
Open a bound .hsl → Create presentation…, or right-click the fact on the canvas → Create presentation…, to open the crosstab editor and try the star against the target warehouse.