Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Mi primer post. He buscado esta respuesta y no la encuentro. Puede que no esté preguntando incorrectamente, pero poco a poco me estoy marchitando sobre esto, ya que parece simple por adelantado.
Se me ha pedido que cree una especie de pronóstico. El problema que estoy corriendo en es que i no puede parecer para averiguar cómo alterar una medida de calucation basado en meses. Para el mes actual necesito agregar Qty real a mi mano a mi cálculo para encontrar una balalnce sin embargo para el mes siguiente necesito usar ese saldo como el saldo inicial y a partir de ahí cada cálculo mensual se basa en el saldo de meses anteriores. Así que básicamente necesito una declaración if que calculará el mes actual de manera diferente que otros meses.
Cualquier ayuda que apunte en una dirección es apreciada. La siguiente funciona sin embargo la instrucción if siempre es false- porque me falta algo.
•if(LOOKUPVALUE(Table1[CC_monthnum], [CC_CurrentMonth], "Current") <> (Month(today())),
CALCULATE(sum(PorMasterDetail[MOrderQty]) + ([M_PreMonthBalanceNew])-[M_MthForecastBalance]),
CALCULATE(sum(Merge2[PorMasterDetail.MOrderQty]) + sum(InvMaster[CC_QtyOnHand]) - [M_MthForecastBalance],filter('Calendar', month(today()))))
Solved! Go to Solution.
Hola @charlessutton
Según la instantánea, parece que ya aplica el filtro de fecha en las tablas. No estoy tan seguro de si la siguiente fórmula de medida funciona completamente en el lado de Excel, puede probarlo si funcionan de su lado:
Current Month Balance =
CALCULATE (
SUM ( 'Inventory'[QtyOnHand ] ),
ALLSELECTED ( 'Inventory' ),
VALUES ( 'Inventory'[Stock Code] )
)
+ CALCULATE (
SUM ( 'Purchases'[PO OrderQty] ),
ALLSELECTED ( 'Purchases' ),
VALUES ( 'Purchases'[Stock Code] )
)
- (
CALCULATE (
SUM ( 'Forecast'[ForecastOrderQty ] ),
ALLSELECTED ( 'Forecast' ),
VALUES ( 'Forecast'[Stock Code] )
)
- CALCULATE (
SUM ( 'WorkOrder'[M_AllocatedWIP] ),
ALLSELECTED ( 'WorkOrder' ),
VALUES ( 'WorkOrder'[Stock Code] )
)
)
Subsequent Months Balance =
VAR curDate =
MAX ( 'Calendar'[Date] )
VAR summary =
SUMMARIZE (
FILTER (
ALLSELECTED ( Calendar ),
[Date]
< DATE ( YEAR ( currDate ), MONTH ( currDate ) - 1, 1 )
),
"Balance", [Current Month Balance]
)
RETURN
SUMX ( summary, [Balance] )
+ CALCULATE (
SUM ( 'Purchases'[PO OrderQty] ),
ALLSELECTED ( 'Purchases' ),
VALUES ( 'Purchases'[Stock Code] )
)
+ CALCULATE (
SUM ( 'WorkOrder'[M_AllocatedWIP] ),
ALLSELECTED ( 'WorkOrder' ),
VALUES ( 'WorkOrder'[Stock Code] )
)
- CALCULATE (
SUM ( 'Forecast'[ForecastOrderQty ] ),
ALLSELECTED ( 'Forecast' ),
VALUES ( 'Forecast'[Stock Code] )
)
saludos
Xiaoxin Sheng
HI @charlessutton,
Según su descripción, creo que necesita extraer la fecha actual y la fecha más reciente y utilizarlas en las condiciones de la instrucción if. (max, min u otras funciones agregadas pueden obtener el valor actual, para la última fecha, creo que necesita utilizar maxx)
Me gustaría algunos datos ficticios con estructuras de datos similares y resultados esperados para probar, que debe ayudar a probar y codificar la fórmula,
Cómo obtener respuesta rápida a su pregunta
saludos
Xiaoxin Sheng
Gracias por su respuesta. Sus comentarios han desencadenado algunas ideas. Aquí hay 4 tablas como ejemplo de datos.
Necesidad de una sola medida
Saldo del mes actual (QtyOnHand + PO OrderQty)-(ForecastOrderQty-M_AllocatedWIP)
Saldo de Meses Subsiguientes (Balance + Pedido de pedidodeQty)-(ForecastOrderQty-M_AllocatedWIP)
Hola @charlessutton
Según la instantánea, parece que ya aplica el filtro de fecha en las tablas. No estoy tan seguro de si la siguiente fórmula de medida funciona completamente en el lado de Excel, puede probarlo si funcionan de su lado:
Current Month Balance =
CALCULATE (
SUM ( 'Inventory'[QtyOnHand ] ),
ALLSELECTED ( 'Inventory' ),
VALUES ( 'Inventory'[Stock Code] )
)
+ CALCULATE (
SUM ( 'Purchases'[PO OrderQty] ),
ALLSELECTED ( 'Purchases' ),
VALUES ( 'Purchases'[Stock Code] )
)
- (
CALCULATE (
SUM ( 'Forecast'[ForecastOrderQty ] ),
ALLSELECTED ( 'Forecast' ),
VALUES ( 'Forecast'[Stock Code] )
)
- CALCULATE (
SUM ( 'WorkOrder'[M_AllocatedWIP] ),
ALLSELECTED ( 'WorkOrder' ),
VALUES ( 'WorkOrder'[Stock Code] )
)
)
Subsequent Months Balance =
VAR curDate =
MAX ( 'Calendar'[Date] )
VAR summary =
SUMMARIZE (
FILTER (
ALLSELECTED ( Calendar ),
[Date]
< DATE ( YEAR ( currDate ), MONTH ( currDate ) - 1, 1 )
),
"Balance", [Current Month Balance]
)
RETURN
SUMX ( summary, [Balance] )
+ CALCULATE (
SUM ( 'Purchases'[PO OrderQty] ),
ALLSELECTED ( 'Purchases' ),
VALUES ( 'Purchases'[Stock Code] )
)
+ CALCULATE (
SUM ( 'WorkOrder'[M_AllocatedWIP] ),
ALLSELECTED ( 'WorkOrder' ),
VALUES ( 'WorkOrder'[Stock Code] )
)
- CALCULATE (
SUM ( 'Forecast'[ForecastOrderQty ] ),
ALLSELECTED ( 'Forecast' ),
VALUES ( 'Forecast'[Stock Code] )
)
saludos
Xiaoxin Sheng