Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Power BI DAX Intermediate: Ranking, Logic, Time Intelligence
Rating: 5.0 out of 5(3 ratings)
1,022 students

Power BI DAX Intermediate: Ranking, Logic, Time Intelligence

Enhance Your Power BI Data Modeling With DAX—Master Ranking, Logic, Time Intelligence, and Dynamic Report Design
Created byGrant Gamble
Last updated 6/2025
English
English [Auto],

What you'll learn

  • Use intermediate DAX functions like RANKX, SWITCH, and USERPRINCIPALNAME in Power BI reports
  • Build dynamic titles, tooltips, and charts that adapt to filters and user identity in Power BI dashboards
  • Apply logic, conditional formatting, and dynamic visuals using powerful Power BI DAX techniques
  • Create time intelligence measures for YTD, MTD, and comparisons to track trends, monitor growth, and improve decision-making in Power BI

Course content

6 sections39 lectures5h 26m total length
  • 0100a-Welcome to the Course2:38

    Welcome to Power BI DAX Intermediate: Ranking, Logic, Time Intelligence — the second course in our three-part DAX mastery series. In this introductory video, we’ll outline exactly what you can expect to learn as you take your Power BI and DAX skills to the next level.

  • 0100b-Downloading the Course Files2:16

    In this quick setup video, you’ll learn how to download and extract the course exercise files so you're ready to follow along with the lessons.

    We’ll show you exactly where to find the ZIP file on Udemy, how to extract it, and what’s included — such as sample Power BI reports, starter datasets, and completed DAX examples for each section of the course.

    Each section contains both starter and completed files, giving you the flexibility to build the solutions yourself or explore the finished versions as needed.

  • 0100c-Downloading the PDF Book which Mirrors this Course1:54

    In this short video, you’ll learn how to download the full PDF book that accompanies this course.

    The PDF mirrors the structure and content of the lessons, making it perfect for offline reading or quick reference while you work in Power BI. Whether you prefer reading alongside the video or revisiting concepts later without logging into Udemy, the book is a handy companion.

  • 0101: Using the SELECTEDVALUE Function7:18

    n this opening lesson, we introduce SELECTEDVALUE, one of the most commonly used DAX functions when building dynamic titles and responsive labels in Power BI.

    SELECTEDVALUE is designed to return the single value selected from a column—only when exactly one value is selected. If more than one value is selected (or none), it returns a default value such as BLANK(), or another value of your choosing.

    You’ll learn how to use SELECTEDVALUE to create titles that reflect current user selections, helping end users quickly understand the data they're viewing. This is especially helpful when visuals respond to slicers or filters—for example, showing a report title like “Pixope Sales for London”, depending on what branch and product range the user selects.

    We’ll walk through:

    • The syntax and behaviour of SELECTEDVALUE

    • How to combine it with text strings to build dynamic titles

    • How to include fallback logic using the optional second argument

    • Practical scenarios such as replacing shortened codes (e.g., “N Ireland”) with user-friendly labels

    By the end of this lesson, you’ll know how to create dynamic report elements that make your visuals more intuitive, informative, and context-aware—all with a single DAX function. This sets the stage for building user-friendly, professional dashboards from the very start.

  • 0102: Nesting the SELECTEDVALUE Function6:35

    In this lesson, we explore how SELECTEDVALUE can be nested to support fallback logic—ideal when your report should show one value if available, and another if not.

    You’ll see how nesting SELECTEDVALUE allows for smart, layered behaviour. For example, a gauge title can display the selected branch if one has been chosen, or show the country name if no specific branch is selected.

    We’ll walk through:

    • How to nest SELECTEDVALUE to handle different levels of granularity

    • A real example using branches and countries to create a flexible title

    • Why this technique is so useful when building titles, labels, and custom messages

    This approach helps keep your reports readable and adaptable, even when users don’t make explicit selections. By the end of this short lesson, you’ll have a practical tool for creating intelligent default behaviours in your visuals—without writing overly complex DAX.

  • 0103: Creating a Dynamic Search URL9:10

    In this lesson, you’ll learn how to create dynamic web links in Power BI that let users search online for more information—directly from a report.

    We walk through a practical example where department names are turned into Google search links. This is especially helpful in scenarios like healthcare dashboards, where some users may be unfamiliar with certain terms (e.g. “Gastroenterology”).

    You’ll learn how to:

    • Use Power Query’s Uri.EscapeDataString function to make text URL-safe

    • Create a custom column that prepares data for web searches

    • Build a DAX measure that combines your data with a Google search prefix

    • Categorise the measure as a Web URL so that it's clickable in visuals

    • Apply this measure to a card visual and clean up totals and formatting

    By the end, you'll be able to enhance your reports with external search functionality—opening up new ways for users to explore and understand unfamiliar content directly from your dashboard.

  • 0104: Detecting User Identity13:36

    In this lesson, you’ll learn how to personalise your Power BI reports by detecting the identity of the logged-in user. This approach is ideal for multi-user dashboards—like sales reports—where each manager should see data relevant to their own team.

    You’ll use the USERPRINCIPALNAME() function to retrieve the current user’s email address and match it to a manager’s record in your dataset. This allows you to:

    • Display a personalised welcome message using their full name

    • Add custom commentary that responds to their team’s selected performance

    • Use DAX to tailor text dynamically using conditional logic and string formatting

    You’ll also see how to test this feature by swapping out email addresses in Power Query and how to configure shape visuals to display commentary using dynamic text.

    By the end, you’ll be able to build reports that adapt in real time to whoever is viewing them—making your dashboards feel smarter, more secure, and more user-aware.

  • 0105: Using USERPRINCIPALNAME with Row-Level Security9:48

    In this lesson, you'll learn how to secure your Power BI reports using Row-Level Security (RLS), ensuring that each user only sees the data relevant to them. Instead of building multiple reports for different users, you’ll create a single report that dynamically filters itself based on who’s logged in.

    We’ll use the USERPRINCIPALNAME() function to match the user’s email address with a row in a Managers table, and apply that logic through a dynamic RLS role. You’ll be guided through setting up this role in Power BI Desktop, testing it with sample emails, and publishing the report to Power BI Service where real user access can be configured.

    Along the way, you’ll also learn best practices for:

    • Defining a reusable security role using DAX

    • Testing user-specific views using the “View As” feature

    • Managing access at scale by assigning security groups instead of individuals

    • Verifying that personalised visuals and slicers behave correctly for each user

    By the end of this lesson, you’ll be able to implement scalable, secure access control for your Power BI reports—ideal for sales teams, department managers, or any multi-user reporting environment.

  • 0106: Displaying the Last Refresh Date in Reports7:04

    In this lesson, you’ll learn how to display the last data refresh timestamp on your Power BI report—ensuring users know exactly when the underlying data was last updated.

    We’ll begin by explaining why a simple DAX formula like NOW() doesn’t work as expected, since it reflects the user’s local time rather than the dataset’s refresh time. Instead, you’ll use Power Query to capture the actual refresh timestamp during data load.

    You’ll be guided through:

    • Creating a new query in Power Query using DateTime.LocalNow()

    • Returning a single refresh timestamp that updates only on refresh

    • Formatting the value in DAX using the FORMAT and SELECTEDVALUE functions

    • Embedding the result in a shape or card visual for clear, consistent presentation

    By the end, you’ll be able to add a reliable last refresh message—something every professional Power BI report should include to maintain transparency and user trust.

  • 0107: Using DAX for Narration10:38

    In this final lesson of the section, we’ll show how to turn data into natural language using DAX. Rather than presenting numbers in isolation, you’ll learn how to build a full sentence that updates dynamically based on slicer selections—transforming raw data into readable, personalised commentary.

    Using a dataset that tracks staff attendance and client ratings, we’ll guide you through:

    • Creating variables with SELECTEDVALUE to extract key information

    • Formatting dates, times, and numbers using FORMAT

    • Extracting a first name for informal narrative elements

    • Combining these elements into a coherent sentence using string concatenation

    We’ll also introduce a custom visual—Text Wrapper—that makes it easy to display multi-line, left-aligned text. You’ll use this visual to display a sentence like:

    “On 1 Jan 2024, Jane Smith arrived for work at 8:45 AM and left work at 4:30 PM. Jane had an average client rating of 4.7.”

    By the end of this lesson, you’ll be able to generate narrative-style summaries from your data—an excellent technique for reports aimed at less technical users or for adding polish to executive dashboards.

