Apache Superset

Apache Superset es la herramienta de Business Intelligence del Visualization Layer de TIGO. Permite crear dashboards interactivos y explorar datos conectando directamente con Trino, PostgreSQL y otras fuentes del Data Platform.

#Getting Started

#Acceder a Superset (TIGO)

Abrir la interfaz web

http://superset.tigo.internal

Acceder con SSO corporativo TIGO o con credenciales provistos por el equipo de plataforma.

#Módulos principales de la UI

Sección Descripción
Dashboards Ver, crear y editar dashboards
Charts Biblioteca de gráficos individuales
Datasets Tablas y vistas registradas como fuentes de datos
SQL Lab Editor SQL directo con ejecución interactiva
Data › Databases Conexiones a fuentes de datos (admin requerido)
Settings Configuración de usuarios, roles, CSS

#Atajos de teclado en SQL Lab

Atajo Acción
Ctrl + Enter Ejecutar query seleccionada
Ctrl + Shift + Enter Ejecutar todo el contenido
Ctrl + / Comentar / descomentar selección
Ctrl + F Buscar en el editor
F11 Pantalla completa

#Datasets

#Crear un Dataset

  1. Ir a Data › Datasets+ Dataset
  2. Seleccionar la base de datos (ej: Trino - TIGO)
  3. Seleccionar el Schema (ej: analytics)
  4. Seleccionar la tabla (ej: ventas_mensuales)
  5. Clic en Add Dataset and Create Chart

#Dataset como Query SQL personalizado

Para lógica más compleja, crear dataset virtual:

  1. Data › Datasets+ Dataset
  2. Alternativamente, desde SQL Lab: ejecutar query → Explore
  3. O crear Virtual Dataset con SQL propio:
-- Ejemplo de dataset virtual en Superset
SELECT
    DATE_TRUNC('month', fecha) AS mes,
    pais,
    categoria,
    SUM(monto) AS total_ventas,
    COUNT(DISTINCT cliente_id) AS clientes_unicos
FROM hive.analytics.ventas
WHERE fecha >= DATE '2025-01-01'
GROUP BY 1, 2, 3

#Configurar columnas del Dataset

Después de crear o editar un dataset:

Acción Descripción
Edit Dataset Acceder a la config del dataset
Columns tab Ver/editar tipo de dato, marcar como dimensión o métrica
Metrics tab Definir métricas predefinidas (ej: SUM(monto))
Calculated Columns Crear columnas derivadas con expresiones SQL
Temporal column Indicar la columna de fecha principal para filtros

#Creación de Charts

#Tipos de gráficos más usados en TIGO

Chart Type Uso recomendado
Bar Chart Comparativa por categoría o tiempo
Line Chart Evolución temporal de métricas KPI
Big Number KPIs clave en un solo número grande
Big Number with Trendline KPI + tendencia visual
Pie Chart Distribución porcentual (pocas categorías)
Table Datos tabulares con filtros y orden
Pivot Table Cruce de dimensiones (tabla dinámica)
Heatmap Correlaciones, actividad por hora/día
Funnel Chart Conversión de etapas (ej: campañas)
Map (Deck.gl) Visualización geográfica por país/región

#Configurar un Bar Chart paso a paso

Datos requeridos:

Dataset:  ventas_mensuales
Metrics:  SUM(total_ventas)     → eje Y
Dimensions: mes                 → eje X
Series: pais                    → para stacking / agrupación
Filters: pais IN ('CO', 'GT', 'HN', 'SV', 'NI', 'PA', 'PY', 'BO')

Opciones de personalización:

Sort By:       SUM(total_ventas) DESC
Row Limit:     100
Bar Stacking:  Enabled
Show Legend:   True
X Axis Label:  Mes
Y Axis Label:  Ventas (USD)

#Dashboards

#Crear y editar un Dashboard

  1. Ir a Dashboards+ Dashboard
  2. Dar nombre y descripción
  3. Clic en Edit Dashboard
  4. Arrastrar Charts desde el panel derecho al canvas
  5. Redimensionar y reacomodar con drag & drop
  6. Agregar Filters en la barra superior
  7. Clic en Save → luego Publish

