Search code examples
azurecsvpowerbilive-streaming

Live streaming csv file in Power Bi report or dashboard


I have a made a report in Power Bi that visualizes data imported from a csv file. The csv file contains fields from a Keras training process as well as fields on the current system usage statistics (CPU, RAM etc.). I have also successfully embedded the report. However, the csv file gets new rows appended to it about every 5 minutes and I have to refresh the imported csv file manually so that the report is updated.

Is there a simple way for me to automate the process of refreshing the imported csv file when it is detected that the state of the file has changed?

I have been looking for a simple way to do this however I keep encountering Rest API's which I do not understand. Is it possible to use them with a csv file such that it updates every time the file changes?


Solution

  • You can't use DirectQuery directly with CSV files. And if you want to get near realtime results in your report, importing (and refreshing) is not an option. Plus, there is a limit on the number of refreshes for a dataset (8 times a day for Pro, 48 times for Premium).

    Your best option is to change the application to store this data in a supported datasource (or write a helper application to read the CSV and push the data to a supported datasource). If these rows are in Azure SQL Database for example, then you can create a dashboard that can autorefresh itself every 15 minutes. If you need to refresh it more often, then you need to use a streaming dataset (and again, find a way to push your data to it).