Desarrollo de Dashboards en 2026: Custom vs Power BI
Equipo Arvucore
September 22, 2025 · Actualizado el August 26, 2026
14 min read
Construye un panel de visualización de datos a medida cuando el dashboard es una funcionalidad del producto, necesita push en tiempo real o debe servir a cientos de usuarios externos sin coste por asiento. Compra una herramienta de BI (Power BI, Looker, Metabase, Grafana) cuando la audiencia es interna, las preguntas cambian cada semana y los analistas necesitan explorar datos sin un deploy. La mayoría de las empresas necesitan ambos: una herramienta de BI para el análisis interno y una capa a medida solo donde el embedding, la latencia o el licenciamiento hacen que la herramienta de BI encaje mal.
Dashboard a medida vs Power BI, Looker, Metabase y Grafana
La pregunta correcta no es "cuál es la mejor herramienta", sino "quién mira esto, con qué frecuencia, cuán fresco debe estar y quién paga por usuario".
| Criterio | Power BI | Looker | Metabase | Grafana | Dashboard a medida |
|---|---|---|---|---|---|
| Modelo de coste | Por usuario (Pro/Premium por usuario) o por capacidad; embedded requiere SKUs de capacidad | Por usuario más cuota de plataforma; precios enterprise | Open source self-hosted (gratis) o cloud por usuario | Open source self-hosted o cloud por uso | Coste de construcción + hosting + mantenimiento; sin coste por usuario |
| Embedding en tu producto | Sí, vía Embedded; requiere licencia de capacidad e iframe o SDK | Sí, embed SDK y signed URLs; fuerte para SaaS | Sí, iframe firmado; theming limitado | Sí, paneles por iframe; branding limitado en OSS | Nativo; control total de UX, tema e interacciones |
| Tiempo real | Streaming datasets y DirectQuery; aplican intervalos de refresco | Consulta bajo demanda; sin push | Consulta bajo demanda; polling con auto-refresh | El mejor de su clase para series temporales y métricas; paneles en vivo | Cualquier latencia que diseñes: SSE, WebSockets, polling |
| Personalización | Alta dentro del modelo de Power BI; custom visuals posibles | Alta vía LookML; UI restringida | Moderada; preguntas en SQL, visuales limitados | Alta para series temporales; débil para gráficos de negocio y tablas | Ilimitada, pero todo es responsabilidad tuya |
| Gobernanza de datos | Datasets, datos certificados, etiquetas de sensibilidad, integración con Purview | LookML es la capa semántica; versionado en git | Básica; modelos y permisos por colección | Mínima; la gobernanza vive en la fuente de datos | Solo lo que construyas; normalmente capa semántica más tests |
| Gestión de usuarios | Entra ID (Azure AD) nativo; RLS por rol | SSO, grupos, atributos de usuario controlan filtros de fila | Grupos, sandbox por grupo; SSO en planes de pago | Equipos, carpetas, SSO; RLS limitado | Tu proveedor de identidad; RLS aplicado en la capa de datos |
| Mejor encaje | Entornos Microsoft, reporting interno, finanzas | Equipos de datos con warehouse modelado, embedding en SaaS | Equipos pequeños, preguntas internas rápidas, presupuesto bajo | Infraestructura y telemetría de producto | Analítica para clientes, consolas de operaciones, vistas multi-tenant reguladas |
Tres patrones se repiten:
- Solo reporting interno. Compra. Power BI si estás en Microsoft 365, Looker si ya modelas datos en un warehouse, Metabase si el presupuesto es ajustado. Un desarrollo a medida aquí es un pasivo de mantenimiento.
- Analítica dentro de un producto SaaS. Normalmente a medida, o Looker embedded si ya pagas Looker. Power BI Embedded funciona, pero el precio por capacidad y la identidad visual rara vez encajan con un producto.
- Consola de operaciones con datos en vivo. Grafana para infraestructura, a medida para operaciones de negocio (tableros de despacho, colas de fraude, planta de almacén). Las herramientas de BI no se diseñaron para actualizaciones por debajo del minuto y acciones del usuario en la misma pantalla.
La línea que separa los dos bandos: si los usuarios necesitan actuar desde la pantalla (aprobar, asignar, escalar), es una aplicación, no un informe. Constrúyela. Si los usuarios necesitan hacer preguntas nuevas, es análisis. Cómpralo.
Arquitectura de datos detrás de un dashboard de negocio
El front-end es el diez por ciento visible. Todo dashboard fiable, a medida o comprado, se apoya en las mismas cinco capas.
1. Sistemas de origen
ERP, CRM, facturación, base de datos del producto, streams de eventos, hojas de cálculo. Inventaríalos con propietario, cadencia de refresco y método de acceso (API, réplica, CDC, exportación de archivos). Nunca consultes bases de datos OLTP de producción directamente desde un dashboard: una sola consulta de informe sin índice puede bloquear la tabla de checkout.
2. Ingesta: ETL o ELT
En 2026 el estándar es ELT: aterriza los datos en bruto en un warehouse o lakehouse (BigQuery, Snowflake, Redshift, Databricks, o Postgres/ClickHouse para volúmenes menores) y transforma con SQL bajo control de versiones (dbt o SQLMesh). Usa ETL solo cuando los datos deben enmascararse antes de aterrizar, algo habitual bajo el RGPD cuando el warehouse está en una jurisdicción distinta a la del origen.
3. Capa modelada
Hechos y dimensiones, o una tabla ancha por dominio. El objetivo es un esquema al que una consulta de dashboard llegue con uno o dos joins, no las cincuenta tablas del sistema de origen. Mantén los datos en bruto inmutables y reconstruibles, para que un bug en una transformación sea una reejecución, no un incidente.
4. Capa semántica
La capa que dice "ingresos = sum(invoice_total) where status = 'paid'" exactamente una vez. Opciones: LookML (Looker), datasets de Power BI, dbt metrics vía MetricFlow, Cube, o un módulo de métricas escrito a mano en tu API. Un dashboard a medida sin capa semántica produce tres cifras de ingresos en tres pantallas en seis meses.
5. Agregación y frescura
Decide por métrica: ¿cuán antigua puede ser? Escríbelo.
| Tipo de métrica | Frescura típica | Mecanismo |
|---|---|---|
| Cierre financiero, P&L | Diaria | Batch nocturno, tabla preagregada |
| Pipeline de ventas | Horaria | Modelo incremental cada hora |
| Uso del producto | 5–15 minutos | Ingesta por streaming, agregación en micro-batch |
| Cola de operaciones, fraude | Segundos | Stream de eventos, push al cliente |
Muestra la frescura en pantalla ("Datos a las 07:00 CET"); un usuario que no ve una marca de tiempo asume que el dato es en vivo.
Reglas de selección de gráficos que sobreviven a la revisión
La mayoría de los dashboards fallan por tener veinte gráficos en una pantalla sin que nadie sepa cuál importa. Reglas que aguantan:
- Una pregunta por gráfico. Si el título no puede escribirse como pregunta ("¿Está subiendo el churn en DACH?"), el gráfico es decoración.
- Tendencia: línea. Tiempo en el eje x, de una a cuatro series. Más de cuatro se convierte en una cuadrícula de small multiples.
- Comparación entre categorías: barra horizontal, ordenada por valor, no alfabéticamente. Las etiquetas siguen legibles en móvil.
- Parte de un todo: barra apilada o barra al 100%. Los gráficos de tarta fallan en cuanto hay más de tres porciones o los valores son cercanos. Un donut con una cifra grande en el centro es aceptable para una sola proporción.
- Distribución: histograma o box plot. Las medias ocultan la forma.
- Relación: dispersión, con línea de tendencia solo cuando es estadísticamente significativa.
- KPI único: cifra, variación respecto al periodo anterior, sparkline. Es la tarjeta que los directivos realmente leen.
- Las tablas también son gráficos. Para conciliación y operaciones, una tabla ordenable con formato condicional supera a cualquier visualización.
- El color codifica significado, no decoración. Un color de acento para "esta serie", uno para "alerta", grises para todo lo demás. Usa una paleta apta para daltónicos y cumple el contraste WCAG.
- Nunca truncar el eje y en un gráfico de barras. En uno de líneas, truncar está permitido si se indica.
- Above the fold: como máximo de cinco a siete tarjetas. Todo lo demás es drill-down.
Jerarquía de layout: KPIs arriba, tendencias en medio, tablas de detalle abajo. Filtros en una barra superior, aplicados globalmente, siempre visibles.
Rendimiento: preagregación, caché y tiempo real
Un dashboard que tarda ocho segundos en cargar no se usa, por muy correcto que sea.
Preagrega en escritura, no en lectura
No recorras cien millones de eventos cada vez que alguien abre la página de ventas. Materializa rollups diarios y horarios por cada combinación de dimensiones que aparece en pantalla. Una tabla de rollup de unos pocos millones de filas responde a la mayoría de dashboards de negocio en decenas de milisegundos. Los warehouses ofrecen vistas materializadas; en Postgres, un REFRESH MATERIALIZED VIEW CONCURRENTLY programado o una tabla de rollup incremental hacen el trabajo.
Caché en la capa correcta
Tres cachés, tres tiempos de vida:
- Caché de consulta (Redis o el result cache del propio warehouse) con clave por el texto de la consulta más el contexto de seguridad del usuario. El TTL es igual a la política de frescura de la métrica, así que una métrica diaria se cachea durante horas y una horaria durante minutos.
- Caché de respuesta de la API con
ETagoCache-Control: private, max-age, para que una recarga no vuelva a ejecutar nada. - Caché en el cliente (TanStack Query, SWR), para que cambiar de pestaña y volver sea instantáneo, con revalidación en segundo plano.
Nunca compartas caché entre usuarios cuando hay row-level security en juego; una clave de caché sin el ID del tenant es una fuga de datos. La guía de estrategias de caché profundiza en invalidación y claves.
// La clave de caché debe incluir todo lo que cambia el conjunto de resultados
const key = `dash:v3:${metricId}:${tenantId}:${roleHash}:${dateRange}:${filtersHash}`;
Tiempo real solo donde compensa
Un polling cada treinta segundos vale para la mayoría de pantallas "en vivo" y no cuesta nada construirlo. Cuando las actualizaciones deben llegar en segundos, haz push: Server-Sent Events para streams unidireccionales del servidor al cliente (la mayoría de dashboards), WebSockets cuando el cliente también envía mensajes frecuentes o necesitas frames binarios. Los trade-offs están en WebSockets vs Server-Sent Events. En cualquier caso, envía deltas, no el dataset completo, y limita los re-renders en el cliente para que una ráfaga de mil eventos no repinte un gráfico mil veces.
Presupuesto de front-end
Carga en diferido los gráficos below the fold, virtualiza las tablas largas y renderiza series grandes con canvas (ECharts, uPlot) en lugar de SVG. Diez mil nodos SVG congelan un portátil de gama media.
Control de acceso y row-level security
Tres capas:
Autenticación. SSO a través de tu proveedor de identidad con OIDC o SAML; tokens de vida corta; nada de cuentas compartidas de "visor de dashboard". Consulta autenticación moderna con OAuth 2.0 y JWT.
Autorización a nivel de pantalla. Los roles deciden qué dashboards y qué tarjetas son visibles. Mantenlo grueso: "finanzas", "responsable-de-ventas", "cliente".
Row-level security en la capa de datos. Aquí es donde los equipos se equivocan, filtrando en la UI o en la query string. Aplícalo donde se ejecutan las consultas:
-- Postgres: la política aplica a toda consulta, incluidas las que olvidaste
ALTER TABLE sales_daily ENABLE ROW LEVEL SECURITY;
CREATE POLICY tenant_isolation ON sales_daily
USING (tenant_id = current_setting('app.tenant_id')::uuid);
La API fija app.tenant_id a partir del token verificado antes de ejecutar cualquier consulta. Los warehouses ofrecen equivalentes (row access policies en Snowflake, row-level access en BigQuery, roles de RLS en Power BI, user attributes en Looker). Para reglas a nivel de columna (salario visible solo para RR. HH.), enmascara en la capa semántica, no en el gráfico.
Registra cada consulta con usuario, tenant, filtros y número de filas: es tu pista de auditoría para el RGPD.
Dashboards móviles
La mayoría de los directivos abren dashboards en el móvil entre reuniones. Diseña para ello explícitamente:
- Móvil es un layout distinto, no uno encogido. Apila las tarjetas de KPI una por fila; mantén un gráfico por altura de pantalla; deja las tablas detrás de un toque.
- Objetivos táctiles de al menos 44 px, sin tooltips solo por hover; toca para mostrar valores.
- Barras horizontales, no verticales, para que las etiquetas de categoría tengan espacio.
- Menos series. Dos líneas en un móvil, no seis.
- Lectura offline. Una PWA que muestra el último estado descargado con su marca de tiempo supera a un spinner en el tren.
- Notificaciones push para alertas con deep link a la vista filtrada; aquí es donde lo a medida supera a cualquier herramienta de BI.
Checklist de proyecto de dashboard
Cada "no" es un riesgo que hay que poner en precio.
- Cada dashboard tiene un propietario con nombre y una decisión escrita a la que da soporte.
- Cada métrica tiene una única definición en una capa semántica, con test.
- La frescura por métrica está documentada y se muestra en pantalla.
- Los sistemas de origen se leen mediante réplicas, CDC o exportaciones, nunca OLTP de producción.
- Las consultas pesadas van a tablas preagregadas; hay objetivo de p95 de carga de página (dos segundos es un listón habitual).
- Las claves de caché incluyen tenant y rol; los TTL coinciden con la política de frescura.
- Row-level security se aplica en la base de datos o la capa semántica y está cubierto por un test automatizado que intenta leer filas de otro tenant.
- SSO en marcha; sin cuentas compartidas.
- Los tipos de gráfico siguen las reglas de selección; nada above the fold más allá de siete tarjetas.
- El layout móvil está diseñado, no derivado.
- Existe log de auditoría de consultas, retenido según tu política de RGPD.
Plantilla de requisitos
Una petición que no puede responder a esto no está lista para estimar.
- Audiencia. Quién, cuántos, interna o externa, en qué dispositivos.
- Decisiones. Las tres decisiones que este dashboard debería cambiar, en una frase cada una.
- Métricas. Nombre, fórmula, origen, propietario, requisito de frescura, tolerancia aceptable.
- Dimensiones y filtros. Qué desgloses (tiempo, región, producto, cliente) y qué filtros deben ser globales.
- Acciones. ¿Pueden los usuarios hacer algo desde la pantalla (aprobar, asignar, comentar)? Si sí, es una aplicación; acótala como tal.
- Seguridad. Roles, reglas de fila (tenant, región, equipo), máscaras de columna, necesidades de auditoría.
- Latencia. Objetivo de carga de página y latencia de actualización por pantalla (diaria, horaria, minutos, segundos).
- Volumen. Filas por tabla de hechos hoy y dentro de dos años; usuarios concurrentes en pico.
- Embedding y marca. Standalone, dentro de un producto, white-label, restricciones de tema.
- Exportación y entrega. CSV, PDF, correo programado, acceso por API para sistemas downstream.
- Alertas. Umbrales, canales (correo, push, Slack, Teams), quién los configura.
- Herramientas existentes. Licencias de BI ya pagadas, proveedor de identidad, warehouse, plataforma de eventos.
- No objetivos. Qué queda explícitamente fuera del alcance de la versión uno.
- Medida de éxito. Cómo sabrás en 90 días si funcionó (adopción, latencia de decisión, informes retirados).
Recomendación
Por defecto, una herramienta de BI para el análisis interno: Power BI en un entorno Microsoft, Looker sobre un warehouse modelado, Metabase cuando presupuesto y alcance son pequeños, Grafana para telemetría. Construye un dashboard a medida cuando está orientado al cliente, embebido en tu producto, necesita actualizaciones push en segundos o requiere acciones en la misma pantalla. En ambos casos, invierte primero en las partes invisibles: la capa semántica, la preagregación, la política de frescura y el row-level security. Esas deciden si las cifras son fiables; los gráficos solo deciden si se leen. En Arvucore solemos recomendar mantener la herramienta de BI para exploración y construir a medida solo las dos o tres pantallas donde la herramienta falla visiblemente, y expandir desde ahí.
¿Listo para Transformar tu Negocio?
Hablemos sobre cómo nuestras soluciones pueden ayudarte a alcanzar tus objetivos. Ponte en contacto con nuestros expertos hoy mismo.
Hablar con un ExpertoTags:
Equipo Arvucore
El equipo editorial de Arvucore está formado por profesionales experimentados en desarrollo de software. Estamos dedicados a producir y mantener contenido de alta calidad que refleja las mejores prácticas de la industria e insights confiables.
Preguntas frecuentes
- ¿Cuándo un dashboard a medida es mejor que Power BI?
- Cuando el dashboard forma parte de tu producto (embebido, white-label, vendido a clientes), cuando necesitas actualizaciones en tiempo real por debajo del segundo o cuando el licenciamiento por usuario hace que la herramienta de BI cueste más que construir. Para reporting interno con un puñado de analistas, Power BI o Looker casi siempre sale más barato.
- ¿Cuánto cuesta desarrollar un dashboard frente a una licencia de BI?
- Una herramienta de BI cobra por usuario o por capacidad, así que el coste crece con la audiencia. Un dashboard a medida tiene un coste fijo de construcción más hosting y mantenimiento, así que se abarata por usuario a medida que la audiencia crece. El punto de cruce suele estar en los cientos de usuarios externos, no en las decenas.
- ¿Qué arquitectura de datos necesita un dashboard de negocio?
- Sistemas de origen, una capa de ingesta (ETL o ELT), un warehouse modelado o base de datos analítica, una capa semántica que define cada métrica una sola vez, tablas preagregadas para las consultas pesadas y una política de frescura que diga cuán antiguo puede ser el dato.
- ¿Necesito datos en tiempo real en mi dashboard?
- Rara vez. La mayoría de las decisiones de negocio funcionan con datos horarios o diarios. El tiempo real se justifica para monitorización de operaciones, fraude, trading o logística en vivo, y cambia la arquitectura: ingesta por streaming, transporte push como SSE o WebSockets y reglas de caché más estrictas.
- ¿Cómo implemento row-level security en un dashboard?
- Aplícalo en la capa de datos, no en la UI. Adjunta el tenant, región o rol del usuario a cada consulta como filtro obligatorio, idealmente mediante políticas de la base de datos o la capa semántica, para que ninguna ruta de consulta pueda devolver filas que el usuario no puede ver.
- ¿Qué gráfico uso para cada métrica?
- Tendencia en el tiempo: línea. Comparación entre categorías: barra horizontal. Parte de un todo: barra apilada, no tarta. Distribución: histograma. Relación entre dos variables: dispersión. KPI único: un número con sparkline y la variación respecto al periodo anterior.
Artículos relacionados

