To give CLS a better overview about their financial/company situation and their sales I was tasked with creating a couple of live dashboards in PowerBL. These being:
- Live sales dashboard of E-bike battery’s.
- Live sales dashboard of car battery’s.
- Operational dashboard with daily, weekly, monthly and yearly summary of all sales and revenue.
- Forecast dashboard of E-bike battery’s.
- Forecast dashboard of car battery’s
To stream data I have used two methods:
- PowerBI REST API with Python application
- PowerBI Enterprise Gateway
Their data was initially scattered through different sources which made it impossible for them to use modelling tools like PowerBI (as they only allow you use one streaming dataset per dashboard) which meant I had to create some middleware in Python which periodically retrieves data from different sources and combines them into a single REST call send to PowerBI. For example a multitude of different legacy SFTP and webservers where used by each of their clients and B2B webshops.
Eventually this python application was not necessary anymore as all their data was streamlined with Azure Functions (see project “Azure Hybrid Cloud“) and send to an on-premise NAS which ran a MySQL server. Now I could simply connect PowerBI to this on-premise MySQL server using PowerBI Enterprise Gateway and a Cisco ASA5506 VPN.