Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
¡Hola a todos!
Me gustaría crear una columna calculada que devuelva la tasa de crecimiento de mis ventas de productos. Ya me las arreglé para hacer por medio de medidas, pero falló con una columna calculada. Para mí, la dificultad también está en la condición de que la función deba prestar atención al primer año de cada producto en la tabla y, por lo tanto, debe volver en blanco en estos años.
En general, mis datos se ven así.
Producto | Fecha | Ventas |
A | 31.12.19 | 4.242 |
A | 31.12.18 | 2.455 |
A | 31.12.17 | 1.543 |
A | 31.12.16 | 416 |
A | 31.12.15 | 264 |
B | 31.12.19 | 6.363 |
B | 31.12.18 | 4.683 |
B | 31.12.17 | 2.315 |
B | 31.12.16 | 1.624 |
B | 31.12.15 | 396 |
C | 31.12.19 | 9.954 |
C | 31.12.18 | 6.524 |
C | 31.12.17 | 3.425 |
C | 31.12.16 | 2.641 |
C | 31.12.15 | 1.256 |
Puede encontrar el archivo de Excel aquí.
https://github.com/MSC791/Growth_Table.git
¡Muchas gracias de antemano por su apoyo y sugerencias!
@MSC ,
_Average = CALCULATE(AVERAGE('Table'[Growth]), ALL('Table'[Product]), ALL(TABLE[Date]))
Así que ignorará la fecha seleccionada y obtendrá todos los valores de fecha para calcular el promedio.
@camargos88 He utilizado esta función:
Medidas medias ( Average Measure)
VAR CustomerGroup_ ?
DISTINCT(Data_Table[Cliente])
devolución
CALCULATE(AVERAGE(Data_Table2[Crecimiento]), Data_Table[Categoría] EN CustomerGroup_, ALL(Data_Table[Cliente]) )
Muchas gracias por sus entradas y su ayuda!
@camargos88 Estoy filtrando los valores por la tabla de datos donde tengo los productos, las categorías y las ventas.
@camargos88@Ashish_Mathur creo que he encontrado la fuente del problema: En el pbix con el que estoy trabajando, la columna de fecha no tiene el símbolo de calendario delante de él... a pesar de que los ajustes parecen ser correctos. El tipo de fecha es date y el formato es dd.mm.yyy
¿Cómo puedo cambiar esto?
Por lo tanto, creo que esto causa la función y especialmente el término ".. && [Fecha]..." no trabajar como se pretendía.
Acabo de darme cuenta de que el problema podría ser que hay relación entre la tabla con los datos y la tabla de fechas. @camargos88 ¿Cómo puedo integrar la tabla de fechas en su función DAX?
@Ashish_Mathur He subido un pequeño panel de demostración con las funciones DAX proporcionadas por @camargos88 que muestra los resultados que me gustaría obtener. Si tienes una solución de medida, eres bienvenido.
Sin embargo, las funciones no funcionan con mi conjunto de datos real aunque los datos subyacentes tienen la misma estructura que los datos de demostración. Por el momento, estoy tratando de averiguar por qué esto sucede.
¿Por qué desea una solución de columna calculada? ¿Por qué no una medida?
Hola @Ashish_Mathur !
Inicialmente, prefería una solución de columna porque había encontrado una solución alternativa para un problema similar que se basaba en columnas calculadas.
Sin embargo, si hay una solución de medida que devuelve la tasa de crecimiento promedio de la categoría del producto que seleccioné, esto también estaría bien.
@MSC ,
Pruebe esta medida:
_Average = CALCULATE(AVERAGE('Table'[Growth]), ALL('Table'[Product]))
Compruebe el archivo adjunto.
@camargos88 ¡Muchas gracias por su ayuda hasta ahora! ¡Te lo agradezco mucho!
Curiosamente, la medida que sugirió funciona perfectamente en mi panel de demostración, pero parece haber un pequeño problema en mi conjunto de datos real. Allí, la medida promedio devuelve las tasas de crecimiento normales del elemento seleccionado, pero no la tasa de crecimiento promedio de la categoría iteam.
Lo he descubierto y volveré a ti mañana.
@MSC ,
¿Puede proporcionar los datos de entrada y la salida deseada? Puedo trabajar en ello.
@camargos88 Por supuesto que sí. Gracias. Te lo notificaré tan pronto como los datos preparados se carguen en github.
@MSC ,
Pruebe este código para una nueva columna calculada:
Growth =
VAR _lastDate = MAXX(FILTER('Table', 'Table'[Product] = EARLIER('Table'[Product]) && [Date] < EARLIER('Table'[Date])), 'Table'[Date])
VAR _lastValue = CALCULATE(SUM('Table'[Sales]), FILTER('Table', 'Table'[Product] = EARLIER('Table'[Product]) && [Date] = _lastDate))
RETURN IF(_lastValue <> BLANK(), ('Table'[Sales] - _lastValue) / _lastValue)
@camargos88 ¡Fresco! ¡Muchas gracias por su rápida respuesta! Lo marcaré como la solución. Sin embargo, tengo una pregunta de seguimiento con la que podrías ayudarme. Imagine que los productos A y B pertenecen a la categoría de productos Alpha y C pertenece a Beta.
Ahora, me gustaría que una función devuelva la tasa de crecimiento promedio de Alpha, cuando filtro el producto A en mi tablero. ¿Sabes cómo se puede hacer esto?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |