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
Anonymous
Not applicable

Número de pedido hasta una fecha

Oye

Estoy tratando de contar el número de orden de un cierto estatus hasta una fecha determinada. Los datos se indican en la siguiente tabla.

OrderNumberOrderStatusFecha de actualización
1222-09
2122-09
3122-09
4222-09
2223-09
5123-09
3224-09
6224-09

Aquí todos los días el pedido se añade una nueva lista de pedidos a la tabla. Las órdenes liberadas (1) que están terminadas (2) también se agregan a la tabla. Quiero mostrar el número de lanzados con el tiempo y saber si esto aumenta o disminuye con el tiempo. El valor de cada día se indica en esta tabla.

Día22-0923-0924-09
Númerode Pedidos liberados2 (Para pedidos 2 y 3)2 (Para el pedido 3 y 5, la orden 2 cambia a terminada)1 (Para el pedido 5, la orden 3 cambia a terminada)

Quiero saber cómo puedo calcular el número de pedidos liberados.

4 REPLIES 4
v-zhenbw-msft
Community Support
Community Support

Hola @Thomas7 ,

Podemos crear tres columnas y una medida para satisfacer sus necesidades.

1. Necesitamos crear una tabla de fechas que no tenga ninguna relación con la tabla de hechos.

number1.jpg

2. Cree una columna en Tabla para obtener la fecha de cierre.

Close_date = 
CALCULATE(
    MIN('Table'[Update date]),
    FILTER('Table','Table'[OrderNumber]=EARLIER('Table'[OrderNumber]) && 'Table'[OrderStatus]="closed"))

3. Cree dos columnas para obtener las fechas entre la fecha de apertura y la fecha de cierre.

Lowisnew = 
CALCULATE(
    COUNTROWS('Table'),
    FILTER(
        ALL('Table'),
        'Table'[OrderNumber]=EARLIER('Table'[OrderNumber])
        && 'Table'[Update date]>EARLIER('Table'[Update date])))+1

New date = 
VAR EXPIRE = 
Calculate(
    MIN('Table'[Update date]),
    FILTER(ALL('Table'),
    'Table'[OrderNumber]=EARLIER('Table'[OrderNumber])
    &&'Table'[Lowisnew]=(EARLIER('Table'[Lowisnew])-1)))
RETURN
IF('Table'[OrderStatus]="open",IF(ISBLANK(EXPIRE), MAX('Dates'[Date]),EXPIRE-1),'Table'[Close_date])

number2.jpg

4. Por fin podemos crear una medida para obtener el resultado.

Active = 
CALCULATE (
    COUNT( 'Table'[OrderNumber]) ,
    FILTER (
        'Table',
        (
           'Table'[Update date] <= MIN ( Dates[Date] )
                && 'Table'[New date] >= MAX ( Dates[Date] )
               
        )
    ))

number3.jpg

A continuación, podemos filtrar el estado abierto.

number4.jpg

Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?

Saludos

Equipo de apoyo a la comunidad _ zhenbw

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

BTW, pbix como adjunto.

Anonymous
Not applicable

Oye

Esto cumple con los requisitos. Tengo una pregunta extra. El estado de la orden no es un número, pero es un texto con abreviaturas multipolo. Sólo necesito la primera parte de este estatus.


Por lo tanto, el estado del pedido es el siguiente:

Estado del pedido
clsd cnf
clsd prt
teco cnf
teco nmat
Opn prt
Opn nmat

¿Es que tan posible mostrar solo los pedidos de Opn?

He ordenado todos estos estados en una tabla diferente donde el estado es Cerrado, Teco o Abierto.

Hola @Thomas7 ,

Si desea mostrar las filas que contienen "OPEN", hay dos maneras de hacer referencia.

1. En Power Query Editor, podemos agregar una columna condicional y filtrarla.

number1.jpg

number2.jpg

2. Podemos crear una medida y ponerla en Filtro en este objeto visual, luego configurarla como 1.

Measure = 
var _left = LEFT(MAX('Table (2)'[Order Status ]),1)
return
IF(
    _left="O",1,0)

number3.jpg

Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?

Saludos

Equipo de apoyo a la comunidad _ zhenbw

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

BTW, pbix como adjunto.

amitchandak
Super User
Super User

@Thomas7 , Pruebe una medida como

medida :
if( countx(filter(all(Table) , Table[Date] <-max(Table[Date]) && Table[OrderStatus]-2 && Table[OrderNumber] á max(Table[OrderNumber]) ), discount(Table[OrderNumber]))+0
- countx(filter(all(Table) , Table[Date] <-max(Table[Date]) && Table[OrderNumber] á max(Table[OrderNumber]) ), discount(Table[OrderNumber]))+0 á 0 , blank(), distinctcount(Table[OrderNumber]))

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.