El escenario en cuestión es cuando tienes productos que cambian de precio con el tiempo.
Muchas de las demostraciones/exhibiciones que ha revisado a lo largo del tiempo sugieren que el precio de un producto se mantiene exactamente igual desde el principio de los tiempos hasta la fecha más actual. En realidad, este no es el caso.
En muchas tablas de datos sin procesar, probablemente tenga una configuración en la que el precio puede cambiar a otro precio en diferentes períodos de tiempo. Por ejemplo, los precios pueden cambiar debido a la demanda estacional.
Implementación de funciones DAX de LuckyTemplates para cambios de precios
Las técnicas que cubriremos en esta publicación de blog nos ayudarán a lidiar con estos cambios de precios. Hay una pequeña curva de aprendizaje para hacerlo bien usando las funciones DAX de LuckyTemplates .
Sin embargo, se puede hacer configurando su modelo de datos correctamente y utilizando combinaciones de fórmulas DAX más avanzadas.
Para este ejemplo, puede saber de antemano cuáles fueron históricamente los cambios de precios y desea integrar esos cambios de precios en su modelo. Pero en este escenario, es posible que no tenga precios en su tabla de hechos. Piense en esta tabla de Ventas como una tabla de transacciones.
Si hubiera precios en esta tabla, entonces probablemente no tendrá que hacer esto. Pero he visto surgir preguntas en el foro de soporte donde el precio está en una tabla separada y debe integrarse.
Creé una tabla donde tengo todos los productos, así como el precio de cada producto que cambia durante el trimestre. Así que tengo un nombre de producto y un cuarto de dimensión.
Entonces, para el Producto 1, su precio durante el tercer trimestre fue de $1,680.75.
Pero si nos desplazamos hacia abajo en nuestra tabla, podemos encontrar que el precio del Producto 1 ha cambiado a $2,666.79 durante el cuarto trimestre.
Durante el período de Navidad, aumentamos mucho los precios de nuestros productos, por lo que necesitamos saber cómo cambiaron estos precios. Esta es una muy buena idea para la previsión futura y el análisis de escenarios, ya que es posible que se encuentre pronosticando cambios en los precios en muchos casos.
Relación entre las tablas
La parte difícil aquí es cómo incluir esto en nuestro modelo. La tabla de productos enumera todos los productos una sola vez, pero la tabla de precios de productos hace referencia a un producto varias veces. Por lo tanto, no podemos establecer una relación entre la tabla de precios de productos y la tabla de ventas.
No hay forma de que lo hagamos porque hay varios valores en la tabla de precios de productos y queremos que la tabla de búsqueda (tabla de productos) esté en el lado único.
En este escenario, debemos ser innovadores y descubrir cómo podemos tomar un punto de datos de la tabla de precios de productos mientras analizamos los datos de la tabla de ventas mediante un par de funciones de LuckyTemplates DAX.
Cálculo del precio promedio del producto
Así es como lo hice. Cuando me burlé de este escenario, también hice una serie de cosas adicionales. Aquí tengo esta tabla en particular que tiene el nombre del producto, el precio promedio actual y el precio promedio del producto, que cambiará según el trimestre que seleccionemos.
Para calcular el precio promedio del producto, debe recordar que en realidad no existe una relación entre la tabla Fecha (que es de donde proviene el trimestre) y la tabla Precio del producto.
Utilización de la función TREATAS
Entonces, cuando hacemos una selección aquí, debemos filtrar de alguna manera la tabla Ventas para asegurarnos de que se obtiene el precio correcto para el trimestre. Para hacer eso, utilicé la función TREATAS , que te permite crear estas relaciones virtuales.
Después de crear virtualmente la relación a través de TREATAS , el nombre del producto y los detalles cambiarán en función de la selección trimestral que hagamos.
Hay muchas aplicaciones para la función TREATAS en pronósticos, publicidad y marketing donde los precios de los productos no siempre se mantienen constantes. Tendrás que usar una combinación de técnicas para resolver realmente este tipo de cosas.
Ahora, quiero comparar las ventas totales históricamente en función de un precio único. Quiero comparar Ventas totales con ajustes de precios, que contiene todas nuestras ventas pero teniendo en cuenta todos estos ajustes de precios por trimestres.
Utilizando la función LOOKUPVALUE
Para obtener los resultados deseados, se me ocurrió la fórmula usando la función LOOKUPVALUE . Para el cálculo de Ventas totales con ajuste de precio, utilicé la función de ventas SUMX , hice referencia a la tabla Ventas y luego salté a la tabla Cantidad. Como paso final, utilicé la función LOOKUPVALUE .
LOOKUPVALUE es lo más cercano a VLOOKUP que puede obtener. Básicamente, está haciendo un tipo de VLOOKUP dentro de la tabla de precios del producto, pero luego lo lleva a la iteración que estamos haciendo sobre la tabla de ventas.
Lo mejor de LOOKUPVALUE es que no necesita ninguna relación para usarlo. Puede saltar a otras tablas simplemente haciendo referencia a ciertos elementos en una tabla en particular.
Al utilizar la función LOOKUPVALUE , podrá realizar un seguimiento de los cambios de precio. Echemos un vistazo a lo que sucedió el pasado 26 de abril de 2018. Vendimos 1 producto, Producto 53.
La columna Ventas totales tendrá en cuenta el nuevo precio de $1526, mientras que la columna Ventas totales con ajuste de precio tendrá en cuenta $1327,62 como precio medio del producto.
En este ejemplo, utilicé la función TREATAS como una forma de crear una relación virtual única en mi modelo de datos. Este es un gran truco para aprender cuando se trabaja con datos más complejos.
También pudimos ver la función LOOKUPVALUE . Esta es otra función única que no se usa con frecuencia, pero hay una razón lógica por la que necesitamos usarla en este ejemplo en particular.
Implementamos algunas técnicas de desarrollo de alta calidad que cubren escenarios de datos muy reales con los que probablemente se enfrentará en algún momento de su negocio.
Para obtener muchos más ejemplos de análisis de negocios, consulte el siguiente módulo de miniserie en LuckyTemplates Online.
Disfrute trabajando a través de este video detallado.