Requirements

  • A basic understanding of Power BI and DAX formulas (e.g. CALCULATE, SUM, FILTER).
  • Completion of a beginner DAX course or hands-on experience writing simple DAX measures.

Description

Ready to level up your Power BI data modeling skills and write DAX like a pro? This course is your step-by-step guide to mastering intermediate DAX techniques — the kind that transform reports from functional to exceptional and enhance your data modeling workflow.

In this hands-on, business-focused course, you’ll move beyond basic measures and calculated columns to discover how DAX can drive intelligent, responsive, and personalised Power BI experiences. Across six structured chapters, you’ll explore the full breadth of intermediate DAX capabilities — from dynamic titles and user-aware filters to row-level security, advanced logic, iterators, rankings, formatting, and time intelligence.

We begin with dynamic report elements, showing you how to use functions like SELECTEDVALUE, USERPRINCIPALNAME, and FORMAT to generate titles, search URLs, and personal commentary that adapt to the user and context. You’ll then master logical patterns with nested IF statements, compound conditions, and the powerful SWITCH(TRUE()) structure — making your measures flexible and context-aware.

Next, we take a deep dive into iterator functions like MAXX, MINX, and CONCATENATEX, before demystifying EARLIER and its modern replacement using VAR. These lessons will deepen your understanding of row context and strengthen your grasp of effective data modeling techniques in Power BI.

In the ranking section, you’ll build sophisticated comparisons using RANKX, TOPN, and optional arguments that control ties and sort order — all vital tools for leaderboard-style reports. You’ll also learn how to apply conditional formatting and visual storytelling using UNICHAR, RAG status logic, and dynamic KPIs.

Finally, we dedicate a full chapter to DAX time intelligence: running totals, prior period comparisons, and calendar-aware measures using DATEADD, SAMEPERIODLASTYEAR, DATESYTD, and more. You’ll understand how to build and customise your own calendar tables and apply time-based filters to uncover trends and seasonality.

By the end of the course, you won’t just be writing better DAX — you’ll be building smarter data models, designing user-responsive reports, and confidently applying best practices that scale. This is the course that turns competent Power BI users into powerful DAX creators.

Who this course is for:

  • Power BI users ready to move beyond basic measures into smarter, dynamic reporting
  • Data analysts, report developers, and professionals aiming to master real-world DAX techniques
  • Anyone preparing for Power BI-related roles or certifications and wanting deeper DAX skills
  • Data scientists looking to broaden their skillset to include Power BI and DAX skills for more flexible, self-service business reporting and data storytelling
  • Professionals preparing for Microsoft’s PL-300 certification who want deeper coverage of intermediate DAX patterns and report modelling
  • Excel power users transitioning to Power BI and needing to understand context, row-level logic, and advanced DAX functions