Desarrollo de CMMS en 2026: comprar, construir e implantar
Qué gestiona un CMMS, cuándo un CMMS a medida supera a Fiix, Limble o Maximo, la arquitectura que hay detrás y un plan de implantación paso a paso.

Sistema de gestión de contratos en 2026: construir o comprar
Cómo construir un sistema de gestión de contratos en 2026: ciclo de vida, comprar vs construir frente a DocuSign CLM e Ironclad, arquitectura, límites de la IA, eIDAS y RGPD.

Software SGC a medida en 2026: comprar o construir
Qué debe gestionar un sistema de gestión de calidad, cuándo un SGC a medida supera a MasterControl o Qualio, y cómo diseñar y validar el tuyo.

Desarrollo de aplicaciones bancarias y financieras: Construyendo soluciones bancarias modernas
En Arvucore, diseñamos y entregamos aplicaciones bancarias y software financiero que cumplen con estrictos requisitos regulatorios, de seguridad y de rendimiento. Este artículo guía a los responsables de la toma de decisiones empresariales y a los equipos técnicos europeos a través de tendencias, arquitectura, cumplimiento normativo y estrategias de implementación para soluciones bancarias fiables. Combina información práctica, contexto de mercado y buenas prácticas de implementación para ayudar a las organizaciones a elegir y desarrollar sistemas adecuados a sus necesidades.