Calculated columns are now available in preview for Direct Lake on OneLake semantic models. This has been one of the most requested capabilities since Direct Lake launched and closes a long-standing gap with Import and DirectQuery storage modes.
You can define calculated columns directly in your semantic model using DAX in web modeling and Power BI Desktop, without changing the table storage mode or modifying data upstream.
The problem this solves
Direct Lake combines Import-like performance with near real-time data freshness by querying Delta tables in OneLake and loading data into memory as needed.
But until now, if your model needed a derived column, you had only two options: push the logic upstream into the data source or move the table to a different storage mode. Calculated columns close that gap – you can now define columns directly in the semantic model using DAX without leaving Direct Lake.
What you can build
Common use cases include:
- Derived values, such as an age calculated from a birth date.
- Concatenating fields, such as city and region into a single field for slicers.
- Formatted dates like Month-Year for grouping in visuals.
- Multilingual reports using data translations with USERCULTURE().
- Personalized content based on functions like USERPRINCIPALNAME().
Examples
1. Age = DATEDIFF( DimCustomer[BirthDate], TODAY(), YEAR ) …