

- Description
- A prism splitting light
- Source
- Kelvinsong · original page
- Licence
- CC0 Public domain
Matrix: Abstraction layer
The layer that sits between the data and the reports: single definitions, structure, reuse, row-level rights, languages, description, change, performance.
In brief
- 8 dimensions, levels 0 to 5, 112 criteria.
- Tool: run an assessment by choosing "Abstraction layer".
- Levels and criteria: original synthesis, references cited at the bottom of the page.
On this page
The abstraction layer between the stored data and the reports, whatever the technology (semantic model, cube, views, metrics layer): single definition of measures, model structure, reuse, row-level security, languages and formats, description, version compatibility, performance. The underlying tables belong to the "Storage" theme, the reports to the "Reporting" theme.
8 dimensions, six levels (0 to 5) and 112 observable criteria. To place your product: open the assessment for this theme. The scoring rules are here.
Overview#
Each cell is the level's signature for the dimension.
| Dimension | 0 · Handcrafted | 1 · Locally tooled | 2 · Shared | 3 · Industrialized | 4 · Integrated and governed | 5 · Autonomous |
|---|---|---|---|---|---|---|
| Single definition of measures | Each report calculates its indicators its own way. | Indicators listed. | Measures centralized. | Measures managed. | Measures verified. | Measures steered. |
| Model structure | One big flat table, or as many tables as there are reports. | Tables separated by subject. | Facts and dimensions. | Conformed model. | Controlled model. | Model checked automatically. |
| Reuse and sharing | A model copied and modified for each report. | Models identified. | Shared model. | Common model and specifics. | Governed composition. | Reuse steered. |
| Row-level and object-level security | Confidentiality ensured by separate reports for each audience. | Filters in the reports. | Rights in the layer. | Dynamic rights. | Controlled rights. | Rights verified continuously. |
| Languages, formats and labels | Technical labels, a single language, formats specific to each report. | Readable labels. | Common formats. | Languages managed. | Translations controlled. | Translations automated. |
| Description and discoverability | Technical names, no description. | Explicit names. | Descriptions in place. | Descriptions managed. | Discovery made easy. | Description maintained automatically. |
| Versions and compatibility | A change to the model breaks reports, discovered in use. | Changes known. | Changes versioned. | Compatibility sought. | Compatibility verified. | Compatibility automated. |
| Layer performance | Slow response, unexplained. | Slowness known. | Lightened model. | Systematic optimization. | Performance under control. | Adaptive performance. |
Dimensions of the overall model that are most relevant: Semantic model and metrics, Access and entitlements, Documentation and traceability and Availability and performance.
Definitions and structure#
Single definition of measures#
Is each indicator defined once, in one place, for all reports?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | Each report calculates its indicators its own way. | Starting point: no criteria. |
| 1 · Locally tooled | Indicators listed. |
|
| 2 · Shared | Measures centralized. |
|
| 3 · Industrialized | Measures managed. |
|
| 4 · Integrated and governed | Measures verified. |
|
| 5 · Autonomous | Measures steered. |
|
The same figure has the same value everywhere, and a change of definition is made in one place only.
Model structure#
Does the structure serve analysis: analysis tables, relationships, grain?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | One big flat table, or as many tables as there are reports. | Starting point: no criteria. |
| 1 · Locally tooled | Tables separated by subject. |
|
| 2 · Shared | Facts and dimensions. |
|
| 3 · Industrialized | Conformed model. |
|
| 4 · Integrated and governed | Controlled model. |
|
| 5 · Autonomous | Model checked automatically. |
|
Figures can be cross-analyzed as expected, without producing a wrong result through a bad chain of joins.
Reuse and sharing#
Does a single model serve several reports, several customers, several teams?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | A model copied and modified for each report. | Starting point: no criteria. |
| 1 · Locally tooled | Models identified. |
|
| 2 · Shared | Shared model. |
|
| 3 · Industrialized | Common model and specifics. |
|
| 4 · Integrated and governed | Governed composition. |
|
| 5 · Autonomous | Reuse steered. |
|
Fixing or enriching something once benefits everyone, and nobody maintains their own copy.
Access and security#
Row-level and object-level security#
Does everyone see only the rows and objects they are entitled to, whichever report is used?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | Confidentiality ensured by separate reports for each audience. | Starting point: no criteria. |
| 1 · Locally tooled | Filters in the reports. |
|
| 2 · Shared | Rights in the layer. |
|
| 3 · Industrialized | Dynamic rights. |
|
| 4 · Integrated and governed | Controlled rights. |
|
| 5 · Autonomous | Rights verified continuously. |
|
The confidentiality rule is applied in the layer, and therefore everywhere, including in a spreadsheet or a new report.
Languages, formats and labels#
Do names, formats and languages adapt to the user?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | Technical labels, a single language, formats specific to each report. | Starting point: no criteria. |
| 1 · Locally tooled | Readable labels. |
|
| 2 · Shared | Common formats. |
|
| 3 · Industrialized | Languages managed. |
|
| 4 · Integrated and governed | Translations controlled. |
|
| 5 · Autonomous | Translations automated. |
|
Everyone reads the figures in their own language and format, without the model being duplicated.
Change and usage#
Description and discoverability#
Does a user find the right fields, and understand their meaning and limits?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | Technical names, no description. | Starting point: no criteria. |
| 1 · Locally tooled | Explicit names. |
|
| 2 · Shared | Descriptions in place. |
|
| 3 · Industrialized | Descriptions managed. |
|
| 4 · Integrated and governed | Discovery made easy. |
|
| 5 · Autonomous | Description maintained automatically. |
|
An analysis can be built without asking the technical team what a field means.
Versions and compatibility#
Does a change to the layer break existing reports, your own and your customers'?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | A change to the model breaks reports, discovered in use. | Starting point: no criteria. |
| 1 · Locally tooled | Changes known. |
|
| 2 · Shared | Changes versioned. |
|
| 3 · Industrialized | Compatibility sought. |
|
| 4 · Integrated and governed | Compatibility verified. |
|
| 5 · Autonomous | Compatibility automated. |
|
The model can evolve without the reports already built ceasing to work.
Layer performance#
Does the layer respond quickly, even with a lot of data and many people?
| Level | Signature | Criteria to meet |
|---|---|---|
| 0 · Handcrafted | Slow response, unexplained. | Starting point: no criteria. |
| 1 · Locally tooled | Slowness known. |
|
| 2 · Shared | Lightened model. |
|
| 3 · Industrialized | Systematic optimization. |
|
| 4 · Integrated and governed | Performance under control. |
|
| 5 · Autonomous | Adaptive performance. |
|
Figures display quickly and predictably, without report authors having to work around the model.
The dimensions are inspired by the references cited below; the levels and criteria are an original synthesis, not a reproduction of a framework. They are offered for discussion and adaptation, not as authoritative.
Sources and verification#
- Microsoft Learn — Understand star schema and the importance for Power BI — dimension tables (filter, group) and fact tables (summarize), grain, surrogate keys, role-playing dimensions, slowly changing dimensions
- Microsoft Learn — Row-level security (RLS) with Power BI — roles and row filters, dynamic rules based on identity, testing by role, limits (the restriction does not apply to workspace editing roles)
- dbt — About MetricFlow (semantic layer) — define metrics once, as a single source, and generate queries; entities, dimensions, simple, derived, ratio and cumulative metrics
- Kimball Group — Dimensional Modeling Techniques — grain, conformed dimensions, surrogate keys, slowly changing dimensions
- Microsoft Learn — Optimization guide for Power BI — names, descriptions, hiding, hierarchies, measures, formats and data categories as aids for users of the model; storage modes