Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting point for data modeling, as well as a handy refresher.
Author Markus Ehrenmueller-Jensen, founder of Savory Data, shows you the basic concepts of Power BI's semantic model with hands-on examples in DAX, Power Query, and T-SQL. If you're looking to build a data warehouse layer, chapters with T-SQL examples will get you started. You'll begin with simple steps and gradually solve more complex problems.
This book shows you how to
• Normalize and denormalize with DAX, Power Query, and T-SQL
• Apply best practices for calculations, flags and indicators, time and date, role-playing dimensions and slowly changing dimensions
• Solve challenges such as binning, budget, localized models, composite models, and key value with DAX, Power Query, and T-SQL
• Discover and tackle performance issues by applying solutions in DAX, Power Query, and T-SQL
• Work with tables, relations, set operations, normal forms, dimensional modeling, and ETL
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
【One-Line Pitch】
A practical, example-driven guide to designing Power BI semantic models that actually perform—covering star schemas, DAX, Power Query, and T-SQL for both self-service and enterprise data warehouse work. Best for BI developers, analysts, and data engineers who already know Power BI basics but want to stop fighting their data model.
【Book Arc】
- **Opening (~0%–10%)**: Frames why data modeling is the overlooked cornerstone of Power BI, introduces the semantic model, and positions Analysis Services tabular as Power BI minus the report layer.
- **Early (~10%–30%)**: Builds fundamentals—tables, keys (natural, business, surrogate), relationships, cardinality, ERDs, joins, and the fan trap/chasm problems—then argues for star schema over single-table or fully normalized designs.
- **Early–Middle (~30%–45%)**: Moves into real-world patterns: binning, budget models with multiple fact tables, multi-language models, key-value pair tables, role-playing dimensions, and slowly changing dimensions.
- **Middle (~45%–60%)**: Explores the Power BI model surface itself—table and column properties, storage modes (import vs. DirectQuery), relationship management, referential integrity, and hiding/visibility practices.
- **Late (~60%–85%)**: Applies the same modeling challenges across three implementation paths—DAX, Power Query/M, and T-SQL—so solutions can be reused at different project stages.
- **Ending (~85%–100%)**: Closes with performance troubleshooting and enterprise data warehouse concerns, tying modeling decisions back to query speed and cost.
【Key Takeaways】
- **The data model, not the DAX, is the real leverage point** (Opening): a good star schema reduces the need for complex DAX gymnastics and improves performance and cost. (Opening)
- **Star schema is the target shape for Power BI** (Early): the VertiPaq engine is optimized for star schemas, so single-table, fully normalized, header-detail, and key-value designs are treated as anti-patterns to transform—not because they're objectively worse, but because reporting tools reward star schemas. (Early)
- **Keys deserve deliberate design** (Early): surrogate keys are artificial, integer, join-only values never exposed to report users; natural and business keys serve different purposes and shouldn't be conflated. (Early)
- **Cardinality and ERDs prevent structural bugs** (Early): documenting one-to-many relationships and drawing entity relationship diagrams helps you place foreign keys correctly and spot fan traps and chasms before they reach reports. (Early)
- **Real projects hit recurring patterns** (Early–Middle): binning, budget (multiple fact tables), multi-language models, key-value pair tables, role-playing dimensions, and slowly changing dimensions are the use cases the book treats in depth. (Early–Middle)
- **Key-value tables are flexible to write, painful to query** (Middle): they suit application developers but require pivoting and explicit data typing before they become reportable; self-joins can sometimes turn them into correlation-friendly matrices. (Middle)
- **Storage mode is a modeling decision** (Middle): choosing between importing a copy and querying the source via DirectQuery changes performance, refresh behavior, and how you must guarantee referential integrity. (Middle)
- **The same problem has three solutions** (Late): the book deliberately shows implementations in DAX, Power Query/M, and T-SQL so you can apply the fix at the layer that fits your architecture. (Late)
【Reading Tips】
- Read Chapters 1–2 carefully and don't skip them—the author explicitly warns that advanced use cases become frustrating without the star schema foundation.
- Treat the DAX / Power Query / T-SQL triples as a menu, not a sequence: pick the path matching your project's layer and skim the others.
- Deep-read the real-world examples chapter if you're already comfortable with star schemas; it's where the practical value concentrates.
- Pay attention to model properties (descriptions, synonyms, row labels, hidden tables) if you support Q&A or Excel users—these are easy to overlook and cheap to get right.
- Keep an ERD of your own model alongside the book; the fan trap and chasm discussions are far more useful when applied to your actual tables.
【Coverage Limits】
This guide is synthesized from stratified excerpts covering roughly the first half of the book plus the preface and table of contents; the later DAX, Power Query, T-SQL, and performance chapters are represented mainly by their stated topics rather than detailed content. Specific examples, figures, and chapter-level arguments beyond the excerpts are not covered.
k to read how you solve this in DAX, Power Query/M and SQL. As you can see in the screenshots, drawing the tables and the cardinality of their rela‐ tionship...
creator will need a way to specify which role the dimension should play in a visualization. You can also assign different roles by loading the table twice in...
tains only hidden columns, then the table is hidden as well. Hiding a table changes the “Is hidden” property of all columns within the table. If you unhide a...
ing is propagated, the Date column’s time will be midnight, while the Date/Time-type column’s time will be the actual timestamp—and no related columns will b...
with the help of the CONCATENATE function or the & operator. CONCATENATE only allows for a pair of parameters, so you need to wrap multiple calls to this fun...
data out of them into one of the other available data types. A column of this type will not be loaded into the Power BI data model. 246 | Chapter 13: Underst...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
Data Modeling with Microsoft Power BI Self-Service and Enterprise Data Warehouses with Power BI (Markus Ehrenmueller-Jensen)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share to WeChat Moments
Data Modeling with Microsoft Power BI Self-Service and Enterprise Data Warehouses with Power BI (Markus Ehrenmueller-Jensen)(Z-Library)
Scan the QR code with WeChat to open this book
Tap the ··· menu in the top-right corner
Choose Share to Moments
You are already in WeChat. Tap ··· in the top-right corner and choose Share to Moments.
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
Data Modeling with Microsoft Power BI Self-Service and Enterprise Data Warehouses with Power BI (Markus Ehrenmueller-Jensen)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment