Power BI Masterclass
СтатистикаFREE resources to learn Power BI. Tutorials, Guides, Tips & Tricks, and more...
- Последний пост
- 14 авг.
- Последнее чтение
- 14 авг.
- Постов за неделю
- 5
- Всего постов
- 25
- Тип
- открытый
- Язык
- und
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 152
- 1/48двое суток
- 174
- 1/72трое суток
- 187
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
видео или голосовое, без подписи
💡 Build a dynamic weather forecast in Power BI — live API data, Power Query and native visuals only (.PBIX on the author's site) 🔗 https://medium.com/microsoft-power-bi/how-to-create-a-dynamic-weather-forecast-in-power-bi-8a331a90c2c9?sk=532cde7a0a27ca65ddda64aa383b04c1&utm_campaign=telegram 👉 Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
💡 Microsoft Fabric isn't a Power BI rebrand — why it's a paradigm shift for the whole BI lifecycle 🔗 https://medium.com/microsoft-power-bi/microsoft-fabric-for-business-intelligence-a-new-era-of-data-and-bi-ad59629a07c7?sk=a7de4f435ce6c16999412cb9d88e8152&utm_campaign=telegram 👉 Get access to all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
🔥 Visual Calculations deep dive — RUNNINGSUM, MOVINGAVERAGE and templates that skip the DAX ceremony 🔗 https://medium.com/microsoft-power-bi/understanding-visual-calculations-in-power-bi-revolutionizing-data-analysis-1c15c943243e?utm_campaign=telegram 👉 Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
💡 The SQL Server SSL certificate error in Power BI — a one-environment-variable fix, no gateway changes needed 🔗 https://medium.com/microsoft-power-bi/resolving-the-sql-server-ssl-certificate-error-in-power-bi-60c2cf0a5856?utm_campaign=telegram 👉 Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
✨ Custom fonts in Power BI with one theme-file hack — plus the limitations to know before you brand everything 🔗 https://medium.com/microsoft-power-bi/beyond-defaults-using-custom-fonts-in-power-bi-b2b341fd323e?utm_campaign=telegram 👉 Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
1,000+ conversations later, our Power BI GPT is earning its name 🎓 When we built the Power BI Coach and Assistant, the goal was simple: a step-by-step guide that coaches you through Power BI instead of just handing you answers. Where it stands today: ⭐ 4.5 rating from 60+ reviews (best rating in category) 💬 1,000+ conversations 📊 Listed under Research & Analysis in the GPT Store What people bring to it: → DAX measures they want to understand, not just copy → "Where do I start?" — step-by-step learning guidance → Everyday Power BI questions, from modeling to visuals Try it here (free, runs in ChatGPT): https://powerbi-masterclass.short.gy/pbi-gpt?utm_campaign=telegram — Open with your hardest DAX question 😉 To everyone who has tried it, rated it, and challenged it with the hard questions — thank you. That's what keeps making it better 🙏 #PowerBI #DAX #DataAnalytics #ChatGPT
🔎 Power BI July 2026 Update: Detailed walkthrough Friend link: https://medium.com/microsoft-power-bi/power-bi-july-2026-the-month-the-browser-became-a-real-modeling-tool-0886c711a9e8?sk=a9f47a266339bf2116d08626dc78480f&utm_campaign=telegram 👉 Get all our Power BI tutorials: https://linktr.ee/powerbi.masterclass?utm_campaign=telegram TL;DR by role 👇 🔹 DAX / semantic model developers TMDL view and the Model Options dialog both landed in the Service. Watch the trap: republishing from Desktop silently overwrites model options you changed on the web — decide which surface owns each model. Also new: /// comments above a measure become its model description, and LOOKUP gains an INFERRED mode that carries context columns automatically. 🔹 Report authors / analysts "Customize current theme" moves report-wide theming into the Format pane (Desktop-only preview). And the sleeper feature: conditional formatting now reaches line charts and legends — one DAX measure can pin your category colors across every visual in the report. 🔹 BI platform owners / admins Org apps with audiences are GA, plus bookmarks, PowerPoint storytelling and mobile support in the same month. No deprecation timeline for workspace apps and no migration tool — but you need a position before your makers start creating org apps on their own. Also dated: Desktop builds from March 2026 or earlier lose OneDrive/SharePoint save-and-share in October. 🔹 Developers / data platform engineers Full CRUD REST APIs for org apps, audiences and paginated reports — the distribution layer is now provisionable as code. And TMDL is quietly becoming the cross-surface model-as-code language. 🔹 Decision-makers Three threads: the Desktop/Service split is dissolving by design, org apps are the distribution bet, and consistency is becoming declarative — themes, color measures and /// descriptions replacing per-object manual effort.
✨ Matrix + bar chart combos that stay perfectly aligned no matter the filters — a heatmap-style walkthrough 🔗 https://medium.com/microsoft-power-bi/maintaining-visual-alignment-in-matrix-chart-combinations-c56a7edb0348?sk=83a027ebc2d3c51de6fe7d510d15baff&utm_campaign=telegram 👉 Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
🧮 DAX Reference - Day 20/237: AVERAGEX — "what's our average order value?" is a trick question. It sounds like the easiest request a stakeholder can make. But an average is a fraction, and nobody in the meeting has agreed on the denominator. Average per order line? Per order? Per selling day? Same sales, three different numbers — and AVERAGEX is how you pick one on purpose. If you've followed this series, you've already seen it working quietly in three posts; today it gets its own day. When to use it: 1️⃣ Averaging a calculation no column holds. AVERAGEX(OrderItem, OrderItem[Qty] * OrderItem[Price]) walks the lines and averages quantity × price — the same row-by-row trick you know from SUMX. 2️⃣ Averaging at the granularity you actually mean. AVERAGEX(VALUES('Order'[Order]), [Total Sales]) computes each visible order's total, then averages those. That's the business's real average order value — per order, not per line. Swap the table and you swap the definition: VALUES('Date'[Date]) makes it per day. 3️⃣ Controlling the denominator. BLANK results are skipped, so IF(DaySales > 0, DaySales) inside the expression excludes non-selling days from the average — deliberately. Or add + 0 to force empty rows in. The point is that it's your decision, made visibly. When to avoid it: ❌ For a plain column mean, AVERAGE is faster and clearer. No iteration needed to average a column that already exists. ❌ With a measure inside, over a big fact table. Each row triggers a context transition — cheap over VALUES of a key column, expensive over millions of fact rows. Rule of thumb: before writing any average, say the denominator out loud — "per line," "per order," "per selling day." AVERAGEX is how you make the formula match the sentence. 🤔 What are your best practices with the AVERAGEX function? 📚 Learn more: https://powerbi-masterclass.com/public/article/dax-reference-averagex?utm_campaign=telegram 👉 Get all our Power BI tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram 💻 Practice AVERAGEX with our Power BI GPT Coach: https://chatgpt.com/g/g-68554431f9608191b9b40505c423fc6e-power-bi-coach-and-assistant?prompt=Help%20me%20practice%20AVERAGEX%20function&utm_campaign=telegram
✨ Calculation groups for YoY, QoQ & MoM — powerful, but here's why the author still reaches for UDFs in real-world projects (.PBIX included) 🔗 https://medium.com/microsoft-power-bi/calculation-groups-for-yoy-mom-qoq-in-power-bi-powerful-but-maybe-not-worth-it-86d996dbd471?sk=1701eab835697ba40e37d0b8a743d957&utm_campaign=telegram 👉 Get access to all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
🪄 DAX Reference - Day 19/237: VALUES — the function that knows what's actually on the screen. Day 10 left a loose end. SELECTEDVALUE reads the user's pick beautifully — until they Ctrl-click a second category, and all it can offer is the fallback text. "Multiple categories." Which ones? It can't say. VALUES can. Before — honest but vague: Report Title = SELECTEDVALUE(Products[Category], "Multiple categories") After — name them: Report Title = CONCATENATEX(VALUES(Products[Category]), Products[Category], ", ") VALUES(Products[Category]) returns a little table: the distinct categories still visible after every slicer and filter has spoken. CONCATENATEX walks it and glues the names together — "Furniture, Office Supplies" — a title that always tells the truth, whatever combination the user picked. That's the general skill, and it goes far past titles. The same table answers three different questions: Count it — COUNTROWS(VALUES(Products[Category])) says how many categories are in scope. Loop it — AVERAGEX(VALUES(Products[Brand]), [Total Sales]) computes each visible brand's total, then averages those: the standard per-group pattern. Read it — with exactly one value in context, VALUES converts to that value; with more, it errors. That error is literally why SELECTEDVALUE was invented. And the subtlety that earns VALUES its 3/5: the blank row. When a fact table points at a dimension key that doesn't exist, the model quietly adds a blank row to the dimension — and VALUES includes it, while its twin DISTINCT hides it. In a clean model they're interchangeable; in a drifting production model, your counts can differ by one ghost row. Pick deliberately. Rule of thumb: whenever the question is "which ones is the user looking at right now?" — the answer starts with VALUES. 🤔 What are your best practices with the VALUES function? 📚 Learn more: https://powerbi-masterclass.com/public/article/dax-reference-values?utm_campaign=telegram 👉 Get all our Power BI tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram 💻 Practice VALUES with our Power BI GPT Coach: https://chatgpt.com/g/g-68554431f9608191b9b40505c423fc6e-power-bi-coach-and-assistant?prompt=Help%20me%20practice%20VALUES%20function&utm_campaign=telegram
🏆 Power BI Report of the Day by Anushree Dhomne 🔗 https://www.linkedin.com/posts/anushree-dhomne-59b80031b_4ureport-builtwithzoomcharts-powerbi-ugcPost-7487178485220880385-JGx-/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAL2gcYBgyYWDyCemnMXuu1ThSZWCcmmJ3Q&utm_campaign=telegram 👉 Follow us for more: https://linktr.ee/powerbi.masterclass?utm_campaign=telegram
✨ Predictive analysis in Power BI, from A to Z — from Power Query features to Python, R and Azure ML integration 🔗 https://medium.com/microsoft-power-bi/how-to-use-predictive-analysis-and-modeling-in-power-bi-a-deep-practical-guide-38dcdd744d80?sk=919a2fef08c81d86e38b391aaedef706&utm_campaign=telegram 👉 Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
⏱️ DAX Reference - Day 18/237: LASTDATE — it returns the same date as MAX, so why does it exist? Yesterday's post ended with an idiom: when you read MAX('Date'[Date]), hear "the last visible date." Today, the natural question — DAX has a function literally named for that job. LASTDATE('Date'[Date]) points at the very same date. Two functions, one answer. The difference isn't the value; it's the type, and the type decides where each one belongs. MAX returns a scalar — a naked value. LASTDATE returns a one-row table that still remembers which column it came from. That memory (lineage) is what lets it drop straight into CALCULATE as a filter: Shipments on Last Day = CALCULATE(COUNTROWS(Shipment), LASTDATE('Date'[Date])) Whatever period the visual shows — a month, a quarter, a year — only the closing day's shipments count. That's the snapshot pattern, the standard shape for closing balances, stock levels, and headcounts, and it's where LASTDATE earns its keep. MAX can't sit in that position on its own. Where the twins swap places: inside iterators and FILTER conditions. LASTDATE is CALCULATE-based, so in a row context it quietly performs a context transition — the classic trap that makes a formula slower and occasionally just wrong, with nothing visibly broken. In row-context logic, MAX gives the same date with no hidden machinery. One more edge: LASTDATE demands data on that exact day. If the period's last day can be empty — weekends, holidays, a warehouse that doesn't count stock daily — the snapshot silently returns blank, and LASTNONBLANK is the tool instead. Rule of thumb: in filter arguments, LASTDATE; everywhere else, MAX. Same date, different types — and the type is the whole difference. 🤔 What are your best practices with the LASTDATE function? 📚 Learn more: https://powerbi-masterclass.com/public/article/dax-reference-lastdate?utm_campaign=telegram 👉 Get all our Power BI tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram 💻 Practice LASTDATE with our Power BI GPT Coach: https://chatgpt.com/g/g-68554431f9608191b9b40505c423fc6e-power-bi-coach-and-assistant?prompt=Help%20me%20practice%20LASTDATE%20function&utm_campaign=telegram
🏆 Power BI Report of the Day by Odunlami Zainab 📺 https://app.powerbi.com/view?r=eyJrIjoiNDk3MWE0NjktNzAyZC00YzlkLTk4ODAtNWQ5YjcxNGNlYjkwIiwidCI6IjQ2NTRiNmYxLTBlNDctNDU3OS1hOGExLTAyZmU5ZDk0M2M3YiIsImMiOjl9&utm_campaign=telegram 🔗 https://www.linkedin.com/posts/odzainab_hr-workforce-planning-attrition-activity-7487292657799675904-IyR7?utm_source=share&utm_medium=member_android&rcm=ACoAAAL2gcYBgyYWDyCemnMXuu1ThSZWCcmmJ3Q&utm_campaign=telegram 👉🏻 Follow us for more free Power BI content: https://powerbi-masterclass.short.gy/linktree?utm_campaign=telegram
🚀 Power BI Documentation Made Easy: No External Tools (.PBIX Included) 🔗 https://medium.com/microsoft-power-bi/power-bi-documentation-made-easy-no-external-tools-pbix-included-f7acb4671f47?sk=5416ec19023d1944ca45a6029a897f60&utm_campaign=telegram Get all our tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram
🧠 DAX Reference - Day 17/237: MAX — the beginner function hiding in the middle of every advanced formula. Look back at this week's code. Day 12's year-to-date, Day 15's rolling window — both had MAX('Date'[Date]) sitting quietly in the middle. That's not a coincidence, and it's not there to find the biggest date in your calendar. The one idea worth really getting: MAX doesn't mean "the largest value in the column." It means the largest value still visible after every filter has done its work. On a card showing March, MAX('Date'[Date]) is March 31. Select Q1, it's March 31 too. No filter at all, it's the calendar's last day. That's why DAX code is full of it — inside a filter context, MAX('Date'[Date]) is the idiom for "the last visible date," and it's the anchor of every running total, every "sales up to today," every rolling window. When you read time-intelligence code, train your eye to translate it that way automatically — the formulas suddenly read like sentences. And MAX has a second personality most people meet much later: give it two scalar expressions instead of a column, and it simply returns the larger one. Above Target = MAX([Total Sales] - 100000, 0) That's a floor at zero with no IF in sight — cleaner to write, cleaner to read. MAX(x, 0) replaces a whole family of small IF(x > 0, x, 0) measures, and MIN does the same job from the other side as a cap. The boundary to know: the column form takes bare columns only. The moment you want the maximum of an expression — the biggest Qty * Price line — that's MAXX territory, same split you already know from SUM and SUMX. Rule of thumb: when you write MAX, know which personality you're calling — and when you read MAX('Date'[Date]) in anyone's code, hear "the last visible date." 🤔 What are your best practices with the MAX function? 📚 Learn more: https://powerbi-masterclass.com/public/article/dax-reference-max?utm_campaign=telegram 👉 Get all our Power BI tutorials: https://powerbi-masterclass.short.gy/power-bi?utm_campaign=telegram 💻 Practice MAX with our Power BI GPT Coach: https://chatgpt.com/g/g-68554431f9608191b9b40505c423fc6e-power-bi-coach-and-assistant?prompt=Help%20me%20practice%20MAX%20function&utm_campaign=telegram
🔥 “Sales are at $2.5 million!” — good or bad? 7 ways to build the “because” behind your KPIs right into the report 🔗 https://medium.com/microsoft-power-bi/designing-for-context-7-ways-to-add-the-because-behind-your-kpis-in-power-bi-708edc3780b8?sk=99fadc2f4dd36cc76edfcfbe1a8d2c87 👉 Get access to all our tutorials: https://powerbi-masterclass.short.gy/power-bi
🔎 Day 16/237: REMOVEFILTERS — the percentages look right until someone touches a slicer. Share-of-total measures are where DAX quietly lies to you. Nothing errors, nothing turns red — the numbers just stop meaning what the label says, and only if you happen to check the total do you notice they no longer add to 100%. The mistake: % of Category = DIVIDE([Total Sales], CALCULATE([Total Sales], ALL(Products))) It looks surgical. It isn't. ALL(Products) clears the entire expanded Products table — every column, plus filters arriving from related dimensions. Add a Brand slicer to the report and the denominator quietly ignores the brand too, so each row is now a share of all sales everywhere, not a share within the brand the user selected. The fix — name the column you actually meant to clear: % of Category = DIVIDE([Total Sales], CALCULATE([Total Sales], REMOVEFILTERS(Products[Category]))) Category filters are gone, Brand stays. The percentages add to 100% within whatever the user picked, which is what the visual claims. Two more things worth having: 1️⃣ The no-argument form clears everything. CALCULATE([Total Sales], REMOVEFILTERS()) is an unconditional grand total — no slicer, no visual, nothing survives. Handy for "% of everything", dangerous by accident. 2️⃣ It's a modifier, not a table. COUNTROWS(REMOVEFILTERS(Products)) is invalid. REMOVEFILTERS only lives inside CALCULATE; the moment you need the actual unfiltered rows — for RANKX, for AVERAGEX, for a table argument — you're back to ALL. Rule of thumb: reach for REMOVEFILTERS whenever you're removing filters and ALL whenever you need rows. Same behavior, but the name tells the next reader which one you meant — including you, in six months. 🤔 What are your best practices with the REMOVEFILTERS function? 📚 Learn more: https://powerbi-masterclass.com/public/article/dax-reference-removefilters 👉 Get all our Power BI tutorials: https://powerbi-masterclass.short.gy/power-bi 💻 Practice REMOVEFILTERS with our Power BI GPT Coach: https://chatgpt.com/g/g-68554431f9608191b9b40505c423fc6e-power-bi-coach-and-assistant?prompt=Help%20me%20practice%20REMOVEFILTERS%20function