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.
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.
OrderNumber | OrderStatus | Fecha de actualización |
1 | 2 | 22-09 |
2 | 1 | 22-09 |
3 | 1 | 22-09 |
4 | 2 | 22-09 |
2 | 2 | 23-09 |
5 | 1 | 23-09 |
3 | 2 | 24-09 |
6 | 2 | 24-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ía | 22-09 | 23-09 | 24-09 |
Númerode Pedidos liberados | 2 (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.
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.
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])
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] )
)
))
A continuación, podemos filtrar el estado abierto.
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.
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.
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)
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.
@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]))
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 | |
1 | |
1 |