Power Fx
Microsoft Power Fx acts as the low-code language for expressing programming logic on the Power Platform. This language, which is essential for Power Apps canvas applications, is inspired by Excel formulas. It facilitates the entire development spectrum, from "no-code" to "pro-code," eliminating many barriers in the learning path. This feature enables teams from diverse backgrounds to collaborate fluidly, saving time and costs.
Power Fx coexists harmoniously with the M and DAX languages of Power BI and Excel, each serving different purposes. M and DAX focus mainly on tasks such as reading, modeling, transforming and loading large sets of data, while Power Fx focuses on reading and writing smaller sets of relational data. This strategic integration guarantees a symbiotic relationship between these languages within the Microsoft Power Platform ecosystem.
Inspired by Excel formulas
What if you could build an application as easily as you build a spreadsheet? What if you could take advantage of the knowledge you already have about spreadsheets?
These were the questions that inspired the creation of Power Apps and Power Fx. Hundreds of millions of people create spreadsheets with Excel every day. Power Fx makes it easy to create applications, taking advantage of the Excel concepts that millions of Excel users already know.
Replicating Excel's formula language for data, operators and functions to Power Fx is simple. The following table shows the main Power Fx functions, those marked in green are identical or very similar to those in Excel:
Where can the Power Fx language be run?
The Power Fx language can be run in various Power Platform applications, including Power Apps, Dataverse and Power Virtual Agents.
Power Apps is the application where the language is most widely implemented and where it can be used to express programming logic in "canvas apps". Any user action, interaction with data sources, navigation between screens, notifications, executions of automation flows, in short, almost everything that represents programming in applications involves Power Fx.
In "model-driven apps" it is also possible to use the language, although it is not as developed and implemented. This type of application doesn't allow for such precise control of the programming logic and the language mostly used is JavaScript.
In Dataverse, the Power Fx language allows you to perform calculations, data transformation and manipulation, aggregations and sorting of data into columns. The set of Power Fx formulas for Dataverse is therefore more limited. It should be noted, however, that the potential for using Power Fx in Dataverse is interesting, if we take into account that performing this type of operation at the data source benefits application performance.
There are plans to integrate Power Fx into Power BI as well. This will be used to write data to its source. Currently, we can only visualize and analyze data, but we can't write to the source. It shouldn't replace DAX or Power Query M, but it will be another language available in Power BI.