DAX UDFs (User-Defined Functions) give you a smaller, more predictable building block than calculation groups: a named, reusable expression that only runs when a measure explicitly calls it. No filter-context leaks into titles, tooltips, or the filter pane – just centralized logic without the side effects.
But UDFs alone only get you so far. Once you're generating dozens of measures with consistent naming, formatting, and display folders, doing it by hand becomes the bottleneck. That's where Tabular Editor 3's development-experience features and C# scripting come in.
Daniel Otykier (Head of Product) and Bernat Agulló Roselló (Microsoft Data Platform MVP, Content Contributor) walk through the full picture: what UDFs are and how they compare to calculation groups, how to build and manage them in TE3, and how to scale them with scripts instead of manual work.