Feature Request: Native support for iterative/recursive calculations in DAX
Description
I propose the introduction of a native DAX function or a set of functions designed to handle sequential or iterative calculations, where the result of one step is the input for the next. This is a fundamental capability in most programming languages and is crucial for a growing number of common business modeling scenarios.
Problem Statement
A frequent and challenging use case in Power BI is the calculation of running balances that depend on conditional logic, such as a daily inventory level that cannot fall below zero (New_Balance = MAX(0, Prior_Balance + Daily_Change)).
Currently, achieving this in DAX is exceptionally difficult:
Standard DAX is insufficient: A simple running total using CALCULATE fails because it cannot handle the state-dependent logic (e.g., the "reset to zero" condition).
Advanced DAX patterns are prohibitive: The workarounds require extremely complex, non-intuitive, and error-prone patterns using multiple nested variables, iterators, and virtual tables. These patterns are a significant barrier to all but the most expert DAX developers and are difficult to maintain and debug.
Power Query is not always applicable: While Power Query can handle this, it is a pre-load transformation. It cannot be used if the base data is generated dynamically within the DAX model itself (e.g., a calculated table based on user selections).
Proposed Solution
Introduce a native DAX function that simplifies this logic. Conceptually, it could work like this:
ITERATE(<table>, <initial_value>, <result_expression> [, <sort_order>])
Where <result_expression> could reference the value from the previous step, abstracting away the complexity. For the inventory example, the expression could be as simple as MAX(0, [PreviousStepValue] + [Daily_Change]).
Value Proposition
Simplification: It would replace dozens of lines of complex DAX with a single, readable function, dramatically lowering the barrier for entry.
Accuracy & Reliability: It would eliminate the logical flaws and edge-case failures present in many widely-circulated advanced DAX workarounds.
Performance: A native, optimized function would likely outperform the current complex virtual-table-based patterns.
Modernization: It aligns DAX with the capabilities of modern data analysis and programming languages, acknowledging that sequential business logic is an increasingly common requirement.
This feature would significantly enhance the analytical power of DAX, making it more intuitive and robust for a critical class of business problems. I strongly urge the Power BI team to consider this for a future release.
Recent ideas
Allow External OneLake Data Shares to Be Accepted into Multiple Fabric Item Types
Fabric External Data Sharing provides an excellent zero-copy mechanism for sharing OneLake data across tenants. However, the receiving tenant currently has to accept the share into a Lakehouse. I w...Mourak20 hours agoNew MemberNew5Views0likes0CommentsAllow OneLake Shortcut Authentication Mode to Be Changed In Place
OneLake shortcuts support passthrough and delegated authentication, but changing the authentication model currently requires deleting and recreating the shortcut. I would like shortcut authenticatio...Mourak20 hours agoNew MemberNew7Views0likes0CommentsTenant-Wide OneLake Shortcut Lineage and Impact Analysis
This is grounded in a documented limitation: shortcut lineage is currently workspace-scoped, and Microsoft specifically says lineage for shortcuts to warehouses and semantic models isn't currently av...Mourak20 hours agoNew MemberNew16Views0likes1CommentAdd an End-to-End Production Reference Architecture for Microsoft Fabric Real-Time Intelligence
I would like to see a complete end-to-end Microsoft Fabric Real-Time Intelligence reference architecture that demonstrates how the individual RTI capabilities work together in a production-oriented s...Mourak20 hours agoNew MemberNew5Views0likes0CommentsImprove CI/CD consistency for Microsoft Fabric Real-Time Intelligence Eventstreams
Microsoft Fabric Real-Time Intelligence has made strong progress with Git integration and deployment pipelines, but lifecycle management can still be inconsistent across Eventstream sources, destinat...Mourak20 hours agoNew MemberNew3Views0likes0Comments