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.
FYI: primera vez publicando, hágamelo saber si no está claro y voy a editar.
Creé este pequeño conjunto de datos para responder a la situación con la que estoy teniendo problemas en un modelo más grande.
2 tablas de hechos:
Línea de pedido de ventas: Tabla que muestra el registro de ventas: Entrega programada + Importe por pedido de ventas
Línea de factura de pedido de ventas: Tabla que muestra el registro de facturas: Fecha de factura + Importe por pedido de ventas
Estas son las tablas:
Gol:
Visualizar la evolución de las ventas netas (Suma de facturas) + trabajo pendiente (líneas de pedido de ventas abiertas) horas extras
Por ejemplo: Céntrese en SO1 + Utilice una segmentación de datos para cambiar la fecha:
Si: ver la fecha > 2020/07/15
-> SO1 es totalmente factura (Ventas Netas 100 a 50 en Mai +50 en julio)
-> Soso1 Atraso de SO1 a 0 : Atraso - Ventas - Ventas Netas Totales pasadas 100 - (50+50)
Si: 2020/5/15 <- fecha de visualización < 2020/7/15
-> SO1 es una factura parcial (Ventas netas 50 en Mai -> Porque la fecha de la factura es 2020/5/15 )
-> Trabajo pendiente de SO1 50 en julio: Atraso - Ventas - Ventas Netas Totales Pasadas 100 en Julio - 50
Si: 2020/3/01 <- fecha de visualización < 2020/5/15
-> SO1 no se factura : Ventas Netas 0
-> Trabajo pendiente de SO1 100 en julio: Atraso - Ventas - Ventas Netas Totales Pasadas 100 en Julio - 0
Si: ver fecha < 2020/3/01
SO1 no se creó: Ventas netas 0 & Atraso - 0
Modelo y Fórmula I probados:
Ventas Netas: CALCULATE(SUM(SO_Invoice[Amount]),USERELATIONSHIP(Sales_Order[Sales Order lines],SO_Invoice[Líneas de pedido de ventas]), FILTER(SO_Invoice,SO_Invoice[Fecha de factura]<-MAX(Sec_Calendar[Fecha])))
Ventas: CALCULATE(SUM(Sales_Order[Amount]),USERELATIONSHIP(Main_Calendar[Date],Sales_Order[Scheduled delivery date]))
Atraso - Ventas - Ventas Netas
-> He probado un montón de fórmula de trabajo pendiente diferente para tratar de desfiltrar el calendario en el cálculo, pero nunca estoy obteniendo el resultado esperado.
Esta captura de pantalla muestra mi resultado actual con esas fórmulas: (la fecha de vista es posterior a 2020/7/15, por lo que el SO1 está completamente facturado)
-> Las ventas netas son correctas
-> El atraso es incorrecto: Debe estar en 0 para cada mes (porque cuando la fecha de vista es posterior a 2020/7/15, SO1 está completamente facturado: Ventas - Ventas Netas Totales 100 - 50 - 50 a 0)
-> El trabajo pendiente debe estar en 0 aquí.
También me estoy uniendo al archivo PowerBi (enlace expirar en 2020/20/12) : WeTransfer Link
Funciona gracias !!!
Hay @Dante130
En su captura de pantalla, la fecha que seleccionó puede ser posterior o igual a 2020/07/15.
¿Quiere decir que cuando la fecha > 2020/07/15, Mes 5 mostrar -50 (50-100), Mes 7 show(50+50 -100) a 0?
¿Cuál debe dar lugar a la devolución de los atrasos si su fecha está entre 2020/03/01 y 2020/07/15 o si la fecha es anterior a 2020/03/01?
Por favor, muéstrame más detalles sobre el resultado que necesitas.
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias por su respuesta, edité mi post para tratar de hacerlo un poco más claro.
Y voy a tratar de desarrollar un poco aquí también:
Así que sólo nos centramos en SO1 por ahora.
Si la fecha de visualización > 2020/07/15
-> SO1 es totalmente factura (Ventas Netas 100 a 50 en Mai +50 en julio)
-> SO1 Backlog - 0 : Atraso - Ventas - Ventas Netas 100 - (50+50)
Si: 2020/5/15 <- fecha de visualización < 2020/7/15
-> SO1 es una factura parcial (Ventas netas 50 en Mai -> Porque la fecha de la factura es 2020/5/15 )
-> Trabajo pendiente de SO1 50 en julio (porque las ventas - ventas netas totales pasadas 100 en julio - 50)
Si: 2020/3/01 <- fecha de visualización < 2020/5/15
-> SO1 no se factura en absoluto: Ventas Netas 0
-> SO1 Backlog 100 en julio
Si: ver fecha < 2020/3/01
-> SO1 no se crea: Las ventas netas y el trabajo pendiente son nulos
Hay @Dante130
Puedes probar mi medida.
Medida:
Backkog - test 4 =
VAR _SelDate =
MAX ( Sec_Calendar[Date] )
VAR _YearMonth =
YEAR ( MAX ( Sales_Order[Scheduled delivery date] ) ) * 100
+ MONTH ( MAX ( Sales_Order[Scheduled delivery date] ) )
VAR _NetSale =
SUMX (
FILTER (
ALL ( SO_Invoice ),
SO_Invoice[Invoice date] <= _SelDate
&& SO_Invoice[Sales Order lines] = SELECTEDVALUE ( Sales_Order[Sales Order lines] )
),
SO_Invoice[Amount]
)
VAR _Result = [Sales] - _NetSale
RETURN
IF (
MAX ( Main_Calendar[YearMonth] ) = _YearMonth,
_Result
)
El resultado es el siguiente.
Por ejemplo, SO1, mostrará atrasos en julio.
Fecha de selección: 2020/08/10 > 2020/07/15 Resultado en julio de 100-50-50 a 0.
Fecha de selección: 2020/05/31 entre 2020/05/15 y 2020/07/15 Resultado en julio de 100-50.
Fecha de selección: 2020/04/13 antes de 2020/05/15 Resultado en julio de 100 euros.
Fecha de selección: 2020/02/22 antes de 2020/03/01 Resultado en julio - nulo.
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @RicoZhou ,
Gracias por su medida. Funciona según lo esperado al seleccionar un SO (SO1, SO2, SO3 o SO4).
Pero cuando seleccionamos 2 o más SO al mismo tiempo, no funciona. Traté de modificar su medida para tener esto en cuenta, pero aún no hay éxito de mi lado.
¿Alguna idea?
Hay @Dante130
Creo que puede que necesite cambiar su relación entre sus mesas para lograr su objetivo.
Medidas:
Sales 1223 =
VAR SelectedDate = MAX(Sec_Calendar[Date])
return
CALCULATE(SUM(Sales_Order[Amount]),Sales_Order[SO Created date]<=SelectedDate)
Measure 1223 =
VAR _SelDate =
MAX ( Sec_Calendar[Date] )
VAR _YearMonth =
YEAR ( MAX ( Sales_Order[Scheduled delivery date] ) ) * 100
+ MONTH ( MAX ( Sales_Order[Scheduled delivery date] ) )
VAR _NetSale =
SUMX (
FILTER (
ALL ( SO_Invoice ),
SO_Invoice[Invoice date] <= _SelDate
&& SO_Invoice[Sales Order lines] in VALUES( Sales_Order[Sales Order lines] )
),
SO_Invoice[Amount]
)
VAR _Result = [Sales 1223] - _NetSale
VAR OutPut =
IF (
MAX ( Main_Calendar[YearMonth] ) = _YearMonth,
_Result
)
RETURN OutPut
El resultado es el siguiente.
Debido a SO_invoice tabla no contiene SO4, por lo que el mes 10 mostrará 100 si date> , cree la fecha 2020/06/01.
Fecha: 2020/05/15 seleccione SO1 y SO2.
Si cambia su relación, es posible que deba actualizar o reconstruir sus otras medidas.
Puede descargar el archivo pbix desde este enlace: Archivo
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
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 |