¿Qué es Deneb en Power BI y qué es Vega-Lite?
Mira una gráfica que Power BI no trae, lee las tres partes que la describen y descubre qué hace Deneb con ellas.
3 partes · 3, 2 y 3 min
Curso gratis. Tu Maestro, una IA, .
La directora de Café La Ceiba te pide una sola gráfica para la junta del lunes: de sus seis sucursales, ¿cuáles van arriba de su meta del semestre y por cuánto?
En Power BI lo primero que pruebas son barras agrupadas, con una barra de ventas y otra de meta por cada sucursal. Los datos están ahí, pero quien ve el reporte tiene que brincar de barra en barra para comparar cada par y calcular a ojo el tamaño de la brecha. La gráfica que responde la pregunta de un vistazo pone a cada sucursal en su propio renglón, dibuja un punto para la meta, otro para las ventas reales y traza una línea entre los dos. A este diseño se le llama gráfica de mancuerna, y el panel de visualizaciones de Power BI no lo incluye.
Buen lugar para parar. Después: Deneb: el objeto visual que dibuja lo que describes · 2 min
Deneb: el objeto visual que dibuja lo que describes
Deneb es un objeto visual personalizado para Power BI, gratuito y con licencia MIT. Lo agregas a tu reporte desde AppSource igual que cualquier otro visual, y cuenta con la certificación de Microsoft: todo lo que necesita para funcionar viaja dentro de tu archivo y en ningún momento se conecta a servicios externos.
Los objetos visuales del panel de Power BI traen una forma fija: si eliges el de barras agrupadas, solo puedes configurar cosas que caben en unas barras agrupadas. Deneb funciona como un lienzo abierto. Le arrastras tus columnas y medidas como a cualquier visual, y adentro abres su editor para escribir cómo quieres verlas. Esa descripción se escribe en Palabra del glosario.
Vega-Lite: describir una gráfica en lugar de dibujarla
Vega-Lite es un lenguaje para describir gráficas usando texto con formato Palabra del glosario. En lugar de acomodar figuras con el ratón o indicar coordenadas en píxeles, escribes una receta breve que nombra tres cosas: qué tabla de datos usar, qué marca geométrica dibujar por cada fila y qué columna va en cada canal visual (como el eje horizontal, el eje vertical o el color). Con esa descripción, el programa calcula las escalas, traza los ejes y coloca cada elemento.
Funciona igual que hacer un pedido en una cafetería. Cuando pides en el mostrador, dices "un latte grande, deslactosado", sin explicarle al barista cuántos gramos de café moler ni a qué temperatura espumar la leche. Tu especificación de Vega-Lite es el pedido escrito; Deneb es quien lo prepara dentro de Power BI con los números de tu reporte.
Para que quede claro desde el primer día cómo colaboran, mira qué hace cada pieza:
Power BI entrega los datos
Seleccionas tus columnas y medidas en el reporte. Power BI aplica los filtros activos y le pasa el resultado a Deneb como una tabla llamada
dataset.La especificación de Vega-Lite describe la forma
Tu código JSON dice qué marcas dibujar y qué columna controla cada eje o color. La especificación solo nombra las columnas; nunca guarda los números de tus ventas.
Deneb junta los datos con la descripción
El objeto visual toma la tabla
datasetque le mandó Power BI, sigue las instrucciones de tu especificación de Vega-Lite y dibuja la gráfica en la página del reporte.
Si todavía te queda duda de cómo se reparten el trabajo Power BI, Deneb y Vega-Lite, pídele un ejemplo a tu Maestro.
Mira ahora la especificación que dibuja la gráfica de mancuerna del inicio. No hace falta que entiendas cada signo de puntuación todavía; fíjate únicamente en las líneas resaltadas.
{Inicio de las líneas 2, 4, 7, 11, 15. "data": { "name": "dataset" }, Fin de las líneas 2, 4, 7, 11, 15. "encoding": {Inicio de las líneas 2, 4, 7, 11, 15. "y": { "field": "Sucursal", "type": "nominal", "title": null } Fin de las líneas 2, 4, 7, 11, 15. }, "layer": [Inicio de las líneas 2, 4, 7, 11, 15. { "mark": { "type": "rule", "strokeWidth": 2 }, Fin de las líneas 2, 4, 7, 11, 15. "encoding": { "x": { "aggregate": "sum", "field": "Meta", "type": "quantitative" }, "x2": { "aggregate": "sum", "field": "Ventas" } } },Inicio de las líneas 2, 4, 7, 11, 15. { "mark": { "type": "point", "filled": true, "size": 120 }, Fin de las líneas 2, 4, 7, 11, 15. "encoding": { "x": { "aggregate": "sum", "field": "Meta", "type": "quantitative" }, "color": { "datum": "Meta" } } },Inicio de las líneas 2, 4, 7, 11, 15. { "mark": { "type": "point", "filled": true, "size": 120 }, Fin de las líneas 2, 4, 7, 11, 15. "encoding": { "x": { "aggregate": "sum", "field": "Ventas", "type": "quantitative" }, "color": { "datum": "Ventas" } } } ]}Buen lugar para parar. Después: parte 3 de 3 · 3 min
Toda especificación de Vega-Lite gira alrededor de tres partes:
dataindica de dónde salen las filas. En Deneb siempre es{"name": "dataset"}(línea 2), el nombre fijo de la tabla que entrega Power BI. Aquí llamamos igual a los datos para que todo lo que escribas funcione al pegarlo en tu reporte.markindica qué figura dibujar por cada fila: barra ("bar"), punto ("point"), línea ("line") o regla ("rule"). La mancuerna agrupa tres capas enlayer: una regla (línea 7) y dos puntos (líneas 11 y 15).encodingconecta las columnas de tus datos con los canales visuales (x,y,color). Por ejemplo, en cada capa asociaMetayVentasconx(yx2en la regla) y usacolorpara distinguir cada punto.
El resto son detalles de esas tres piezas. Si alguna línea de la especificación te genera duda, pregúntale a tu Maestro qué hace.
Lo que dibujas aquí se dibuja igual en Power BI
Deneb 2.0.0 actualizó su motor a Vega 6.4.0 y Vega-Lite 6.4.3, y esta página dibuja con esa misma versión. Así puedes practicar desde cualquier computadora o teléfono y llevar tu código directo al reporte, incluso si trabajas en Mac, pues Power BI Desktop solo corre en Windows.
En las siguientes páginas escribirás tu primera especificación, agregarás Deneb a un reporte y verás qué tabla le manda Power BI. Más adelante armarás esta mancuerna, un diagrama de Gantt y una gráfica que responde al filtro cruzado.
Inténtalo
Vuelve a la gráfica del inicio y a mancuerna.json para responder estas dos preguntas:
- Viendo solo los puntos, ¿qué dos sucursales quedaron arriba de su meta del semestre y cuál quedó más lejos por debajo?
- En
mancuerna.json, ¿qué parte decide que las sucursales vayan en renglones separados, y qué líneas marcan dónde empieza y termina cada regla ("rule")?
Si tienes duda en alguna de las dos, cuéntale a tu Maestro qué parte estás viendo.