October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk8 min

Power BI Data Modelling: How a Sound Model Leads to Better Analysis

A good Power BI model separates dimensions from facts, states the grain, uses relationships as filter paths, and defines measures once. Here is how those choices change the analysis readers see.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A Power BI report is only as dependable as the semantic model behind it. When descriptive tables are kept apart from measurable events, relationships pass filters in the direction you expect, and calculations are defined once rather than rebuilt in every visual, report authors get totals they can trust and slices that mean what they appear to mean. The star schema is the pattern Microsoft’s guidance treats as the usual starting point, but it is a default to reason from, not a rule that fits every source system.

What a good model actually changes for the analyst

Every visual in a Power BI report sends a query to the semantic model. The model decides which tables can be used to filter or group, which tables hold the numbers being summarized, how a filter selected in one table reaches another, and which calculations are available. If those decisions are made clearly, a chart total is predictable and a slicer does what its label promises. If they are not, the same visual can show different numbers depending on which field a author happened to drag in, and the cause is hard to trace.

As an Amazon Associate I earn from qualifying purchases.

Good modelling therefore improves analysis in four concrete ways: it gives readers stable tables to slice by, keeps numeric facts at a consistent level of detail so that sums are meaningful, makes relationships carry filters as intended, and stores business logic in named measures so the same definition appears everywhere.

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

Dimension and fact tables do different jobs

Most analytical models separate two kinds of table. Microsoft’s star-schema guidance puts the difference in one sentence: “Dimension tables enable filtering and grouping.” Dimension tables describe the things an analysis is about, such as products, customers, stores, or calendar dates. Their columns become slicers, axis labels, and legend values.

The same guidance continues: “Fact tables enable summarization.” Fact tables record observations or events, such as orders, shipments, or payments, together with numeric columns that can be added, averaged, or counted. Fact tables usually hold keys that point to the dimensions and very few descriptive fields.

The distinction is conceptual rather than a setting. Power BI does not mark a table as a dimension or a fact. The roles emerge from the relationships between tables and their cardinality, which is why a table can behave as a dimension in one model and as a fact in another.

State the grain before you write a single measure

The grain is what one row in a fact table represents. A table where each row is one order line has a different grain from a table where each row is one order, and a table of daily stock counts has a different grain again. Microsoft’s guidance recommends keeping fact-table rows at a consistent grain so that a measure such as total quantity sums comparable records.

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

Mixing grains is one of the most common ways a model produces numbers that look plausible but are wrong. An order-header amount repeated on every order line will be counted several times once it is summed. Before building relationships, write one sentence per fact table that begins “one row represents…”. If you cannot finish that sentence without listing two different things, split the table.

Relationships are filter paths, not data-cleaning rules

A relationship tells Power BI how a filter applied to one table should propagate to another. The most common form is one-to-many: the dimension side holds unique values for the key, and the fact side may hold the same value many times. Filters flow from the dimension to the fact table, so selecting one product shows only the sales rows for that product.

Microsoft’s relationship documentation is explicit about the limit of this mechanism: “Model relationships don’t enforce data integrity.” A relationship will not remove orphan rows, fix a misspelled key, or reject duplicate keys on the dimension side. Those problems must be found in the source data or in the transformation step. Duplicate values on the one side can cause a refresh to fail, and mismatched column data types or differing time components can make values that look identical fail to match.

Cardinality and filter direction

Cardinality describes how many rows on each side can match. Power BI’s default, a single-direction one-to-many relationship, is the pattern a star schema depends on. Bidirectional filtering can be useful in narrow cases, but it lets filters travel in more than one direction and can create ambiguous paths. Use it deliberately, and test a few visuals afterward to confirm that totals still match what you expect.

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

Checks to run when a visual looks wrong

  • Confirm that the key on the dimension side has no duplicate values.
  • Compare the column data types on both sides of the relationship, including whether one side is a date with a time component.
  • Count fact rows that have no matching dimension key, since they will fall outside any slice of that dimension.
  • Check that the relationship is active and that the filter direction matches the intended reading of the model.
  • Recalculate a total in the source system and compare it with the report total at the same grain.

A worked example: sales analysis

Consider a retailer that wants to analyse sales. A workable starting design has one fact table and three dimensions. The fact table is a sales table in which each row is one order line, and it holds keys, quantity, and amounts. The dimensions are product, customer, and date.

