Python Dashboard Analytics: Dashboards vs Power BI

·

Why We Brought Python into the Dashboard (And How It's Different from Power BI)

Data scientists should not have to leave their tools to share their work. And business users should not have to open a Jupyter notebook to see a moving average.

Python Analysis Cells, shipping in Phase 3, are our answer to both problems.

The problem with Python visuals in Power BI

Power BI has had Python visual support since 2018. In practice, three significant limitations restrict its usefulness.

The output is a static image. Whatever matplotlib renders gets captured as a PNG. No hover tooltips. No zoom. No click events.

It requires a local Python installation. The visual will not render in the Power BI Service without a configured Python gateway. On a colleague's machine without the right packages, the report breaks silently.

The AI adds nothing. There is no narrative, no anomaly detection, no forecast overlay.

How AI Insights approaches it differently

Python Analysis Cells run via Pyodide — Python compiled to WebAssembly — entirely in the browser. No server-side runtime, no gateway, no local installation. Any user who can open a browser can run a Python Analysis Cell.

The output is not an image. Your script returns a structured result dict, and AI Insights renders it as a live ApexCharts visualization with full interactivity. The AI narrative, anomaly detection, and forecast overlay all run automatically on top of the Python output.

A concrete example

import pandas as pd

pivot = df.pivot_table(
    values='Revenue', index='Month', columns='Year', aggfunc='sum'
)

result = {
    "chartType": "line",
    "title": "Revenue — Year over Year",
    "labels": [str(m) for m in pivot.index.tolist()],
    "series": [
        {"name": str(yr), "data": pivot[yr].fillna(0).tolist()}
        for yr in pivot.columns
    ]
}

Six lines of pandas. A multi-series line chart with AI narrative identifying which year trends above or below the others. In Power BI, this would be a static matplotlib figure with no hover values and no AI commentary.

Who benefits

The data analyst builds charts that previously required exporting to a notebook, running the analysis, saving the output, and manually updating the dashboard. Now the analysis runs live every time the chart renders.

The data scientist exposes ML model outputs directly on the dashboard without building a separate API or ETL pipeline.

The business user sees a chart and AI narrative bullets. The Python layer is invisible to them.

Availability

Python Analysis Cells are available on Enterprise plans. The Pyodide runtime (~6 MB) downloads once and is cached permanently.