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

Necesidad de comparar requisitos vs disponibilidad

Hola Dax Experts,

Tengo 3 mesas -

Tabla 1: MachineDetails (Máquina, Número de serie, Reparación obligatoria, Tipo de horas de reparación obligatorias, Ubicación). Esta tabla proporciona detalles de la máquina. El número de serie de la máquina será único. Reparación obligatoria proporciona información de que se requiere o no la reparación obligatoria. El tipo de horas de reparación obligatorias proporciona información de que es 500 horas de reparación o 1000 horas de reparación y la ubicación es la ubicación de esa máquina.

Máquina Número de serieReparación obligatoriaTipo de horas de reparación obligatoriasUbicación
A100Y500 horasX
A101N X
A102N X
A103Y1000 HorasX
B501Y500 horasZ
B502Y500 horasZ
B503N Z
B504N Z

Tabla 2: PiezasRequiradas (Máquina, Tipo de horas de reparación obligatorias, Número de pieza, Cantidad). Esta tabla proporciona información sobre las piezas necesarias para realizar la reparación obligatoria de la máquina. Para cada máquina, la cantidad de piezas para 500/1000 horas de reparación se puede obtener desde aquí.

MáquinaTipo de horas de reparación obligatoriasNº de piezaQty
A500 horasABC1231
A500 horasABC3451
A500 horasABC6781
A500 horasABC910111
A500 horasABC8871
A1000 HorasABC1231
A1000 HorasABC3451
A1000 HorasABC7651
A1000 HorasABC4451
A1000 HorasABC3401
B500 horasABC1231
B500 horasPQR7891
B1000 HorasABC1231
B1000 HorasPQR9901

Tabla 3: DealerStock (Distribuidor, Ubicación, Número de pieza, Stock). Esta tabla ofrece información sobre el stock de piezas del distribuidor. En un solo lugar solo estará un distribuidor.

ComercianteUbicaciónNº de piezaAcción
A1XABC1232
A1XABC3452
A1XABC6780
A1XABC910111
A1XABC8871
A1XABC7651
A1XABC44520
A1XABC34014
A1XPQR7894
A1XPQR99067
A2YABC1233
A2YABC3457
A2YABC6782
A2YABC910117
A2YABC8875
A2YABC7657
A2YABC4459
A2YABC3404
A2YPQR7892
A2YPQR9908

Las segmentaciones de datos en los informes serán Máquina y ubicación.

Quiero comparar el requisito de servicio frente a la disponibilidad con el tipo de hora de servicio obligatoria (de la tabla 1)

Si un usuario selecciona la ubicación X en el informe, el requisito será 2 (uno para 500 horas y otro para 1000 horas). Pero la disponibilidad será 1 como Parte - ABC678 está agotado para la ubicación X.

La salida esperada para la Ubicación X y la Máquina A será algo así como-

Developer_2202_0-1634883480870.png

Solicite que por favor ayude aquí.

@Greg_Deckler @parry2k @PaulDBrown @AllisonKennedy @amitchandak @AlexisOlson

¡Gracias de antemano!

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hola @Greg_Deckler ,

Muchas gracias por los aportes pero no está dando el resultado esperado.

Necesito tomar el recuento del número de serie de las máquinas cuando el servicio es posible, pero la medida devuelve 1 por 500 horas cuando se selecciona la máquina A.

Para el tipo de máquina A, se requieren dos servicios (para los números de serie 100 y 103).

Pero para el servicio de serie no 100 no es posible ya que una de las piezas requeridas (ABC678) está agotada.


Por lo tanto, cuando el usuario selecciona la máquina A. 1, el recuento debe venir como disponibilidad contra 1000 horas.

La salida de la medida muestra 1 contra 500 horas.

Developer_2202_0-1635145283755.png

Si es posible, ¿puedo tener PBIX también en el que lo haya resuelto? Será de gran ayuda y me aseguraré de que no estoy haciendo nada desapetado.

¡Muchas gracias de antemano!

Atentamente.

@Developer_2202 La medida que creé fue para la celda "Disponible" en su imagen. En realidad, no lo probaba en un archivo PBIX, por lo que el hecho de que no tuviera ningún error de sintaxis es un milagro.

Syndicate_Admin
Administrator
Administrator

@Developer_2202 Ok, así que es un poco difícil juntar las piezas del rompecabezas en esto y supongo que quisiste decir que ABC678 está agotado ya que es 0. Estoy pensando algo así como:

Available Measure =
  VAR __Machine = MAX('Table1'[Machine])
  VAR __LocationType = MAX('Table1'[TypeLocation])
  VAR __MandatoryRepairHours = MAX('Table1'[Mandatory Repair Hours])
  VAR __Table = 
    ADDCOLUMNS(
      ADDCOLUMNS(
        ADDCOLUMNS(
          FILTER(ALL('Table2'),[Machine]=__Machine && [MandatoryRepairHours]=__MandatoryRepairHours),
          "__LocationType",__LocationType
        ),
        "__Stock",
          VAR __PartNo = [Part No]
        RETURN
          MAXX(FILTER('Table3',[Part No]=__PartNo && [Location]=__LocationType),[Stock])
      ),
      "__Diff" = IF([Qty] <= [__Stock],1,0)
    )
  VAR __Count = COUNTROWS(FILTER(__Table, [__Diff] = 0))
RETURN
  IF(ISBLANK(__Count) || [__Count] = 0,0,1)

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.