1. Faro

Nivel 6 · ¿Columna o medida?

La solicitud

De Ashley Morgan, Analista de Reportes

“Tengo cuatro peticiones en mi cola para el informe de ventas y no dejo de dudar. Creo que solo una tiene que ser una medida. ¿Cuál?”

Tu objetivo

Lee las cuatro peticiones de Ashley y elige la que tiene que ser una medida y no una columna calculada.

¿Cuál de estas cuatro peticiones tiene que ser una medida?

Elige una respuesta y luego compruébala.

La lección

Tanto las columnas calculadas como las medidas se escriben en DAX, a menudo con las mismas funciones. Lo que las separa es cuándo se calculan y sobre qué se calculan.

Qué es este nivel de práctica

Esto es un quiz en una herramienta de práctica creada para este sitio; Power BI Desktop solo funciona en Windows. En Power BI Desktop, Modeling → New column (o Table tools → New column) añade una columna calculada a la tabla seleccionada, y Home → New measure añade una medida. En el panel Data, las columnas muestran un icono de columna y las medidas un icono de calculadora.

Columnas calculadas: un valor por fila, guardado

Una columna calculada:

  • se evalúa una vez por fila de su tabla, en contexto de fila (los valores de la fila actual);
  • se calcula cuando los datos se actualizan, y se guarda en el modelo como una columna importada;
  • ignora las segmentaciones: el rango de un producto es el mismo en todas las páginas;
  • puede usarse en cualquier lugar donde pueda usarse una columna: filas, ejes, segmentaciones, relaciones y exportaciones.

Buenos usos: etiquetas, rangos e indicadores (Price Band), partes de fecha (Order Year), valores por línea (Line Value = order_items[quantity] * order_items[unit_price]).

Medidas: un valor por celda, bajo demanda

Una medida:

  • se evalúa una vez por celda de un visual, en el contexto de filtro de esa celda;
  • se calcula cuando el informe la necesita, cada vez que cambia una segmentación o un filtro;
  • no se guarda, así que añade casi nada al tamaño del modelo;
  • devuelve un agregado: un total, un conteo, un promedio, una razón.

Buenos usos: Total Sales, Customers, Average Order Value, Margin %, todos los KPI.

Dos preguntas que deciden

Pregunta Sí →
¿El valor pertenece a una fila (una línea, un producto, un pedido)? columna calculada
¿El valor debe cambiar cuando se filtra el informe? medida

Las razones y los promedios son la trampa clásica. «Valor medio del pedido» suena a propiedad, pero ningún pedido individual tiene uno. Son las ventas totales divididas entre el número de pedidos de un conjunto de pedidos, y el conjunto es lo que digan las segmentaciones.

Cuando una columna y una medida trabajan juntas

A menudo lo hacen. Line Value como columna, luego Total Sales = SUM(order_items[Line Value]) como medida. La columna hace la aritmética por fila una vez, la medida la agrega por celda. (DAX también puede hacer ambas cosas a la vez con SUMX, que verás más adelante.)

Errores comunes

  • Una columna «total». Total = SUM(order_items[quantity]) como columna pone el total general en cada fila.
  • Una medida para una etiqueta. No puedes poner una medida en una segmentación ni en las filas de una matriz.
  • Columnas para todo. Cada una cuesta memoria y tiempo de actualización. Úsalas para lo que de verdad pertenece a una fila.

Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.