Table of Contents

The semantic layer (.hsl) is the consumption model above a loaded warehouse. It is not a second Kimball canvas and not an extension of catalog record definitions.

  • Physical bindings point at .hdm tables (later: catalog, RDBMS).

  • Logical entities hold attributes and measures with headers, alignments, default aggregations, totals, and format masks.

  • Relationships describe joins (including role-playing dates).

  • Named selections store a crosstab / presentation query so fields do not have to be re-picked.

Calcite compiles a structured selection to warehouse SQL (logical entity names → physical tables). Measures are aggregated with the selection’s SUM, COUNT, or AVERAGE, and the other fields are grouped. That is a different path from source-model SQL virtualization, which builds Hop pipelines over .hsm sources.

Create or bind

  • File → New → Semantic layer, then Select dimensional model…​

  • The editor shows the bound .hdm under the buttons. Several .hsl files can bind to the same dimensional model (for example finance vs operations presentations).

Edit headers, format masks (default ,#0.00 for numbers), horizontal and vertical alignment, aggregations, and the totals checkbox in the tree editor.

Crosstab

Create presentation…​ on the semantic layer opens an empty fact crosstab editor. The source tree is the .hsl (not the raw .hdm field list), so dropping a measure from the layer hides it in the editor. Double-click a saved selection, or use the tree toolbar Open icon, to load that selection. The crosstab editor shows the selection name and saves it from the toolbar. Save keeps that name. Open selection loads another saved layout. The tree toolbar also deletes and renames selections. Presentations apply attribute and measure format masks, including date masks on crosstab axes. A crosstab shows only dimension combinations that have data, so a month with no facts is omitted even when that month exists for another year.

A .hdm fact still has Create presentation…​ as a shortcut; that path seeds an in-memory layer from the star and does not pick or overwrite a particular .hsl file.