QuieroProgramar por Rodri Gonzalez
Data Analysis · Lección 16 de 19

Power BI y Tableau: Introducción

Python es la navaja suiza del análisis — flexible, potente, programable. Pero en el mundo corporativo, los gerentes y directores no van a abrir un Jupyter Notebook. Necesitan dashboards interactivos que puedan explorar solos, filtrar por región y mes, y compartir con un clic. Para eso existen Power BI y Tableau, las herramientas de Business Intelligence (BI) más usadas del planeta.

60–90 min Prerrequisitos: Lección 15 (Regresión y clasificación)
01

Concepto teórico

¿Qué es Business Intelligence?

Business Intelligence (BI) es el proceso de transformar datos crudos en información accionable para la toma de decisiones empresariales. Las herramientas de BI permiten crear dashboards, reportes automatizados y visualizaciones interactivas sin escribir código.

Analogía: Python es como tener un taller de carpintería: podés construir cualquier mueble, pero necesitás saber usar las herramientas. Power BI / Tableau son como un showroom de IKEA: los muebles ya están diseñados, los ves montados, y el cliente puede recorrerlos y elegir sin saber carpintería. Tu trabajo como analista es construir los "muebles" (dashboards) para que los "clientes" (gerentes) tomen decisiones.

Power BI vs Tableau vs Python

Aspecto Power BI Tableau Python (matplotlib/seaborn)
Compañía Microsoft Salesforce Open source
Precio Gratis (Desktop) / $10/mes (Pro) $75/mes Gratis
Curva de aprendizaje Media (drag & drop) Media-baja Alta (programar)
Interactividad ⭐⭐⭐ Filtros dinámicos ⭐⭐⭐ Exploración visual ⭐ Estáticos (sin plotly)
Datos grandes Bueno (DirectQuery) Excelente Limitado por RAM
Automatización Buena (scheduled refresh) Buena Excelente (scripts)
Integración SQL Nativa Nativa Con librerías
ML / Análisis avanzado Limitado Limitado ⭐⭐⭐ Ilimitado
Uso en la industria Corporaciones (Microsoft) Consultoría, data teams Data Science, ingeniería
¿Cuál aprender? La respuesta depende del mercado laboral de tu zona. En LATAM y empresas con ecosistema Microsoft (la mayoría), Power BI domina. En EE.UU. y empresas tech, Tableau es más común. Python es universal. Lo ideal: Python + una herramienta de BI (preferiblemente Power BI si estás en LATAM).

Conceptos clave de BI

Concepto Qué es Ejemplo
Dashboard Página con múltiples visualizaciones interactivas Panel de ventas mensual
KPI Key Performance Indicator — métrica clave del negocio Facturación, tasa de churn, NPS
Drill-down Navegar de lo general a lo particular País → Provincia → Ciudad
Slicer / Filtro Control para filtrar datos dinámicamente Dropdown de "Año" o "Región"
Medida (Measure) Cálculo dinámico sobre los datos SUM(Ventas), AVERAGE(Ticket)
DAX Lenguaje de fórmulas de Power BI CALCULATE(SUM(Ventas), Año=2024)
Data Model Relaciones entre tablas (como SQL JOINs) Transacciones ↔ Clientes ↔ Productos
ETL Extract, Transform, Load — pipeline de datos Sacar de SQL → limpiar → cargar en BI

El flujo de trabajo BI

  1. Conectar: vincular la herramienta con la fuente de datos (SQL, Excel, CSV, API).
  2. Modelar: definir relaciones entre tablas (como los JOINs de SQL 07-08).
  3. Transformar: limpiar y preparar datos (equivalente a pandas lecciones 04-06).
  4. Visualizar: crear gráficos, KPIs, tablas y filtros interactivos.
  5. Publicar: compartir el dashboard para que otros lo exploren.
En el trabajo real: el patrón más común es: (1) un Data Engineer prepara los datos en un data warehouse (SQL), (2) un Data Analyst construye los dashboards en Power BI/Tableau conectados a ese warehouse, (3) los gerentes consumen los dashboards diariamente. Python entra cuando necesitás análisis exploratorio profundo, ML, o automatizaciones que BI no puede hacer.

DAX: el lenguaje de Power BI

DAX (Data Analysis Expressions) es el lenguaje de fórmulas de Power BI. Si ya sabés SQL y pandas, DAX te va a resultar familiar:

Operación pandas SQL DAX (Power BI)
Sumar df["Ventas"].sum() SUM(Ventas) SUM(Tabla[Ventas])
Promedio df["Ventas"].mean() AVG(Ventas) AVERAGE(Tabla[Ventas])
Contar df["ID"].nunique() COUNT(DISTINCT ID) DISTINCTCOUNT(Tabla[ID])
Filtrar df[df["Año"]==2024] WHERE Año=2024 CALCULATE(..., Tabla[Año]=2024)
% del total v/v.sum()*100 Window function DIVIDE(SUM(...), CALCULATE(SUM(...), ALL(...)))
02

