Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo ua tabla con mas de un millón de registros con todas las transaciones de inventarios.
pero necesito caluclar los consumos o mivimiento totales por separado.
Tabla data:
Code | Item ID | Measure Std | Time.Date.1 | Time.Month.1 | Time.Year | AvgNoTurnDays | BaseQty | CodComp |
AJI02 | 85087 | UN | 10/31/2019 | 10 | 2019 | 0 | 13034 | AJI0285087 |
AJI02 | 85087 | UN | 11/30/2019 | 11 | 2019 | 0 | 5354 | AJI0285087 |
AJI02 | 85087 | UN | 12/31/2019 | 12 | 2019 | 2 | 282 | AJI0285087 |
AJI02 | 85087 | UN | 10/31/2020 | 10 | 2020 | 0 | 5696 | AJI0285087 |
AJI02 | 85087 | UN | 11/30/2020 | 11 | 2020 | 0 | 8910 | AJI0285087 |
AJI02 | 85087 | UN | 12/31/2020 | 12 | 2020 | 1 | 9325 | AJI0285087 |
Lo que quiero lograr es algo como esto, ya sea mediante alguna tabla calcula o con medidas.
CodComp | Consumo Total 2019 | Consumo Total 2020 | Consumo mes -1 | Consumo mes -2 | Consumo mes -3 |
AJI0285087 | 18670 | 23931 | 9325 | 8910 | 5696 |
agradezco su cooperacion.
Gracias.
Solved! Go to Solution.
Lo que he logrado hacer a mi manera es una tabla con UNA RESUMEN como esta:
Pero no lo sé... si e smjor con medidas
Consumos =
var xMONTH1 = IF(MONTH(NOW())-1<=0,12,MONTH(NOW())-1)
var xMONTH2 = IF(MONTH(NOW())-2<=0,11,MONTH(NOW())-2)
var xMONTH3 = IF(MONTH(NOW())-3<=0,10,MONTH(NOW())-3)
var xMONTH4 = IF(MONTH(NOW())-4<=0,9,MONTH(NOW())-4)
var xMONTH5 = IF(MONTH(NOW())-5<=0,8,MONTH(NOW())-5)
var xMONTH6 = IF(MONTH(NOW())-6<=0,7,MONTH(NOW())-6)
var xYEAR1 = IF(MONTH(NOW())-1<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR2 = IF(MONTH(NOW())-2<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR3 = IF(MONTH(NOW())-3<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR4 = IF(MONTH(NOW())-4<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR5 = IF(MONTH(NOW())-5<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR6 = IF(MONTH(NOW())-6<=0,YEAR(NOW())-1,YEAR(NOW()))
RETURN
SUMMARIZE(Inventory,
Inventory[CodComp],
"Último Consumo Fecha", CALCULATE(MAX(Inventory[Time.Date.1]),FILTER(Inventory,Inventory[BaseQty] >0)),
"Último Consumo Cant", CALCULATE(SUM(Inventory[BaseQty]),FILTER(Inventory,Inventory[Time.Date.1] = MAX(Inventory[Time.Date.1]))),
"Consumo Total", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR1),
"Consumo 1", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR1,Inventory[Time.Month.1] = xMONTH1),
"Consumo 2", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR2,Inventory[Time.Month.1] = xMONTH2),
"Consumo 3", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR3,Inventory[Time.Month.1] = xMONTH3),
"Consumo 4", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR4,Inventory[Time.Month.1] = xMONTH4),
"Consumo 5", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR5,Inventory[Time.Month.1] = xMONTH5),
"Consumo 6", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR6,Inventory[Time.Month.1] = xMONTH6),
"Consumo Total Últ.6 meses", ROUND(CALCULATE(SUM(Inventory[BaseQty]),DATESINPERIOD(CalendarCons[Date],MAX(Inventory[Time.Date.1]),-6,MONTH)),4),
"Consumo Promedio Últ.6 meses", ROUND(CALCULATE(SUM(Inventory[BaseQty]),DATESINPERIOD(CalendarCons[Date],MAX(Inventory[Time.Date.1]),-6,MONTH))/6,4),
"Consumo Promedio año", ROUND(CALCULATE(SUM(Inventory[BaseQty]),DATESINPERIOD(CalendarCons[Date],MAX(Inventory[Time.Date.1]),-6,MONTH))/12,4)
)
@AOHORQUEZ , Puede unirse a su fecha con la tabla de fechas y utilizar la inteligencia de tiempo
Ejemplo
Ventas MTD: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
Last MTD Sales - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
valor del mes anterior: CALCULATE(sum('Table'[valor total de horas]),previousmonth('Date'[Date]))
Last year MTD Sales ? CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-12,MONTH)))
2 el año pasado MTD (completar) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-12,MONTH))))
Last year MTD Sales ? CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-24,MONTH)))
3 el año pasado MTD (completar) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-12,MONTH))))
Last year MTD Sales - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-36,MONTH)))
y así sucesivamente
Durante el año
Ventas YTD á CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
Last YTD Sales á CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Este año Ventas: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR('Date'[Date]),"12/31"))
Ventas del año pasado: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Last to last YTD Sales - CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Consulte por qué Time Intelligence puede fallar: https://youtu.be/OBf0rjpp5Hw
Power BI — Mes a mes con o sin inteligencia de tiempo
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
https://www.youtube.com/watch?v=6LUBbvcxtKA
Power BI — Año tras año con o sin inteligencia de tiempo
https://medium.com/@amitchandak.1978/power-bi-ytd-questions-time-intelligence-1-5-e3174b39f38a
https://www.youtube.com/watch?v=km41KfM_0uA
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únete a ella con la columna de fecha de tus hechos. Consulte :radacad sqlbi My Video Series Aprecia tus Felicitaciones.
No estoy seguro de lo que estás pidiendo.
¿Desea una tabla con dos columnas de [Consumo para este año] y [Consumo para el año pasado]?
Este año : CALCULATE ( SUM ( [Consumo] ), Año(Fecha) - Año(Hoy() ) )
Last Year ? CALCULATE ( SUM ( [Consumo] ) Año(Fecha) - Año(Today()) - 1 )
Espero que eso ayude a empezar.
Proud to be a Super User! | |
Hola, realmente lo que busco el calcular ya se una medida o una tabla que me calcule ejemplo:
Por cada code: AJI0285087:
Lo que he logrado hacer a mi manera es una tabla con UNA RESUMEN como esta:
Pero no lo sé... si e smjor con medidas
Consumos =
var xMONTH1 = IF(MONTH(NOW())-1<=0,12,MONTH(NOW())-1)
var xMONTH2 = IF(MONTH(NOW())-2<=0,11,MONTH(NOW())-2)
var xMONTH3 = IF(MONTH(NOW())-3<=0,10,MONTH(NOW())-3)
var xMONTH4 = IF(MONTH(NOW())-4<=0,9,MONTH(NOW())-4)
var xMONTH5 = IF(MONTH(NOW())-5<=0,8,MONTH(NOW())-5)
var xMONTH6 = IF(MONTH(NOW())-6<=0,7,MONTH(NOW())-6)
var xYEAR1 = IF(MONTH(NOW())-1<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR2 = IF(MONTH(NOW())-2<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR3 = IF(MONTH(NOW())-3<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR4 = IF(MONTH(NOW())-4<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR5 = IF(MONTH(NOW())-5<=0,YEAR(NOW())-1,YEAR(NOW()))
var xYEAR6 = IF(MONTH(NOW())-6<=0,YEAR(NOW())-1,YEAR(NOW()))
RETURN
SUMMARIZE(Inventory,
Inventory[CodComp],
"Último Consumo Fecha", CALCULATE(MAX(Inventory[Time.Date.1]),FILTER(Inventory,Inventory[BaseQty] >0)),
"Último Consumo Cant", CALCULATE(SUM(Inventory[BaseQty]),FILTER(Inventory,Inventory[Time.Date.1] = MAX(Inventory[Time.Date.1]))),
"Consumo Total", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR1),
"Consumo 1", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR1,Inventory[Time.Month.1] = xMONTH1),
"Consumo 2", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR2,Inventory[Time.Month.1] = xMONTH2),
"Consumo 3", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR3,Inventory[Time.Month.1] = xMONTH3),
"Consumo 4", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR4,Inventory[Time.Month.1] = xMONTH4),
"Consumo 5", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR5,Inventory[Time.Month.1] = xMONTH5),
"Consumo 6", CALCULATE(SUM(Inventory[BaseQty]),Inventory[Time.Year] = xYEAR6,Inventory[Time.Month.1] = xMONTH6),
"Consumo Total Últ.6 meses", ROUND(CALCULATE(SUM(Inventory[BaseQty]),DATESINPERIOD(CalendarCons[Date],MAX(Inventory[Time.Date.1]),-6,MONTH)),4),
"Consumo Promedio Últ.6 meses", ROUND(CALCULATE(SUM(Inventory[BaseQty]),DATESINPERIOD(CalendarCons[Date],MAX(Inventory[Time.Date.1]),-6,MONTH))/6,4),
"Consumo Promedio año", ROUND(CALCULATE(SUM(Inventory[BaseQty]),DATESINPERIOD(CalendarCons[Date],MAX(Inventory[Time.Date.1]),-6,MONTH))/12,4)
)