Descripción de las columnas calculadas y las medidas

Completado
Columnas calculadas Medidas
Por lo general, una columna nueva se crea como función de otras columnas. Un valor agregado creado con funciones de DAX.
Siempre asociado a una tabla. No asociado a una tabla.
Se evalúa tras la creación. Se evalúa cuando se crea el objeto visual.
Se calcula en el nivel de fila de la tabla a la que está asociada. Agregado en función del contexto de fila y filtro: lo que se encuentra en la página del informe.

Diferencias entre las columnas calculadas y las medidas.

Con las columnas calculadas, se pueden agregar datos nuevos a una tabla ya existente en el modelo de Power BI. Explorará algunos casos de uso comunes: columnas condicionales, operaciones aritméticas entre columnas y columnas que dependen de varias tablas.

Vídeo: Demostración de columnas calculadas

Creación de columnas condicionales

Las columnas condicionales permiten a los analistas probar escenarios lógicos de variables; ayudan a determinar si cierta condición es verdadera o falsa. La manera más simple de pensar en las columnas condicionales sería a través de las funciones lógicas, como la función IF. Esta función comprueba una condición y devuelve un valor cuando es "true"; en caso contrario, devolverá un segundo valor.

Este es un ejemplo de una columna condicional:

Active StoreName = IF( [Status] = "On", [StoreName], "Inactive" )

En el fragmento de código anterior, está comprobando si el campo de estado de un almacén está establecido en "On". Si esa instrucción es true, quiere que se muestre el nombre de almacén. De lo contrario, se mostrará la frase "inactive".

Sugerencia

CORRELACIÓN CON TABLEAU: Este concepto debería resultar familiar en la ventana de campo calculado de Tableau. En Tableau, puede realizar instrucciones condicionales con la sintaxis IF/THEN o con la función IIF. La función IF de Power BI es más similar a la función IFF de Tableau.

Operaciones aritméticas entre columnas

La realización de operaciones aritméticas en las columnas calculadas debería ser familiar para los analistas de Tableau, pero la sintaxis será diferente para algunas funciones.

El código siguiente es un ejemplo de una columna calculada que usa una sintaxis conocida:

DiscountedPrice = [FullPrice] - [Discount]

Según el código anterior, "DiscountedPrice" es una columna calculada que devuelve el precio con descuento de un artículo. Para ello, resta el descuento aplicado de un artículo a su precio completo.

Por otro lado, el código siguiente es un ejemplo de una columna calculada con una sintaxis distinta:

ProfitRatio = DIVIDE( [Profit], [Sales] )

Sugerencia

CORRELACIÓN CON TABLEAU: En los campos calculados de Tableau, la división se realiza mediante el carácter "/": ProfitRatio = [Profit] / [Sales]

Creación de columnas calculadas dependientes de varias tablas

Power Query es una tecnología de conexión de datos que permite a los analistas detectar, conectar, combinar y mejorar los orígenes de datos. Con esa información, tendría sentido usar Power Query para crear columnas que dependan de varias tablas. Desafortunadamente, esto no es posible con Power Query.

Para evitar esta brecha en Power BI, los analistas deben usar DAX porque se está creando un cálculo que usa las relaciones que se configuran en Power BI Desktop.

Ejemplo de coste de bienes vendidos

Por ejemplo, se le asignó una tarea nueva en la que debe calcular el coste de bienes vendidos (COGS), que usa el precio mayorista del producto y el número de unidades vendidas. El precio mayorista del producto se encontrará en la tabla de dimensiones del producto y el número de unidades vendidas provendrá de una tabla de hechos de ventas. Esta es una vista previa de los datos de todas las partes de este ejemplo:

Vista previa de los datos del ejemplo de COGS.

El fragmento de código siguiente es un ejemplo de una columna calculada que depende de varias tablas:

COGS = Sales[Quantity] * RELATED( Product[Wholesale Price] )

Sugerencia

CORRELACIÓN CON TABLEAU: El fragmento de código de Tableau siguiente solo funcionará si los datos se combinan en la dimensión [ProductID] de la tabla [Product]: COGS = [Quantity] * [Product].[Wholesales Price]

Sugerencia

CORRELACIÓN CON TABLEAU: Si los datos no están normalizados en Tableau Desktop, el código tendría un aspecto similar al siguiente: COGS = { FIXED [ProductID]: SUM([Quantity] * [Wholesale Price]) }

La función RELATED permite que los usuarios utilicen valores de otras tablas en las columnas calculadas o las medidas, en función de una relación existente.

Estos pasos se revisan en el vídeo siguiente:

Vídeo: Creación de una columna de cálculo

Otra función de relación que podría usar es USERELATIONSHIP, que invalida otras relaciones solo mientras dure el cálculo. En otras palabras, habilita la relación indicada (en función de los parámetros o dos nombres de columna) durante el cálculo.

Información sobre las medidas

Las medidas serán un poco distintas en comparación con las columnas calculadas. Las medidas no se calculan por cada fila, sino que en función de una agregación.

Vídeo: Demostración de la creación de una medida

Medidas Definición
= SUM( Sales[Quantity] ) Suma la columna Quantity (Cantidad) de la tabla Sales (Ventas).
= SUMX( Sales, (Related( Product[Wholesales Price] ) * Sales[Quantity] ) ) Busca Wholesale Price (Precio mayorista) en la tabla Product (Producto) y lo multiplica por Quantity (Cantidad) en la tabla Sales (Ventas) (recorre en iteración cada fila y luego realiza la suma). Aquí se supone que las tablas a las que se hace referencia tienen relaciones.
= [Total Sales] -- [COGS] Resta la medida COGS de la medida Total Sales (Ventas totales) (ambas deben ser medidas, no columnas calculadas).
= DIVIDE( [Gross Profit], [Total Sales] ) Divide la medida Gross Profit (Beneficio bruto) por la medida Total Sales (Ventas totales).
= SWITCH( DATE[Month], 1, "January", 2, "February", 3, "Unknown month number" ) Método rápido para crear instrucciones IF/THEN con muchas condiciones.

Ejemplos de medidas simples con funciones comunes, junto con sus definiciones.

Para más información sobre las columnas calculadas, consulte Creación de columnas calculadas en Power BI Desktop.

Para más información en DAX, consulte Uso de DAX en Power BI Desktop.