Microsoft Power Fx: What is it and Why does it matter?
Updated: Jul 10
At the 2021 Microsoft Ignite virtual event, Microsoft announced a new language for the Power Platform called Power Fx.
What is Power Fx?
Microsoft Power Fx is the low code language for expressing logic across the Microsoft Power Platform. It is the same language that is at the heart of Microsoft Power Apps canvas apps today and is inspired by Microsoft Excel. It enables the full spectrum of development from “no code” to “pro code” with no cliffs in between, enabling diverse teams to collaborate and save time and expense. Source: What is Microsoft Power Fx? | Microsoft Power Apps
This is a huge announcement from Microsoft regarding the Power Platform. Not only is the language that "powers" Power Apps finally getting a name, but the Excel like language will be breaking out of Power Apps and going across the Power Platform.
But...why does this matter?
With this announcement, there are sure to be many opinions and reasons why this is impactful. We have chosen two that come to mind.
Power FX Formula
Take the images above from the previously linked Microsoft blog post. These show how a text manipulation formula in Excel is almost identical to the same formula in Power Apps. The only difference between the two? Excel references a cell in Excel and PowerApps references a control property. The possibilities for easier collaboration between development and business teams are amazing! This has been the case for PowerApps, but with this announcement, this will also be the case in the rest of the Power Platform ("Dynamics CRM" aka Model-Driven Apps, Power BI, Power Virtual Agents, etc.).
Additionally, imagine less communication issues when translating requirements/specifications into working solutions. A business user/functional consultant can write some simple excel formulas on sample data that the developer can translate into the Power Fx formula with ease.
A bug or error arises? The business user and developer will be able to work together and understand the logic of the solution to be able to resolve the bug. This should limit communication issues that result from translating what the code of the app does, how the developer explains the code, and the business/functional requirements.
With this language spanning the Power Platform, consistent formula logic for low-code development will be enabled. In many cases, a Power BI report, Power Automate Flow, and Power App require identical business logic. Going back to the text manipulation example above, if the business requirement is to store both the original text and manipulated text, this would have to be repeated within each individual service within the Power Platform. Ideally, the business logic could come from one place, such as an Azure Function, yet utilizing Azure resources is not an option in all cases. Before the Power Fx announcement, business logic would be expressed using multiple languages with their own syntax. This means the string would have to be manipulated using multiple techniques in different languages. Having multiple languages involved increases the likelihood for mistakes in translating the requirement into the separate languages. Copying formulas between different components will solve these issues for both citizen and pro developers. Ultimately, the benefits of time saved in development and accuracy in the overall business application solution will be substantial.
Improvements to the Power Platform continue to impress and improve on an already leading low-code/no-code platform. Power Fx only continues that story fostering better collaboration, consistency, and ultimately empowering more people to develop, troubleshoot, and debug business applications.