Dashboards · Python

Cómo Crear un Dashboard Interactivo con Python y Plotly Dash para Empresas Colombianas

¿Tu empresa necesita un panel de datos pero no quiere pagar licencias de Power BI por usuario ni depender de Tableau? Python con Plotly y Dash es la alternativa de código abierto que permite construir dashboards web interactivos profesionales sin costo de licencia. Este artículo explica cómo hacerlo desde cero.

¿Qué es Plotly Dash?

Dash es un framework de Python desarrollado por Plotly que convierte scripts de Python en aplicaciones web interactivas. No necesitas saber HTML, CSS ni JavaScript avanzado: defines la interfaz en Python y Dash se encarga del resto. El resultado es una aplicación que corre en el navegador, funciona desde cualquier dispositivo y puede conectarse a tus bases de datos en tiempo real.

💡 Dato clave: Dash es usado por empresas como KPMG, Siemens y Johnson & Johnson para sus paneles internos. En Colombia, es la opción preferida cuando se necesita un dashboard web sin costo de licencia por usuario.

¿Cuándo elegir Dash sobre Power BI o Tableau?

CriterioDash (Python)Power BITableau
Costo de licenciaGratis (open source)~$10 USD/usuario/mes~$70 USD/usuario/mes
Personalización visualTotal (código)MediaAlta
Lógica de negocio compleja✅ En Python puroLimitado (DAX)Limitado
Integración con modelos ML✅ NativaComplejaCompleja
Curva de aprendizajeMedia (requiere Python)BajaMedia
Despliegue en servidor propio✅ SíSolo en nube MSRequiere Tableau Server

Estructura básica de una app Dash

Una aplicación Dash tiene tres componentes principales: la importación de librerías, el layout (qué se muestra) y los callbacks (qué pasa cuando el usuario interactúa).

# Instalación: pip install dash plotly pandas import dash from dash import dcc, html, Input, Output import plotly.express as px import pandas as pd app = dash.Dash(__name__) # 1. Cargar datos df = pd.read_csv("ventas.csv") # 2. Definir el layout (interfaz) app.layout = html.Div([ html.H1("Dashboard de Ventas"), dcc.Dropdown( id="selector-ciudad", options=[{"label": c, "value": c} for c in df["ciudad"].unique()], value="Bogotá" ), dcc.Graph(id="grafico-ventas") ]) # 3. Definir el callback (interactividad) @app.callback( Output("grafico-ventas", "figure"), Input("selector-ciudad", "value") ) def actualizar_grafico(ciudad): filtrado = df[df["ciudad"] == ciudad] return px.bar(filtrado, x="mes", y="ventas", title=f"Ventas en {ciudad}") if __name__ == "__main__": app.run(debug=True)

Componentes más usados en dashboards empresariales

Conectar el dashboard a tus datos reales

Desde una base de datos SQL

import pandas as pd from sqlalchemy import create_engine engine = create_engine("postgresql://usuario:clave@servidor/basedatos") df = pd.read_sql("SELECT * FROM ventas WHERE fecha >= '2026-01-01'", engine)

Desde Excel o CSV

df = pd.read_excel("reporte_mensual.xlsx", sheet_name="Ventas") # o desde múltiples archivos: import glob archivos = glob.glob("reportes/*.csv") df = pd.concat([pd.read_csv(f) for f in archivos])

Desde una API REST

import requests, pandas as pd resp = requests.get("https://api.miempresa.com/ventas", headers={"Authorization": "Bearer TOKEN"}) df = pd.DataFrame(resp.json()["data"])

Despliegue en producción

Una vez que el dashboard funciona localmente, hay varias opciones para que toda la empresa lo use desde el navegador sin instalar nada:

⚠️ Importante para datos financieros o sensibles: Si el dashboard maneja datos de clientes, información financiera o datos regulados, asegúrate de desplegar en un servidor con HTTPS, autenticación de usuarios y cumplimiento de la Ley 1581. Dash Enterprise incluye autenticación nativa; para Dash gratuito, se puede integrar con Flask-Login o Auth0.

Caso real: dashboard de inventario para empresa de retail

Una empresa distribuidora con 8 bodegas en Colombia tenía a su equipo de logística revisando hojas de Excel individuales por bodega para consolidar el inventario. El proceso tomaba 4 horas semanales. Con un dashboard Dash conectado a su base de datos MySQL:

¿Necesitas un dashboard web para tu empresa?

Diseñamos y construimos el panel a medida con tus datos, tu identidad visual y sin costo de licencias adicionales.

Solicitar demo gratuita →

Conclusión

Python con Plotly y Dash es hoy una de las herramientas más poderosas para construir dashboards empresariales sin licencias costosas. Si tu equipo ya usa Python para análisis de datos, el paso a un dashboard interactivo es natural. Si no, el esfuerzo de aprendizaje vale completamente la pena frente al ahorro en licencias y la flexibilidad total que obtienes.