Forum Discussion

rwarrier's avatar
rwarrier
Frequent Visitor
2 months ago
Solved

generate real time power bi dashboard

Hello all,   How would we push a pandas dataframe dataset into a power bi real time report, that gets refreshed on a schedule. Need less manual intervention. What tools exist in Power Bi that can f...
  • sannavajjala's avatar
    2 months ago

    For your scenario, you don't really need a "real-time" dashboard. Since the data only changes 1–2 times per day, a scheduled refresh architecture is usually much simpler and easier to maintain.

    A common approach is:

    1. Run your Python script on a schedule (Azure Functions, Azure Automation, Fabric Notebook, Databricks, cron job, etc.).
    2. Write the pandas DataFrame to a persistent store such as a Fabric Lakehouse, SQL database, Azure Storage, SharePoint file, or OneLake.
    3. Build a Power BI semantic model and report against that storage layer.
    4. Configure scheduled refresh in Power BI/Fabric after the Python job completes.

    This way, users always see the latest data whenever they open the report, without any manual intervention.

    If you truly need near real-time updates, you could look at Fabric Real-Time Intelligence, Eventstreams, or a push/streaming architecture. However, for a dataset that refreshes only once or twice daily, storing the DataFrame output and using scheduled refresh is typically the most reliable and cost-effective solution.

  • Dev_Dholakia's avatar
    Dev_Dholakia
    2 months ago

    Hi rwarrier ,

     

    The cleanest path in the Microsoft stack is Fabric Real-Time Intelligence:

    • Push events from your Python script into an Eventstream (via Custom App / EventHub / Kafka endpoint).
    • Land them into a KQL database (Eventhouse).
    • Build a Real-Time Dashboard on top, or a Power BI report in DirectQuery mode against the KQL DB — latency is typically a few seconds.

    If you don't need Fabric, the classic alternatives are:

    • Power BI Push/Streaming dataset via REST API — simple, but limited (no relationships, row caps, tiles only on dashboards).
    • Azure Event Hubs / Stream Analytics → Power BI streaming output for heavier workloads.

    Rule of thumb: seconds → Real-Time Intelligence / streaming, minutes → frequent scheduled refresh, hours/day → plain scheduled refresh.


    On the GitHub Copilot side:
    Copilot itself doesn't "run" your pipeline, but it plugs in nicely around it:

    • Use GitHub Copilot / Copilot Chat in VS Code to write and refactor the Python ingestion script, KQL queries, and Power BI DAX measures.
    • Store the notebook/script in a GitHub repo and trigger it on a schedule (or on push) using GitHub Actions — a solid free alternative to Azure Functions for lightweight jobs.
    • Inside Fabric, there's also Copilot for Data Engineering / Data Science / Power BI that can generate PySpark, notebook code, and DAX directly — pairs well with a GitHub-based dev workflow via Fabric Git integration.

    So a nice end-to-end setup could be: GitHub repo (Copilot-assisted code) → GitHub Actions or Fabric scheduled notebook → Eventhouse/Lakehouse → Power BI (Direct Lake or DirectQuery).

    Hope that closes the loop for you!

    If this got you what you needed, a Kudos and an Accepted Solution mark would be great — it helps others searching for the same thing find the answer quicker.

    Disclosure: My earlier response above was drafted with the assistance of an AI tool (Microsoft Copilot) and cross-checked against Microsoft Learn documentation. Sharing this note for transparency as per the Community AI Usage Policy