Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Power BI data modeling turns prepared source data into a semantic model: related tables and calculations that let report users filter, group, and summarize information consistently. A dependable model usually starts with a star schema, a clear grain for each fact table, and storage choices matched to the workload.

What data modeling in Power BI does

A Power BI semantic model is the organized layer between source data and reports. Power Query connects to or imports data and can shape a denormalized extract into separate tables. The model then defines how those tables relate and which calculations report authors can use. Microsoft describes the model as central to reporting and recommends evaluating its design against the solution’s needs: Power BI optimization guidance.

For many analytical models, a star schema is a strong starting point: dimensions describe the entities and attributes people want to filter or group by, while facts record events or observations people want to summarize. It is a default, not a rule that every source must be reshaped identically; design choices depend on the data and reporting requirements.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How facts, dimensions, and grain fit together

Dimensions filter and group

Dimension tables commonly contain descriptive attributes such as product, customer, date, or region. A report user might filter by product category or group results by month. In a typical one-to-many relationship, the dimension is on the “one” side because its key identifies a unique row, and the fact is on the “many” side because that key can appear across many events.

Facts summarize activity

Fact tables contain records of business activity or other measurable observations, such as sales transactions. Their numeric columns may be summarized, but not every number should be freely added. A quantity may be additive across rows; a unit price generally is not. Use a suitable aggregation, such as average, minimum, or maximum, when that better reflects the meaning of the value.

Grain defines what one fact row means

Grain is the level of detail represented by one row in a fact table. For example, a sales fact might have one row per product per transaction line. Choose and document that level before combining sources or adding measures. Microsoft recommends keeping a fact table at a consistent grain and avoiding a table that mixes fact and dimension roles. Mixing detail levels can make totals difficult to interpret or calculations misleading.

Microsoft’s star-schema guidance explains these table roles, relationship cardinality, grain, and related modeling concepts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to shape a star schema in Power BI

  1. Identify the reporting questions. List the measures people need and the attributes they need to filter or group by. This helps distinguish event data from descriptive data.
  2. Set the grain of each fact. State in plain language what one row represents. Check that every record in that table follows the same definition.
  3. Separate facts from dimensions. Use fact tables for events or observations and dimension tables for descriptive attributes. If a flat extract repeats descriptions on every event row, Power Query can shape it into separate tables.
  4. Provide a unique key on each dimension’s “one” side. Power BI relationships rely on a single unique column on that side. If the source has no suitable key, an appropriate surrogate key—a unique identifier added for modeling—can supply one.
  5. Create and verify relationships. Confirm that the intended dimension key is unique and that the fact-side key can repeat. Check cardinality and filter behavior against the reporting questions.
  6. Define business calculations deliberately. Create explicit DAX measures for calculations that need controlled aggregation or consistent business meaning, then validate them at different levels of filtering and grouping.

A snowflake design, where descriptive data is spread across related dimension tables, can sometimes be simplified by denormalizing it into one model table. Microsoft characterizes optimal model design as a matter of judgment as well as technique; use the structure that fits the data while preserving clear relationships and reporting behavior.

When to use measures instead of relying on column summaries

Power BI can provide implicit measures that summarize a column when a report author uses it. Explicit measures are DAX expressions evaluated when queried and return a scalar result. They let modelers specify aggregation behavior and make business calculations reusable across reports. They are also useful for reporting paths such as Analyze in Excel that rely on MDX.

For example, a measure for total sales can explicitly sum an appropriate sales-amount column, while a unit-price calculation can expose an average or another suitable aggregation rather than inviting users to add prices together. The key is to make each calculation reflect what its underlying value means.

Choose Import, DirectQuery, or Composite for the workload

The storage mode affects where table data is queried, how fresh it can be, and what trade-offs a model must handle. There is no universally best mode. Compare the options against data volume, freshness needs, source capabilities, query performance, refresh strategy, and design complexity. Microsoft’s optimization guide and DirectQuery model guidance describe these considerations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Approach How it works Useful when Main trade-off
Import Data is loaded into the semantic model and queries use its in-memory cache. Strong query performance and modeling flexibility are priorities, and scheduled or otherwise managed refresh can meet freshness needs. Data freshness depends on refresh; the model must be refreshed to reflect source changes.
DirectQuery Power BI sends queries to the source instead of importing all table data. Source data volume or freshness requirements make querying at the source a suitable choice. Interactive report responses and refresh-related responses can be slow depending on source performance and report design.
Composite A model combines tables with different storage modes or sources; it can combine Import and DirectQuery and may use Dual or hybrid table configurations. Different tables have different freshness, performance, or source requirements and the added flexibility is justified. It adds design complexity, including relationship behavior when tables come from different source groups.

Questions to settle before choosing

  • How current must the data be? Decide whether refreshed cached data is sufficient or source-query behavior is needed.
  • How large is the data, and what can the source handle? Consider both data volume and the source’s ability to respond to report queries.
  • How will users interact with reports? Filtering and visual design affect query behavior, particularly when Power BI queries the source.
  • What refresh or maintenance process is practical? Match the model to a refresh strategy the solution can support.
  • Does combining modes solve a real requirement? A Composite model is an option, not an automatic speed or simplicity improvement.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What to watch for in a Composite model

Relationships between tables in the same source group differ from relationships that cross source groups. Microsoft describes cross-source-group relationships as limited relationships, with behavior that can differ from relationships within one group. Modelers should understand those constraints and protect data integrity across the groups rather than assuming every relationship behaves alike.

Star-schema principles still matter in Composite models. Before adding sources or storage modes, identify which tables belong to which source group, which relationships cross those groups, and whether the integration is necessary for the reporting requirement. Microsoft’s composite model guidance covers construction and relationship behavior.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.