CALCULATE es una de las funciones más dinámicas que puede ayudarlo a agregar información más detallada a sus informes. Pero para entenderlo realmente, también es necesario tener una buena comprensión del contexto de fila y filtro .
Para los fines de este tutorial, usemos un conjunto de datos simple que muestre Productos, Cantidad y Precio unitario .
También tenemos una tabla de dimensiones que solo contiene Productos .
Si observamos el modelo, podemos ver que los Productos, que aparecen en nuestra tabla de dimensiones , están vinculados a la tabla de hechos a través de una relación de muchos a uno .
Contexto de fila a través de CALCULATE en LuckyTemplates
El contexto de fila es uno de los conceptos principales que debe comprender para comprender realmente de qué se trata CALCULATE . Para ayudar a aclarar esto, primero veamos cómo se ve nuestro conjunto de datos en Excel.
Básicamente, el contexto de la fila define lo que sucede con cada fila . Si tuviéramos que obtener las Ventas del producto A, por ejemplo, simplemente pondríamos un signo igual y luego multiplicaríamos los valores en Cantidad y Precio unitario.
Si aplicamos esa misma lógica fila tras fila, obtenemos la cantidad de Ventas para cada fila, lo que nos permite llegar a las Ventas totales .
Ahora, cambiemos a LuckyTemplates.
Recuerde que el mismo cálculo se repitió fila por fila. Hay una serie de funciones de iteración en LuckyTemplates, la mayoría de las cuales terminan con una X. Por ejemplo, la función de iteración para sería .
Como puede ver, SUMX requiere que se haga referencia a una tabla, por lo que usaremos nuestra FactTable donde se almacenan nuestros datos.
Luego, multiplicaremos las columnas requeridas de FactTable , que son Cantidad y Precio unitario .
Cuando presione enter, nos dará nuestras Ventas .
Filtrar contexto a través de CALCULATE en LuckyTemplates
Lo segundo que tenemos que mirar es nuestro contexto de filtro, que es otro componente crítico de CALCULATE .
Usar CALCULATE significa modificar el contexto de filtro aplicado a una expresión . Primero, veremos cómo modificar el contexto del filtro. Esto simplemente significa cambiar los filtros en el informe.
Al aplicarlo a un informe de Excel, es tan fácil como hacer clic en la flecha desplegable junto al nombre de la columna y elegir los filtros que desea aplicar.
Si, por ejemplo, solo necesito los datos del Producto A, simplemente debo marcar A en este filtro.
Una vez que haga clic en Aceptar, el informe solo mostrará las ventas del producto A.
Esa es la segunda parte del proceso, que es aplicar el filtro a una expresión. En este caso, la expresión es Ventas .
Volviendo a LuckyTemplates, necesitaremos usar CALCULATE para hacer lo mismo. Comencemos por crear una nueva medida para el Producto de ventas A.
Luego, usaremos CALCULATE y aplicaremos la expresión, que es Sales .
A continuación, modificaremos el contexto del filtro haciendo referencia a nuestra FactTable .
Luego, tendremos que especificar que de la columna Productos , solo necesitamos las ventas relacionadas con el producto A.
Ahora, tenemos las ventas del producto A, que son 6520, que son los mismos resultados que obtuvimos de nuestra tabla de Excel.
Aplicar contexto de filtro usando SUMX
Aunque nuestro enfoque principal aquí es CALCULAR , también es importante saber que esto también se puede hacer usando otras funciones. Por ejemplo, el filtrado que hicimos es como usar la función SUMif de Excel . Pero al hacerlo en LuckyTemplates, podemos usar SUMX .
Para hacer eso, creemos otra medida llamada Producto de ventas A v2.
Queremos ir fila por fila para encontrar detalles sobre el Producto A, por lo que aplicaremos SUMX . Normalmente, nuestro primer instinto sería hacer referencia a nuestra FactTable porque de ahí es de donde provendrán nuestros datos.
Pero si hacemos esto, ya no podremos aplicar ningún filtro. Entonces, en lugar de hacer referencia a la tabla primero, debemos priorizar el uso de la función . FILTER es otro iterador que nos permite ver los datos fila por fila.
Una vez que tenemos la función FILTER en su lugar, esa es la única vez que hacemos referencia a FactTable . Luego, especificaremos qué filtros queremos usar, por lo que haremos referencia a los elementos de la columna Productos relacionados con el producto A.
A continuación, especificamos la expresión, que es Ventas.
Si incorporamos esta medida a nuestros resultados, verá que muestra el mismo Total que la medida anterior que creamos.
Ahora, probablemente te estés preguntando por qué necesitamos CALCULAR si hay otras funciones que podemos usar. La verdad es que CALCULATE tiene muchos más usos que los que hemos discutido hasta ahora.
Otros usos para CALCULAR en LuckyTemplates
Para mostrarle otras formas de usar CALCULATE , agreguemos otra columna a nuestro conjunto de datos para el porcentaje de ventas. En Excel, eso significa dividir las Ventas por las Ventas totales .
También tendré que bloquear la celda de Ventas totales para que se aplique la misma cifra al resto de las celdas de la columna.
Una vez que presione Enter, veremos porcentajes que suman 100%.
Si cambio los filtros y solo obtengo los datos del producto A, verá que la columna de porcentaje de ventas aún conserva los mismos porcentajes.
Cuando cambia a LuckyTemplates, puede hacer algo como esto mediante el uso de CALCULATE .
Vamos a crear una nueva medida bajo nuestras medidas clave. Primero comenzaremos con Todas las ventas , que es equivalente a Ventas totales en nuestro informe de Excel. Usaremos CALCULATE para esto.
Luego, usaremos Ventas como nuestra expresión.
Mirando hacia atrás en nuestra tabla de Excel, recuerde que tuvimos que bloquear la celda que contenía Ventas totales para asegurarnos de que, a pesar del filtrado, seguiríamos usando el mismo Total en toda la columna. En nuestro informe de LuckyTemplates, usaremos para hacer eso.
Una vez que hago clic en entrar, traemos todas las ventas de todos los productos.
Esto hace que sea más fácil obtener nuestro porcentaje de ventas. Así que vamos a crear otra medida para eso.
Luego, usaremos , dividiendo nuevamente nuestras Ventas con Todas las ventas de la misma manera que lo hicimos en Excel.
Una vez que presionamos enter, tendremos nuestro porcentaje de ventas, que suma 100%.
Conclusión
Estos son solo algunos de los muchos usos de la función CALCULAR. De hecho, también se puede utilizar en cálculos de inteligencia de tiempo.
Puede consultar nuestros otros tutoriales que muestran estos otros usos. Es básicamente una de las funciones de las que no podemos prescindir si queremos que nuestros informes muestren la mayor cantidad de información posible.