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

Selección de la orden de compra más reciente, la fecha obligatoria y la cantidad ordenada

Tengo una tabla que tiene órdenes de compra enumeradas así:

PurchaseOrderNoCódigo de artículoItemCodeDescCantidadPedidoCantidadRecibidoFecha requeridaIslessthanRecibido
010409800-201111SP * JUNTA TÓRICA, COMPOSICIÓN DE FLUOROCARBONO2002004/28/2022NoR
010428600-201111SP * JUNTA TÓRICA, COMPOSICIÓN DE FLUOROCARBONO40405/12/2022NoR
010470000-201111SP * JUNTA TÓRICA, COMPOSICIÓN DE FLUOROCARBONO40406/17/2022NoR
010478100-201111SP * JUNTA TÓRICA, COMPOSICIÓN DE FLUOROCARBONO40406/30/2022NoR
010490700-201111SP * JUNTA TÓRICA, COMPOSICIÓN DE FLUOROCARBONO40407/1/2022NoR
010679000-201111SP * JUNTA TÓRICA #2-011, FKM 90 DUR4002/20/2023Menos


¿Cómo escribiría una medida para obtener la orden de compra, la fecha requerida y la cantidad ordenada más recientes?

Entonces, para este artículo, esperaría 0106790 40pcs 02/20/2023.

Tengo mucha más lógica que voy a tener que agregar a esto, pero esto me ayudaría a llegar a un buen punto de partida para comenzar. En este momento tengo una medida simple que solo toma el max (POnumber), ¿qué función podría usar para luego concatinar la fecha QTY y Req de esa medida de número maxpo?

Cualquier ayuda sería apreciada.

¡Gracias!

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@CalebR Probar:

Measure =
  VAR __PO = MAX('Table'[PurchaseOrderNo])
  VAR __Qty = MAXX(FILTER('Table',[PurchaseOrderNo] = __PO),[QuantityOrdered])
  VAR __Req = MAXX(FILTER('Table',[PurchaseOrderNo] = __PO),[RrequiredDate])
  VAR __Result = __PO & " " & __Qty & "pcs " & __Req
RETURN
  __Result

@Greg_Deckler ¡Gracias, esto funciona perfecto! ¿Sabes si hay una manera de agarrar la segunda fecha más reciente también? Le estoy agregando más lógica y, básicamente, si la orden de compra más reciente no tiene suficiente para cubrir la cantidad necesaria, también quiero devolver la segunda orden de compra más reciente. ¿Hay alguna manera de hacer esto sin indexar? Estoy más familiarizado con SQL y sé que puedes hacer algo como

..MAX(PO_PurchaseOrderDetail[PurchaseOrderNo], -1) allí. ¿Es esto posible con Dax?

¡No importa, creo que lo he descubierto! Para cualquier persona futura que tropiece con esto:

Utilice la medida que Greg proporcionó

DÓNDE PO = ..MAX(PO_PurchaseOrderDetail[PurchaseOrderNo])

y agregue esto en él:
DÓNDE PREVPO = CALCULAR(..MAX(PO_PurchaseOrderDetail[PurchaseOrderNo]), PO_PurchaseOrderDetail[PurchaseOrderNo] < PO)

Eso le dará el número de orden de compra antes del máximo y luego puede obtener toda la otra información que necesita como tal:
Detalles =
DÓNDE PO = ..MAX(PO_PurchaseOrderDetail[PurchaseOrderNo])
DÓNDE PREVPO = CALCULAR(..MAX(PO_PurchaseOrderDetail[PurchaseOrderNo]), PO_PurchaseOrderDetail[PurchaseOrderNo] < PO)
DÓNDE Rec = MAXX(FILTRO(PO_PurchaseOrderDetail,[PurchaseOrderNo] = PO),[Received])
DÓNDE PREVREC = MAXX(FILTRO(PO_PurchaseOrderDetail,[PurchaseOrderNo] = PREVPO),[Received])
DÓNDE Cantidad = MAXX(FILTRO(PO_PurchaseOrderDetail,[PurchaseOrderNo] = PO),[QuantityOrdered])
DÓNDE PREVQTY = MAXX(FILTRO(PO_PurchaseOrderDetail,[PurchaseOrderNo] = PREVPO),[QuantityOrdered])
DÓNDE Req = MAXX(FILTRO(PO_PurchaseOrderDetail,[PurchaseOrderNo] = PO),[RequiredDate])
DÓNDE PREVREQ = MAXX(FILTRO(PO_PurchaseOrderDetail,[PurchaseOrderNo] = PREVPO),[RequiredDate])
DEVOLUCIÓ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.