Microsoft has been working to place its low code Power Platform on a par with the rest of its developer tools. It’s an important element of its enterprise development strategy, bringing workflow, machine learning, rapid application development, and analytics together in a coherent platform that’s designed to put a user-friendly front-end on line of business systems.
It’s much more than a low code environment, as both Flow and PowerApps are extensible frameworks that simplify common enterprise development tasks. But in a world of both big and small data, where real time information flows are key to delivering the right data to the right person at the right time to make the right decision for the right business outcomes, it’s Microsoft’s analytical tooling that’s at the heart of the Power Platform.
Power BI began life as a series of Excel tools that quickly outgrew the spreadsheet, becoming the graphical front end to much of your (and your partners’) business data. Able to construct visual dashboards that give near real time access to key business data, it’s now a powerful way of visualising your organisation’s key performance metrics.
But business analytics go a long way beyond graphical user interfaces and report building. They’re now key to much of what we do in enterprise software, using complex statistical tools built in both R and Python. So it’s not surprising that much of Microsoft’s focus on Power BI at Build 2019 was on its integration with development tooling, and more specifically with Python.
Power BI with Python visualisations
Python is an important data science tool, thanks to libraries like NumPy and tools like Jupyter Notebooks, giving data scientists the tooling they need to handle complex linear algebra and to try out code in an interactive environment. It even now supports graphics, with the ability to plot mathematical functions.
Microsoft now supports adding Python visualisations to Power BI. A new Python Visualisation icon on the Power BI visualisations page adds a Python script to your report that you can then configure in both Power BI and in Python. You’ll need to have a dataset already for use, connected to Power BI. Once you have a Python connection, you can then add the dataset fields to it via Power BI. There are some size limits, with only 150,000 rows in a dataset currently supported.
Now that you’ve defined a Python dataframe, you can start to use Python to analyse the data before using its own visualisation tools to render the data in your Power BI report. The result is a useful mix of the two technologies, and you can take the resulting report and use it in your own dashboards. As well as offering a rendering surface for Python numerical analysis, it’s become a useful way of testing out new algorithms for use elsewhere in your machine learning pipeline.
Microsoft currently only supports a limited set of Python runtimes, bundling them in Power BI. There are also limits to the packages that you can use, though the list does include the important combination of pandas and NumPy, as well as Matplotlib. Your code won’t get access to all your system resources, as Power BI runs Python in an isolated sandbox to protect your system from malicious code.
Enhancing Power BI Embedded
Power BI doesn’t have to be a desktop application. Microsoft offers it as a cloud-hosted service that can be embedded in your own SaaS applications, giving you embedded analytics and reports. With Power BI embedded you get access to many of its core features, so you don’t have to spend time building your own reporting tools.
The latest updates to Power BI Embedded improve its machine learning support, making it easier to add it to your data processing pipelines through a drag-and-drop designer. Using similar techniques to those in the desktop package, it’s a way of building more effective analytics and exposing the results to your users. They don’t need to worry about ETL, or any other data export issues, instead they’re getting direct access to the data in your service and can use the Embedded Power BI tooling to work with pre-configured reports or, more valuably, create and run their own data analysis.
AI-based analysis removes some of the cognitive load from users; the Power BI machine learning tools indicate points of interest in your customers’ data, giving them the opportunity to quickly get results. Under the hood Power BI uses a mix of technologies, including ML.NET and Azure Cognitive Services. An automated AI feature will test multiple machine learning models against your data, scoring them, making changes and looping through your data multiple times before it tunes the appropriate model for your queries. There’s no need to spend time running your own tests, analysing the results, and manually tweaking models; Power BI will do all the work for you.
Similarly a new set of Power BI Templates let you add your own data and reports to your customer’s own Power BI instances. You can design and define reports and connections to your services, and then provide them to your users so they can get the same view of their operations and their data as you get when building and testing your applications. Power BI Templates let you do the work, and your users, typically business users, can work with the results.
There’s a lot to like in what Microsoft is doing with Power BI. At one end, it’s becoming a visualisation tool for your data scientists who can use it with their favoured numeric analysis tooling, while at the other it’s an easy to configure and deploy front-end for SaaS applications, where users don’t need to copy data into their own servers and make their own reports. The result is a set of tools that span most of the requirements of a typical enterprise data science team – as well as supporting business users who just want to explore their own data, looking for appropriate insights.
Contact the Grey Matter Cloud Services team for more information about Power BI: firstname.lastname@example.org or call +44 (0)1364 654100.