Skip to content
Empieza gratis

Nominal, ordinal, quantitative y temporal: el tipo de campo cambia la gráfica

Recorre una gráfica de ventas por mes y arregla un eje de fechas que Vega-Lite trató como texto.

2 partes · 3 y 8 min

Curso gratis. Tu Maestro, una IA, .

En la página anterior viste qué filas llegan a dataset y por qué las medidas llevan "aggregate": "sum". Ahora fíjate en la pareja que aparece dentro de cada canal de encoding: junto a field, siempre escribes type. El campo dice qué columna de la tabla usar; el tipo le dice a cómo leerla.

Para elegir el tipo de un campo, hazte dos preguntas sobre esa columna: ¿qué pregunta responde este canal en la gráfica y tienen un orden natural sus valores? Vega-Lite define cinco tipos (nominal, ordinal, quantitative, temporal y geojson para mapas), y en tus reportes con Deneb vas a usar estos cuatro todo el tiempo:

TipoQué representaPregunta que respondeEn Café La Ceiba
nominalCategorías sin orden natural¿Qué o cuál es?Sucursal, Categoría
ordinalCategorías con un orden definido¿En qué nivel o posición va?Una talla: Chico, Mediano, Grande
quantitativeNúmeros que se miden y se suman¿Cuánto es y a qué distancia queda?Ventas, Meta
temporalFechas y horas del calendario¿Cuándo ocurrió?Mes

Cambiar esa palabra en type transforma el eje, la escala, la leyenda y los colores de la gráfica.

Cuando pones un campo en el canal color, el tipo decide qué paleta usar. Con nominal, cada categoría recibe un tono distinto para distinguirla de las demás. Con ordinal, los colores van de claro a oscuro siguiendo el orden de las categorías. Con quantitative, aparece un degradado continuo desde el valor mínimo hasta el máximo.

En los ejes x y y ocurre algo similar. Un campo quantitative dibuja una escala numérica continua donde el doble de ventas ocupa el doble de espacio. Un campo temporal reparte las fechas según el tiempo que pasó entre ellas en el calendario. En cambio, un campo nominal o ordinal divide el eje en casillas del mismo ancho y pone un valor junto al otro.

Ten cuidado con las columnas que se escriben con dígitos pero solo identifican cosas, como un código de sucursal (101 y 102). Si les pones "type": "quantitative", Vega-Lite las trata como cantidades y dibuja un eje continuo con huecos y decimales. Sumar la sucursal 101 más la 102 carece de sentido porque esos dígitos funcionan como nombres; su tipo es nominal. Si tienes una columna en tu reporte y dudas entre dos tipos, dile a tu Maestro qué valores guarda y qué quieres comparar.

Recorre esta gráfica paso por paso para ver cómo trabajan juntos los tipos de campo en una serie mensual.

Usa las flechas izquierda y derecha para cambiar de paso.

Paso 1 de 4

La gráfica completa

Ventas por mes de las seis sucursales juntas, una línea por categoría. Antes de leer las líneas, mira los tres canales: x es Mes (temporal), y es la suma de Ventas (quantitative) y el color es Categoría (nominal).

Buen lugar para parar. Después: parte 2 de 2 · 8 min

Observa también cómo el tipo del eje acompaña a la marca que elegiste. En la gráfica que acabas de recorrer, mark es "line" con "point": true. Como Mes es temporal en el eje x, cada línea une los seis meses en orden cronológico y deja comparar la pendiente de las tres categorías al mismo tiempo: se ve de inmediato que Bebidas frías sube de unos 300 mil a 430 mil pesos mensuales mientras Panadería se queda entre 200 y 240 mil.

Si cambiaras la marca a "bar" con esos mismos canales, Vega-Lite apilaría las tres categorías en una sola barra por mes. Quien mira barras apiladas lee muy rápido cuánto vendió toda la cadena en cada mes, pero le cuesta seguir la trayectoria de Bebidas frías porque su segmento empieza encima de otra categoría. La línea pide seguir la evolución en el tiempo; la barra pide comparar totales.

