Much in the same manner as the equivalent event last year, the Microsoft Ignite virtual 2021 conference has seen its own set of announcements that anyone working in the Microsoft cloud space should familiarise themselves with. Of particular note, I was interested to see:
- Power BI Premium Per User moving into general availability, with the announced price point being leaps and bounds competitive over what Microsoft previously teased. In some cases, we can get this new capability for $10 per user per month - wow! 🤯
- Power Automate Desktop being made available for free to all Windows 10 users. This release will allow any desktop user to automate their daily tasks via Robotic Process Automation (RPA) and play them back via their local machines without needing a Power Automate subscription.
- Further detail regarding Microsoft Viva, including the rollout of Microsoft Viva Connections into general availability.
Perhaps one of the most relevant and important announcements that I wanted to focus on was Microsoft’s introduction of a new low-code programming language for the Power Platform by Ryan Cunnigham - Microsoft Power Fx. As Greg Lindhorst’s post explains in detail, it heralds several benefits for those of us adopting the platform. With these big announcements, we can sometimes get lost in the headlines and miss out on some of the underlying detail. Let’s dive straight in, see what all the fuss is about, and better understand some of the key announcements.
Power Fx is nothing new.
Often, with these big marketing announcements, you can sometimes lose sight of the technical side of things…or, in some cases, walk away with the impression that we’re getting something brand new. 😉 Suffice to say, what we see with Power Fx is not a whole brand new language or a replacement of any existing functionality currently baked into the platform. Instead, Microsoft gives a formal name to the current low-code language that forms the canvas Power App authoring experience’s bedrock. Apart from its new name, this language remains unchanged, and the announcement starts to herald its coming importance within other areas of the Power Platform in the months and years ahead. So we can perhaps take some relief because, for a lot of people, you won’t need to learn something completely new from scratch. 😅
Built to be as straightforward as Excel formulas
For a low-code platform to be successful, any underlying formula or expression language it uses needs to be easy to understand and, perhaps crucially, not a far cry from the types of languages citizen developers are already familiar with. From a citizen developer standpoint, Microsoft Excel’s expression language may be one they find most familiar. These days, many business users may find themselves more comfortable working in this context and, by comparison, daunted by the Power Platform when they first approach it. With this in mind, one of the goals of the Power Fx language is to make it as simple and straightforward to grasp as an Excel formula. They are already off to a great start - today, there are over 75+ Power Fx functions that are syntactically identical or similar to an equivalent Excel version. This opens the gap to power Excel users to adopt the Power Platform and not be afraid that they will be “losing” anything; instead, the platform has the tools and capabilities they are used to and more.
From the outset, the product team actively looks for the existing Power Platform community to contribute, share ideas and shape the future of Power Fx so it best addresses the needs and scenarios you face. Nothing typifies this better than Power Fx being now available on GitHub as an open-source project. It’s very much early days with all of this, and I hasten to add - we don’t yet have sight of the actual source code or binaries. Still, there is already a lot of documentation on there for you to review, digest, and provide comments or improvements to help make the language better to use. I’d encourage you to star the project and check back regularly for updates. It also provides a tremendous initial mechanism to understand the language better and apply it better within your current canvas Power Apps.
Support for Pro Code Extensibility
A common grumble from more “traditional” developers is that the Power Platform has nothing to offer them and, instead, that it makes it incredibly difficult to adopt a Power Platform solution at scale. Microsoft is making significant investments in these areas to address these concerns. Thanks in large part to the incorporation of core functionality inherited from the Dynamics CRM application, we already have features such as solutions and automation tools that can help us deploy our solutions programmatically. To help even further on the canvas Power App side of things, Microsoft has now introduced tooling that lets us extract our canvas Power App source code into YAML definitions, which can then be easily added into our source control systems and deployed forward from there. Power Fx forms a core part of this since all formulas and expressions written in our apps will export out in-line. And, since these are YAML based definitions, I’m sure all of you young and trendy developers will be more than satisfied with that… 😏
What about DAX / M (Power Query)?
This question has come up fairly regularly, from what I’ve seen since the announcement earlier this week. DAX and Power Query (or M) already sit neatly within the Power BI side of Power Platform and as part of features such as data flows within Power Apps. And, as Greg Lindhorst comments, there are no plans to change this at all. So you can be safe in the knowledge that Power Fx will compliment any existing solution you’ve built out using these languages and will remain as the cornerstone of Power BI. Indeed, a language such as Power Fx is utterly incapable of ever allowing us to perform data modelling activities, so it would be a downright foolish attempt to try and shoehorn this language into where it doesn’t belong.
The future’s bright. The future’s Power Fx
In the context of the Power Platform, at least. 😜 Microsoft is very much shaping the language to form the cornerstone of all aspects of the Power Platform. The benefits of this should be readily understandable, ultimately leading to greater consistency across the platform and the ability for us to quickly adapt our solutions across each constituent element of our Power Platform solution. The Power Fx language sets the stage for exciting, future developments in the platform. Finally, it gives us a name we can readily use when describing the canvas Power App formula language. Watch this space, as you will hear about Power Fx more and more in the future!
What are your thoughts on Power Fx? A welcome addition or just another passing craze? Let me know your thoughts in the comments below!