Table Role Typical columns Grain or key
Sales Fact Order line ID, product key, customer key, date key, quantity, net amount One row per order line, as stated for this example only
Product Dimension Product name, category, subcategory, brand One row per product, unique product key
Customer Dimension Customer name, region, segment One row per customer, unique customer key
Date Dimension Date, month, quarter, year, fiscal period One row per calendar day, unique date key

With this layout, a visual showing net amount by product category and quarter needs no special logic. The category and quarter come from dimension tables, and the amount is summed from the fact table. The grain statement tells an author that a sum over sales rows counts each order line once, so the same design would be wrong for a source where each row is an order with several lines, unless the amount is first split or the grain is stated differently.

Many-to-many data needs an explicit design choice

Many-to-many situations are common in real data: a customer can belong to several loyalty programmes, and a programme can contain several customers. Microsoft’s many-to-many guidance does not treat these as a reason to connect tables directly and hope for the best.

Dimension to dimension: use a bridge table

When two dimensions relate to each other many-to-many, a bridge table records each association as its own row. The bridge holds one key from each dimension, and each dimension relates to the bridge through a one-to-many relationship. Filters then travel through the bridge in a controlled way. The trade-off is one extra table to maintain and a need to explain the bridge to report authors.

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

Fact to fact: introduce shared dimensions

Connecting two fact tables directly with a many-to-many relationship is a different problem. Microsoft’s guidance warns that this approach can limit useful filtering and grouping, and that it can behave poorly when data integrity is compromised. In the example its guidance discusses, the recommended approach is to introduce shared dimensions and connect each fact table to them with one-to-many relationships. The same guidance also describes a separate scenario involving facts at a higher grain, so the right answer depends on what each fact table records. Confirm the grain of both facts before choosing a pattern.

Measures carry the business logic

An explicit measure is a DAX expression that is evaluated at query time, in the context of the filters and groupings a visual applies. A measure such as total net sales, written once and used in every report that needs it, centralises the definition. It also prevents a visual from quietly aggregating a column in a way the business does not intend, such as averaging a rate or summing a value that should be counted distinctly.

Name each measure so a report author can tell what it means, and add a description that states what it includes and when it should be used. Descriptive names, useful hierarchies, and hidden implementation fields, which Microsoft’s optimisation guidance also recommends, make the model easier to use correctly. Hiding every numeric column is not automatically better: a column that authors are meant to aggregate directly may be worth leaving visible, while a key or helper column usually is not. Decide per field based on how the report is expected to behave.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choosing a storage mode is a constraint decision

Power BI offers Import, DirectQuery, and Composite storage modes. Microsoft’s optimisation guidance treats them as options to be matched to requirements, not as a ranking. The factors to weigh are listed below.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Freshness: how current the data must be, and how often it can realistically be refreshed.
  • Query performance: how quickly visuals must respond, and how much work the source can absorb at query time.
  • Source location and capabilities: where the data lives and what the source system can do.
  • Data volume: how many rows the model must hold or query.
  • Operational complexity: how much refresh scheduling, source connectivity, and maintenance the team can support.

A star schema is compatible with each mode, so the modelling decisions above still apply. The storage choice changes where the work happens and how fresh the answers are, not whether the model needs clear dimensions, grains, and relationships.

Where the star schema is a default rather than a rule

Microsoft’s own star-schema guidance acknowledges that the optimal design involves judgment and can sometimes depart from the general pattern. A simple star is easy to explain and usually gives clear filter behaviour and correct aggregation. More complex relationship patterns can be justified when the source data is shaped that way, when reporting needs cannot be met otherwise, or when the model’s size and performance requirements call for it. Each departure should be made for a stated reason and tested against the same questions: whether filters are clear, whether aggregations stay correct, whether integrity problems are visible, whether report authors can use the model without help, and whether size and performance remain acceptable.

Where to go next

If you are new to dimensional modelling, begin with the star-schema guidance and the relationship documentation linked above, then build a small model from one fact table and two or three dimensions. Microsoft’s intermediate learning module Design semantic models for scale in Microsoft Fabric covers storage-mode selection, star-schema relationships, scalable calculations, and settings for scale. It lists prior understanding of data modelling concepts and experience with Fabric and Power BI as prerequisites, so it suits readers who already know the basics.

For a deeper treatment of dimensional design, Microsoft names The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, third edition (2013), by Ralph Kimball and others, as further reading. It covers dimensional design in general rather than Power BI specifically.

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

The model is the part of a Power BI project that outlasts individual reports. Spending time on grain, relationships, and named measures before building visuals is usually the cheapest way to make later analysis consistent.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.