Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Syndicate_Admin
Administrator
Administrator

Count Ordernumbers se basan en el valor duplicado

Hola

Tengo la siguiente tabla:

Número de pedidofechaestado
888825.04.2021A
777725.04.2021A
111125.04.2021A
111125.04.2021D
222225.04.2021A
222225.04.2021D
333325.04.2021A
333325.04.2021D
444425.04.2021D
555525.04.2021D

Los números de pedido con D son las órdenes que logramos enviar hoy ya. Estado A las órdenes son las sobras retrasadas de ayer que "tuvieron" que convertirse en D más tarde hoy. Esa es la razón por la que estas órdenes tienen una "A" y una contraparte "D". Esa es la razón por la que las órdenes con "A" sólo se actualizan una vez al día, de lo contrario se sobrescribirían con "D" y no se puede decir la perfomance real de hoy.

Así que para calcular el rendimiento de hoy en día no sólo contar de órdenes D menos recuento de órdenes A. En realidad, cuenta todas las órdenes "D" menos las órdenes "D", que también tiene una contraparte de estado "A".

En los datos de muestra anteriores 2 debe ser el resultado.
Gracias de antemano!
mejor.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola @Applicable88

Una medida como esta debería funcionar:

Performance = 
VAR Orders_D = 
    CALCULATETABLE ( 
        VALUES ( Orders[Ordernumber] ),
        Orders[Status] = "D"
    )
VAR Orders_A = 
    CALCULATETABLE ( 
        VALUES ( Orders[Ordernumber] ),
        Orders[Status] = "A"
    )
RETURN
    COUNTROWS ( EXCEPT ( Orders_D, Orders_A ) )

La lógica consiste en tomar el conjunto de órdenes con el estado D y quitar pedidos con el estado A mediante EXCEPT. Las órdenes con el estado A pero no el estado D no influirán en el resultado.

Con sus datos de muestra,

  • Orders_D = { 1111, 2222, 3333, 4444, 5555 }
  • Orders_A = { 1111, 2222, 3333, 7777, 8888 }
  • EXCEPT ( Orders_D, Orders_A ) = { 4444, 5555 }

saludos

Owen

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hola @Applicable88

Una medida como esta debería funcionar:

Performance = 
VAR Orders_D = 
    CALCULATETABLE ( 
        VALUES ( Orders[Ordernumber] ),
        Orders[Status] = "D"
    )
VAR Orders_A = 
    CALCULATETABLE ( 
        VALUES ( Orders[Ordernumber] ),
        Orders[Status] = "A"
    )
RETURN
    COUNTROWS ( EXCEPT ( Orders_D, Orders_A ) )

La lógica consiste en tomar el conjunto de órdenes con el estado D y quitar pedidos con el estado A mediante EXCEPT. Las órdenes con el estado A pero no el estado D no influirán en el resultado.

Con sus datos de muestra,

  • Orders_D = { 1111, 2222, 3333, 4444, 5555 }
  • Orders_A = { 1111, 2222, 3333, 7777, 8888 }
  • EXCEPT ( Orders_D, Orders_A ) = { 4444, 5555 }

saludos

Owen

Gracias de nuevo @OwenAuger.

Encontré el problema. Mi última función no fue la correcta. Una suma simple fue suficiente y después funcionó.

mejor.

@OwenAuger !

Muchas gracias que funciona para los números de pedido.

Olvidé mencionar que tengo otra columna (Posiciones de entregas) que esta vez debe resumirse en la base de la lógica anterior, así que sólo sumar estas posiciones de entrega de los 2 pedidos. Lo intenté con calcular suma y sumx, así, pero siempre obtejo un error o valor vacío y a veces un número mucho mayor. Como pueden ver, cambié la última línea para sumar en lugar de contar:

Performance = 
VAR Orders_D = 
    CALCULATETABLE ( 
        VALUES ( Orders[Ordernumber] ),
        Orders[Status] = "D"
    )
VAR Orders_A = 
    CALCULATETABLE ( 
        VALUES ( Orders[Ordernumber] ),
        Orders[Status] = "A"
    )
RETURN
calculate( SUMX(Orders,Orders[Deliverypositions]), EXCEPT ( Orders_D, Orders_A ) )

    

¿Necesito una fórmula más para obtener la suma de la posición?

Espero poder usar el mismo enfoque para las deliverypositions también.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.