#Filtros en Dashboards

Agregar filtro nativo:

  1. En modo edit → clic en Filters (ícono arriba derecha)
  2. + Add/Edit Filters → seleccionar tipo:
Tipo de Filtro Uso
Value Lista de valores filtrable (ej: país, canal)
Time range Rango de fechas dinámico
Time column Columna temporal a usar en los charts
Time grain Granularidad: día/semana/mes/año
Numerical range Slider de rango numérico

#Native Filters vs Dashboard Filters

Native Filters (recomendado):
- Aplican a todos los charts del dashboard automáticamente
- Se definen una vez y reutilizan en múltiples dashboards
- Permiten scope específico por chart

Chart Filters:
- Se definen dentro de cada chart individual
- Filtros estáticos que no cambian en runtime

#SQL Lab

#Consultas en SQL Lab

Ejecutar query sobre Trino

-- Seleccionar la conexión: Trino - TIGO
-- Seleccionar el Schema: hive.analytics

SELECT
    pais,
    DATE_TRUNC('month', fecha) AS mes,
    SUM(monto) AS total_ventas
FROM ventas
WHERE fecha BETWEEN '2026-01-01' AND '2026-03-31'
GROUP BY 1, 2
ORDER BY 1, 2;

#Funcionalidades de SQL Lab

Feature Descripción
Run Selected Ctrl+Enter ejecuta solo la query seleccionada
Save Query Guardar queries frecuentes con nombre y descripción
Query History Acceder al historial de últimas queries
Results → Download CSV Descargar resultado como CSV
Explore in Chart Convertir el resultado en un chart directamente
Create Dataset Registrar la query como dataset reutilizable
Limit rows Limitar preview (50, 1000, 10000 filas)

#Queries parametrizadas (Jinja Templates)

-- Usar parámetros dinámicos en SQL Lab
SELECT *
FROM hive.analytics.ventas
WHERE pais = '{{ country }}'
  AND fecha BETWEEN '{{ start_date }}' AND '{{ end_date }}'
LIMIT 1000

Activar Templating: Settings › Feature Flags › ENABLE_TEMPLATE_PROCESSING

#Gestión de Accesos y Roles

#Roles predefinidos en TIGO Superset

Rol Permisos principales
Admin Acceso total: configurar DBs, usuarios, roles
Alpha Crear/editar datasets, charts y dashboards propios
Gamma Solo lectura: ver dashboards y charts publicados
sql_lab Acceso a SQL Lab para ejecutar queries
Public Acceso sin login (si está habilitado)

#Permisos de Row Level Security (RLS)

Limitar datos que ve cada usuario según su país/área:

  1. Security › Row Level Security+ RLS Rule
  2. Configurar regla:
Tables:    ventas_mensuales (dataset)
Roles:     Gamma_Colombia
Group Key: pais
Clause:    pais = 'CO'

#Administración (requiere rol Admin)

#Gestión de conexiones a bases de datos

  1. Settings › Database Connections+ Database
  2. Seleccionar driver (Trino, PostgreSQL, etc.)
  3. Configurar:

Conexión a Trino TIGO

Display Name: Trino - TIGO
SQLAlchemy URI: trino://[email protected]:8443/hive

Conexión a PostgreSQL TIGO

Display Name: PostgreSQL - TIGO
SQLAlchemy URI: postgresql://user:[email protected]:5432/analytics

#Importar y exportar Dashboards

Exportar dashboard (para backup o compartir)

  1. En Dashboards, seleccionar el dashboard
  2. Actions (⋮) → Export
  3. Descarga un .zip con el dashboard + datasets + charts

Importar dashboard

  1. DashboardsImport (icono arriba derecha)
  2. Seleccionar el .zip exportado
  3. Mapear las conexiones de DB si cambia el entorno

#Caché y Performance

Configuración Descripción
Chart Cache Timeout Tiempo en segundos de caché por chart (0 = sin caché)
Dashboard Refresh Intervalo de auto-refresh del dashboard completo
Async Queries Queries largas se ejecutan en background

Limpiar caché de un chart:

  1. Abrir el chart → ⋮ MoreForce Refresh

#Also see