El error más común: una fecha tratada como texto

Cuando una IA te escribe el de una especificación para Deneb, o cuando copias un ejemplo, es muy común que el campo de fecha llegue con "type": "nominal". La gráfica se dibuja sin marcar ningún error, así que parece que funciona, pero el eje pierde el calendario.

Con nominal, cada fecha completa se vuelve una etiqueta de texto amontonada de lado, el eje ignora cuánto tiempo pasó entre un punto y otro, y las líneas pueden unir los meses en el orden en que venían las filas. Si faltara un mes en los datos, un eje temporal conservaría el espacio vacío para mostrar ese hueco; uno nominal pegaría los meses restantes como si fueran consecutivos.

Para que una columna de fechas mensuales funcione bien en el eje x, ponle "type": "temporal" y agrégale "timeUnit": "yearmonth" para agrupar los días por año y mes. Si además quieres que las etiquetas digan solo la abreviatura de cada mes, usa "axis": { "format": "%b" }.

En Power BI, antes de editar la especificación, revisa cómo llegó tu fecha a Values: que sea la columna de fecha real y nunca una columna de texto con el nombre del mes. Un nombre de mes es texto, y como texto se ordena de la A a la Z: abril aparece antes que enero.

Si en tu reporte la fecha llega rara, pégale a tu Maestro un ejemplo de cómo se ve.

Aquí Mes llegó como nominal. Las etiquetas son fechas completas y el eje no sabe que hay tiempo entre ellas. Cambia el tipo de Mes a "temporal". Agrégale "timeUnit": "yearmonth" para agrupar por mes. Terminaste cuando el eje dice ene, feb, mar... en lugar de fechas completas. Tu Maestro te puede mostrar cómo se ve con "axis": {"format": "%b"}.

Tu turno

Aquí Mes llegó como nominal. Las etiquetas son fechas completas y el eje no sabe que hay tiempo entre ellas.

  1. Cambia el tipo de Mes a "temporal".
  2. Agrégale "timeUnit": "yearmonth" para agrupar por mes.

Terminaste cuando el eje dice ene, feb, mar... en lugar de fechas completas. Tu Maestro te puede mostrar cómo se ve con "axis": {"format": "%b"}.

Valores

dataset · 6 filas

Datos

Ver las filas que recibe Deneb
MesVentas__row__
2026-01-0110248440
2026-02-0110720351
2026-03-0111342932
2026-04-0111942483
2026-05-0112043154
2026-06-0112535705

Haz clic en una palabra subrayada para cambiarla (o Esc y Tab).

Cómo se pega en Deneb
  1. En Power BI, pon en Valores de tu visual de Deneb estos campos: Mes, Ventas.
  2. Si Mes entra como jerarquía de fechas (Año, Trimestre, Mes, Día), escoge en su menú el campo mismo en lugar de la jerarquía.
  3. Si Power BI lo nombra "Suma de Ventas", cámbiale el nombre para este visual a Ventas, para que coincida con tu especificación.
  4. Abre el editor de Deneb con Vega-Lite como lenguaje, reemplaza la especificación que trae, pega la tuya y aplica los cambios.

Los esquemas pbiColor toman los colores del tema de tu reporte, así que allá pueden verse distintos.

Ejecútalo tú

Inténtalo

En el editor de arriba, ya con el eje arreglado, haz dos pruebas:

  1. En Valores selecciona Categoría y agrega en encoding un canal color para ese campo. Ponle primero "type": "nominal" y luego cámbialo a "type": "ordinal". Describe qué cambió en la gráfica y cuál de los dos le queda a tres categorías sin orden.
  2. Cambia "mark" de {"point": true, "type": "line"} a "bar". Describe qué cambió y qué lee distinto quien ve la gráfica.

Cuéntale a tu Maestro qué viste en cada prueba; si te atoras al editar la especificación, él te acompaña.

Comprueba lo que sabes: Tu tabla tiene una columna Tamaño con los valores Chico, Mediano y Grande. ¿Qué tipo le pones en el encoding?