Ejercicios prácticos: preparar datos para BI con Python

Como Data Analyst, tu trabajo frecuentemente incluye preparar los datos que luego se visualizan en Power BI o Tableau. Estos ejercicios simulan ese flujo.

Ejemplo 1: Preparar un dataset limpio para dashboard

Limpiar y transformar datos crudos en un formato listo para importar en Power BI.

ejemplo_01_prep_bi.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 2: Crear tabla de métricas agregadas (KPIs)

Calcular las métricas que un dashboard mostraría como KPIs y tablas resumen.

ejemplo_02_kpis.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 3: Crear el modelo de datos (tablas relacionadas)

En BI necesitás un modelo estrella: una tabla de hechos (transacciones) y tablas de dimensiones (clientes, productos, fechas). Python las prepara.

ejemplo_03_modelo.pyPython

        
Hacé clic en ▶ Ejecutar
Tip profesional — Modelo Estrella: es el estándar de la industria de BI. Una tabla central de hechos (transacciones, ventas, eventos) rodeada de tablas de dimensiones (clientes, productos, fechas, sucursales). Las dimensiones enriquecen los hechos. Cada relación es 1-a-muchos: un producto tiene muchas transacciones.

Ejemplo 4: Simular cálculos DAX con pandas

ejemplo_04_dax_pandas.pyPython

        
Hacé clic en ▶ Ejecutar

Ejemplo 5: Crear un mock dashboard con Python

ejemplo_05_mock_dashboard.pyPython

        
Hacé clic en ▶ Ejecutar
03

Referencia rápida

Concepto BI Equivalente Python
Dashboard fig, axes = plt.subplots()
Slicer / Filtro df[df["col"]==val]
Medida (SUM) df["col"].sum()
Drill-down groupby(["nivel1","nivel2"])
Modelo estrella pd.merge(hechos, dimensión)
DAX CALCULATE df[filtro]["col"].sum()
Scheduled Refresh Cron job / script programado
04

Ejercicios

Nivel 1 · Básico

Ejercicio 1: Limpiar strings para BI

Normalizá la columna Ciudad: strip + title. Imprimí los valores únicos. Debe incluir Caba.

ejercicio_01.pyDebe incluir "Caba"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 2: Crear columnas de fecha

A partir de una columna de fecha, extraé año, mes y trimestre. Imprimí las columnas. Debe incluir Trimestre.

ejercicio_02.pyDebe incluir "Trimestre"

          
Hacé clic en ▶ Ejecutar
Nivel 1 · Básico

Ejercicio 3: KPIs básicos

Calculá: total de ventas, ticket promedio y cantidad de operaciones. Debe incluir Total.

ejercicio_03.pyDebe incluir "Total"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 4: Participación por sucursal (%)

Calculá qué % del total representa cada sucursal. Debe incluir %.

ejercicio_04.pyDebe incluir "%"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 5: Modelo estrella — crear dimensiones

Creá una tabla de dimensión de sucursales y hacé merge con la tabla de hechos. Debe incluir Zona.

ejercicio_05.pyDebe incluir "Zona"

          
Hacé clic en ▶ Ejecutar
Nivel 2 · Intermedio

Ejercicio 6: Simular CALCULATE de DAX

Calculá la suma de Monto solo para Sucursal="CABA" (equivalente a DAX CALCULATE). Debe incluir un número.

ejercicio_06.pyDebe incluir un número

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 7: Acumulado YTD (Year-to-Date)

Calculá la facturación mensual y el acumulado YTD con .cumsum(). Debe incluir YTD.

ejercicio_07.pyDebe incluir "YTD"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 8: Tabla resumen para heatmap BI

Creá una pivot_table Sucursal × Mes que un heatmap de Power BI usaría. Imprimí la tabla. Debe incluir Enero.

ejercicio_08.pyDebe incluir "Enero"

          
Hacé clic en ▶ Ejecutar
Nivel 3 · Avanzado

Ejercicio 9: Variación mes a mes (%)

Calculá el crecimiento porcentual mes a mes. Imprimí la variación. Debe incluir var.

ejercicio_09.pyDebe incluir "var"

          
Hacé clic en ▶ Ejecutar
Nivel 4 · Desafío

Ejercicio 10: Dashboard mock con 4 gráficos

Creá un dashboard de 4 subplots simulando un dashboard de BI: KPI card, tendencia, barras y torta. Imprimí Dashboard BI.

ejercicio_10_desafio.pyDebe imprimir "Dashboard BI"

          
Hacé clic en ▶ Ejecutar
05

Resumen y conexión

En la siguiente lección (17 · Integración SQL + Python) vas a aprender a conectar Python directamente con bases de datos SQL — el puente entre los dos mundos que ya dominás.