---
name: dimensional-model-designer
description: Design a star schema or dimensional model for BI and analytics reporting
author: PowerData
version: 1.0.0
license: MIT
Dimensional Model Designer
Purpose
Design a practical star schema or dimensional model for BI and analytics reporting use cases. The output provides a structured model definition covering fact tables, dimension tables, measures, relationships, and key design decisions.
When to use
Use this skill when the user has a reporting, dashboard, analytics, semantic model, or metric-driven requirement and needs to structure data for consumption.
Apply this skill after data requirements have been established and before physical table design or semantic model configuration begins.
Inputs expected
Provide as many of the following as available. Partial inputs are acceptable — the AI should identify gaps and ask structured follow-up questions only where needed.
- Business process or use case
- Reporting questions the model must answer
- Measures and metrics required
- Dimensions needed for slicing and filtering
- Source tables or entities
- Desired grain of the fact table
- Known filters or slicers
- History requirements
- Target BI tool or semantic layer, if known
Guiding principles
- Define the fact table grain before selecting measures. The grain is the single most important design decision.
- Facts should represent business events, transactions, periodic snapshots, or accumulating snapshots — choose the appropriate fact table type.
- Dimensions should provide descriptive context for slicing and filtering. Keep them denormalised unless there is a clear reason not to.
- Prefer clear business names over source-system field names.
- Identify conformed dimensions (dimensions shared across multiple fact tables) where they exist.
- Consider slowly changing dimensions and state the approach explicitly.
- Do not over-normalise the reporting layer. A few well-designed wide tables are more practical than a highly normalised snowflake.
- Keep semantic models understandable for business users.
- Make metric definitions explicit — including the formula, filters, and grain.
- Identify where calculated measures belong in the semantic layer rather than physical tables.
- Include modern lakehouse considerations where relevant (e.g. Delta tables, merge strategies).
Process
- Confirm the business process and the reporting questions the model must answer.
- Define the fact table grain.
- Identify the fact table type: transaction, periodic snapshot, or accumulating snapshot.
- Select the measures based on the grain.
- Identify the dimension tables required for each measure.
- Design the dimension tables, noting key attributes, business keys, and surrogate keys.
- Identify any conformed dimensions.
- State the slowly changing dimension approach for each relevant dimension.
- Define the relationships between fact and dimension tables.
- Define metric calculations explicitly.
- Note any data quality rules required to support the model.
- Identify open questions and risks.
Output format
- Model summary — brief description of the model and its purpose
- Business process — the process or use case being modelled
- Proposed grain — the grain of the primary fact table
- Fact tables — name, grain, type, and key measures for each fact table
- Dimension tables — name, key attributes, business key, and surrogate key for each dimension
- Measures — explicit definition of each measure, including formula and any filters
- Relationships — fact-to-dimension relationships
- Slowly changing dimension approach — SCD type and rationale for each relevant dimension
- Example star schema layout — a simple diagram or table representation of the model structure
- Data quality rules — key quality checks required to support the model
- Open questions — unresolved design decisions
- Risks and trade-offs — known risks and design compromises
Quality checklist
Avoid
- Defining measures before the grain is established
- Over-normalising the model with unnecessary snowflake hierarchies
- Using source-system field names as dimension attribute names without review
- Silently assuming SCD Type 1 (overwrite) for dimensions that require history
- Designing a dimensional model for a use case better served by a flat reporting table
- Including implementation-specific detail (physical partitioning, indexing) unless requested
Example usage
"Apply the Dimensional Model Designer skill to design a star schema for sales performance reporting. The business needs to analyse revenue, units sold, and margin by product category, store, region, and time period, with daily data and two years of history."
Source: This skill is sourced from the Matrix Skills library. Learn more at the AI Agent Skills Library.
1---2name: dimensional-model-designer3description: ---4---5---6name: dimensional-model-designer7description: Design a star schema or dimensional model for BI and analytics reporting8author: PowerData9version: 1.0.010license: MIT11---1213# Dimensional Model Designer1415## Purpose1617Design a practical star schema or dimensional model for BI and analytics reporting use cases. The output provides a structured model definition covering fact tables, dimension tables, measures, relationships, and key design decisions.1819## When to use2021Use this skill when the user has a reporting, dashboard, analytics, semantic model, or metric-driven requirement and needs to structure data for consumption.2223Apply this skill after data requirements have been established and before physical table design or semantic model configuration begins.2425## Inputs expected2627Provide as many of the following as available. Partial inputs are acceptable — the AI should identify gaps and ask structured follow-up questions only where needed.2829- Business process or use case30- Reporting questions the model must answer31- Measures and metrics required32- Dimensions needed for slicing and filtering33- Source tables or entities34- Desired grain of the fact table35- Known filters or slicers36- History requirements37- Target BI tool or semantic layer, if known3839## Guiding principles4041- Define the fact table grain before selecting measures. The grain is the single most important design decision.42- Facts should represent business events, transactions, periodic snapshots, or accumulating snapshots — choose the appropriate fact table type.43- Dimensions should provide descriptive context for slicing and filtering. Keep them denormalised unless there is a clear reason not to.44- Prefer clear business names over source-system field names.45- Identify conformed dimensions (dimensions shared across multiple fact tables) where they exist.46- Consider slowly changing dimensions and state the approach explicitly.47- Do not over-normalise the reporting layer. A few well-designed wide tables are more practical than a highly normalised snowflake.48- Keep semantic models understandable for business users.49- Make metric definitions explicit — including the formula, filters, and grain.50- Identify where calculated measures belong in the semantic layer rather than physical tables.51- Include modern lakehouse considerations where relevant (e.g. Delta tables, merge strategies).5253## Process54551. Confirm the business process and the reporting questions the model must answer.562. Define the fact table grain.573. Identify the fact table type: transaction, periodic snapshot, or accumulating snapshot.584. Select the measures based on the grain.595. Identify the dimension tables required for each measure.606. Design the dimension tables, noting key attributes, business keys, and surrogate keys.617. Identify any conformed dimensions.628. State the slowly changing dimension approach for each relevant dimension.639. Define the relationships between fact and dimension tables.6410. Define metric calculations explicitly.6511. Note any data quality rules required to support the model.6612. Identify open questions and risks.6768## Output format69701. **Model summary** — brief description of the model and its purpose712. **Business process** — the process or use case being modelled723. **Proposed grain** — the grain of the primary fact table734. **Fact tables** — name, grain, type, and key measures for each fact table745. **Dimension tables** — name, key attributes, business key, and surrogate key for each dimension756. **Measures** — explicit definition of each measure, including formula and any filters767. **Relationships** — fact-to-dimension relationships778. **Slowly changing dimension approach** — SCD type and rationale for each relevant dimension789. **Example star schema layout** — a simple diagram or table representation of the model structure7910. **Data quality rules** — key quality checks required to support the model8011. **Open questions** — unresolved design decisions8112. **Risks and trade-offs** — known risks and design compromises8283## Quality checklist8485- [ ] The fact table grain is clearly defined86- [ ] The fact table type is identified (transaction / snapshot / accumulating)87- [ ] All required dimensions are included88- [ ] Measures are explicitly defined, not just named89- [ ] SCD approach is stated for dimensions likely to change90- [ ] Conformed dimensions are identified91- [ ] Business-friendly names are used throughout92- [ ] Surrogate key approach is noted93- [ ] Data quality rules are included9495## Avoid9697- Defining measures before the grain is established98- Over-normalising the model with unnecessary snowflake hierarchies99- Using source-system field names as dimension attribute names without review100- Silently assuming SCD Type 1 (overwrite) for dimensions that require history101- Designing a dimensional model for a use case better served by a flat reporting table102- Including implementation-specific detail (physical partitioning, indexing) unless requested103104## Example usage105106> "Apply the Dimensional Model Designer skill to design a star schema for sales performance reporting. The business needs to analyse revenue, units sold, and margin by product category, store, region, and time period, with daily data and two years of history."107108---109110_Source: This skill is sourced from the [Matrix Skills](https://github.com/POWR-DATA/mtx-skills) library. Learn more at the [AI Agent Skills Library](https://powrdata.com.au/ai-agent-skills)._