Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola.
Tengo una tabla que contiene los cambios de inventario del grupo de artículos (libro mayor) a lo largo del tiempo. Contiene datos de todos los cambios en el inventario a lo largo del tiempo a nivel de artículo.
Necesitaría obtener una tendencia de consumo de artículos por semana durante los últimos 18 meses en el nivel de la semana. ¿Cómo debo abordar eso?
Tengo una tabla de calendario para hacer coincidir las fechas en semanas y tengo los cambios de inventario del artículo por fechas. Ejemplo a continuación. Un solo artículo puede tener cambios de inventario positivos y negativos y aquí solo me interesan los cambios negativos (consumo). Así que si tengo:
Artículo | Fecha | Cambiar | Inventario
001 | 1/4/2021 | -2 | 48
001 | 5/4/2021 | -3 | 45
001 | 12/4/2021 | -1 | 44
001 | 13/4/2021 | 6 | 50
001 | 14/4/2021 | -4 | 46
001 | 20/4/2021 | -2 | 44
Así que el consumo ha sido:
Semana 13: 2
Semana 14: 3
Semana 15: 5
Semana 16: 2
Si obtengo esos valores por semana, entonces es fácil poner esa medida (?) en imágenes con el tiempo.
La ayuda para abordar esto es muy apreciada 🙂
Solved! Go to Solution.
@vpsoini ,
Una de las formas es usar las siguientes medidas (los ejemplos son por 7 días. Supongo que tiene una tabla de fecha separada conectada a su tabla de datos a través de la columna Fecha):
last7days =
CALCULATE (
[ChangeAmt],
DATESINPERIOD ( 'Date'[Date], MAX ( 'T'[Date] ), -7, DAY )
)
prev7days =
CALCULATE(
[ChangeAmt],
DATESINPERIOD ( 'Date'[Date], MAX ( 'T'[Date] ) - 7, -7, DAY )
)
compare7days =
VAR a = [last7days]
VAR b = [prev7days]
RETURN
IF ( HASONEVALUE ( T[Item] ), ( a - b ) / b )
Si esta publicación ayuda, considere Aceptarla como la solución ✔️para ayudar a los otros miembros a encontrarla más rápidamente.
Allí, @vpsoini
@ERD ha proporcionado una solución, y se me ocurrió otra solución que espero que también ayude.
Ofrezco otra solución para su referencia, que no requiere que tenga una tabla de fechas separada.
últimos 7 días:
last 7 days =
var _maxDate=CALCULATE(MAX('Table'[Date]),ALL('Table'))
var _sum=
CALCULATE(
SUM('Table'[Change]),
FILTER(
ALL('Table'),
'Table'[Change]<=0&&
'Table'[Item]=MAX('Table'[Item])&&
'Table'[Date]<=_maxDate&&
'Table'[Date]>_maxDate-7
)
)
var _abs=ABS(_sum)
return _abs
para cambiar el _maxDate-N para obtener otras medidas:
últimos 7(30) días, 7(30) días anteriores:
contras. cambio:
CMP_30days = DIVIDE([last 30 days]-[previous 30days],[previous 30days])
Resultado:
Consulte el archivo adjunto a continuación para obtener más detalles. Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Allí, @vpsoini
@ERD ha proporcionado una solución, y se me ocurrió otra solución que espero que también ayude.
Ofrezco otra solución para su referencia, que no requiere que tenga una tabla de fechas separada.
últimos 7 días:
last 7 days =
var _maxDate=CALCULATE(MAX('Table'[Date]),ALL('Table'))
var _sum=
CALCULATE(
SUM('Table'[Change]),
FILTER(
ALL('Table'),
'Table'[Change]<=0&&
'Table'[Item]=MAX('Table'[Item])&&
'Table'[Date]<=_maxDate&&
'Table'[Date]>_maxDate-7
)
)
var _abs=ABS(_sum)
return _abs
para cambiar el _maxDate-N para obtener otras medidas:
últimos 7(30) días, 7(30) días anteriores:
contras. cambio:
CMP_30days = DIVIDE([last 30 days]-[previous 30days],[previous 30days])
Resultado:
Consulte el archivo adjunto a continuación para obtener más detalles. Espero que esto ayude.
Saludos
Equipo de apoyo a la comunidad _ Zeon Zheng
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Hola @amitchandak y @ERD
Gracias por las sugerencias. Desafortunadamente mi fuente cambió un poco (el inventario muestra ahora solo cero, por lo que no se puede usar) y también mi objetivo cambió un poco, así que si pudieras ayudar a abordar para obtener valores en una tabla visual, así que tendría
Artículo | el consumo dura 7 días | cambio de consumo último 7 días -> últimos 14-7 días en % | consumo último 30 días | cambio de consumo último 30 días -> últimos 60-30 días en %|
Así que estoy buscando
Gracias por sus valiosas respuestas hasta ahora y lo siento por la inconveniencia para la molestia adicional ...
@vpsoini ,
Ya que tiene algunos cambios, por favor, proporcione sus nuevos requisitos y nuevos datos
1. Datos de muestra como texto, use la herramienta de tabla en la barra de edición
2. Resultado esperado de los datos de la muestra
3. Explicación en palabras de cómo llegar desde 1. a 2.
Si esta publicación ayuda, considere Aceptarla como la solución ✔️para ayudar a los otros miembros a encontrarla más rápidamente.
Hay @ERD
Los datos se ven así (muestra con 2 itms diferentes, uno real tiene alrededor de 50k elementos). Estoy interesado solo en los cambios negativos (consumo), por lo que cualquier cambio positivo (agregar inventario) no está en el alcance aquí.
Artículo | Fecha | Cambio |
001 | 1.10.2021 | -1 |
001 | 2.10.2021 | -3 |
002 | 2.10.2021 | -2 |
001 | 5.10.2021 | -2 |
001 | 8.10.2021 | 6 |
002 | 9.10.2021 | -2 |
001 | 11.10.2021 | -1 |
002 | 13.10.2021 | -2 |
001 | 16.10.2021 | -3 |
002 | 17.10.2021 | 5 |
001 | 20.10.2021 | -2 |
001 | 21.10.2021 | -1 |
002 | 22.10.2021 | -1 |
001 | 25.10.2021 | -2 |
002 | 25.10.2021 | -1 |
001 | 26.10.2021 | -1 |
Así que los datos que estoy buscando son (supongamos, que en septiembre (30 días anteriores) el consumo para el artículo 001 fue de 12 y para el artículo 002 fue de 9)
Artículo | consumo último 7 días | consumo anterior 7 días | El cambio dura 7 días en comparación con los 7 días anteriores | consumo último 30 días | consumo anterior 30 días | Contras. cambio último 30 días en comparación con los 30 días anteriores |
001 | 6 | 3 | ( 3->6 = ) +100% | 16 | 12 | (12 -> 16 = ) 33% |
002 | 2 | 2 | (2 -> 2= ) 0% | 8 | 9 | (9 ->8 = ) - 11% |
Una vez más, cualquier ayuda para abordar esas medidas (¿o columnas?) es muy apreciada.
@vpsoini ,
Una de las formas es usar las siguientes medidas (los ejemplos son por 7 días. Supongo que tiene una tabla de fecha separada conectada a su tabla de datos a través de la columna Fecha):
last7days =
CALCULATE (
[ChangeAmt],
DATESINPERIOD ( 'Date'[Date], MAX ( 'T'[Date] ), -7, DAY )
)
prev7days =
CALCULATE(
[ChangeAmt],
DATESINPERIOD ( 'Date'[Date], MAX ( 'T'[Date] ) - 7, -7, DAY )
)
compare7days =
VAR a = [last7days]
VAR b = [prev7days]
RETURN
IF ( HASONEVALUE ( T[Item] ), ( a - b ) / b )
Si esta publicación ayuda, considere Aceptarla como la solución ✔️para ayudar a los otros miembros a encontrarla más rápidamente.
No @vpsoini,
una de las opciones es utilizar esta medida:
consumption =
SUMX ( FILTER ( 'Table', 'Table'[Change] < 0 ), 'Table'[Change] * -1 )
Si esta publicación ayuda, considere Aceptarla como la solución ✔️para ayudar a los otros miembros a encontrarla más rápidamente.
@vpsoini , si el cambio es una medida
calculate([Inventario], filter(Valores(Tabla[Semana]), [Cambiar] <0 ))
Si los cambios son columna
calculate([Inventario], filter(Tabla, [Cambiar] <0 ))
Power BI— Semana a semana y DMT
https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...
https://www.youtube.com/watch?v=pnAesWxYgJ8