Transcrito

DAX UDF Parameter Modes: Stop Using VAL and EXPR Wrong

19 de nov. de 2025 · 21m 23s
DAX UDF Parameter Modes: Stop Using VAL and EXPR Wrong
Capítulos

01 · The DAX UDF Dilemma

0s

02 · The Context Transition Trap

32s

03 · VAL vs XPR: The Core Decision

47s

04 · The Best Customers Example

1m 39s

05 · When to Use VAL and XPR

2m 52s

06 · The Context Transition Problem

4m 54s

07 · Fixing the Context Transition Trap

5m 57s

08 · Materializing with Add Columns

8m 59s

09 · Parameter Types and Casting

13m 6s

10 · Authoring Checklist for UDFs

16m 12s

Descripción

In this episode of M365.fm, Mirko Peters shows why most DAX user‑defined functions fail quietly — not because the math is wrong, but because parameter modes, context transition, and materialization...

mostra más
In this episode of M365.fm, Mirko Peters shows why most DAX user‑defined functions fail quietly — not because the math is wrong, but because parameter modes, context transition, and materialization are misunderstood.

WHAT YOU WILL LEARN
  • The real difference between VAL and EXPR: pass‑by‑value vs pass‑by‑expression and why it changes when your logic runs
  • Why using VAL for context‑sensitive metrics freezes results and produces “comfortably wrong” numbers
  • How EXPR behaves like a measure, and why you must wrap it with CALCULATE inside iterators to respect the current row
  • How to stop recomputing expensive expressions by materializing them once with ADDCOLUMNS and reusing the column
  • How data types, coercion, and BLANK handling can quietly change your results in UDFs
  • A practical “Mode → Move → Make” checklist you can apply to every new DAX function you write
THE CORE INSIGHT

DAX UDFs are not magic; they are just DAX with sharper edges. VAL vs EXPR decides whether you pass a frozen scalar or a living expression; context transition decides whether row context becomes filter context; materialization decides whether you pay the same expensive cost hundreds of times or once. If you ignore those three decisions, your UDFs will work in demos and betray you in production.

WHO THIS EPISODE IS FOR

This episode is ideal for Power BI developers, DAX authors, semantic model owners, and anyone building reusable calculation logic in enterprise models. If you’ve ever had a “correct” UDF that fails on slicers, ignores the current row, or suddenly becomes slow at scale, this conversation gives you the mental model and patterns to fix it.

ABOUT THE HOST

Mirko Peters is a Microsoft 365 and data platform consultant focused on building trustworthy, reusable semantic models on Power BI and Microsoft Fabric. Through M365.fm, Mirko shares practical DAX patterns, performance lessons, and modeling approaches that help teams move from fragile measures to robust, well‑behaved UDFs that stand up under real workloads.

Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-a-microsoft-mvp-podcast-by-mirko-peters--6704921/support.
mostra menos
Información
Autor Mirko Peters (M365 Consultant)
Organización m365 FM
Página web www.m365.fm
Etiquetas

Parece que no tienes ningún episodio activo

Echa un ojo al catálogo de Spreaker para descubrir nuevos contenidos.

Actual

Portada del podcast

Parece que no tienes ningún episodio en cola

Echa un ojo al catálogo de Spreaker para descubrir nuevos contenidos.

Siguiente

Portada del episodio Portada del episodio

Cuánto silencio hay aquí...

¡Es hora de descubrir nuevos episodios!

Descubre
Tu librería
Busca