Medidas vs. columnas calculadas

En numerosas ocasiones nos veremos ante la tesitura de escoger entre crear una columna calculada (sobre la que aplicar posteriormente una función de agregación, por ejemplo, para realizar algún cálculo) o una medida.

Para empezar, debemos entender que ambas opciones tienen ventajas e inconvenientes. Concretamente:

  • Las medidas son expresiones que se van a calcular cuando se necesiten, lo que significa que no ocupan memoria ni espacio en disco. Por el contrario, una columna calculada pasa a formar parte de la tabla en la que se haya creado y los valores que contengan sí se almacenan en memoria y van a ocupar espacio en disco.
  • Las medidas -tal y como acabamos de comentar- son expresiones que se van a calcular cuando se necesiten (y tantas veces como se necesiten), y este cálculo puede llevar tiempo. Normalmente es un proceso instantáneo, pero hay ocasiones en las que las medidas son tan complejas que su cálculo puede llevar mucho tiempo. Por el contrario, las columnas se van a calcular una sola vez (durante la creación de la columna o en cada actualización de los datos), por lo que su cálculo no consume tiempo durante el uso del informe.
  • Una medida va a devolver un escalar. Si queremos que el resultado de nuestra expresión DAX sea utilizable -por ejemplo- como valores del eje X de un gráfico de columnas o como valores en un segmentador, la única opción sería generar una columna calculada.
  • Una medida se va a adaptar al contexto en el que se utilice, por lo que su uso es más flexible que el de una columna calculada, cuyos valores van a ser siempre los mismos.

Considerando estos factores, podemos decir que nuestra primera opción deberá ser la medida, y recurrir a la columna calculada solo cuando sea necesario, ya sea por motivos de rendimiento o porque queremos usar los valores generados en un segmentador o como variable categórica en un eje, por ejemplo.