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
jitpbi
Post Patron
Post Patron

medir usando Si con múltiples condiciones

Hola

A continuación se muestra el conjunto de datos de ejemplo de mi conjunto de datos real:

DispositivoEstadoDatetime
Abien10/23/2020 8:10:00 AM
ADefectuoso10/23/2020 4:15:00 PM
Abien10/24/2020 11:10:00 AM
Bbien10/23/2020 8:10:00 AM
Bbien10/23/2020 4:15:00 PM
BDefectuoso10/24/2020 11:10:00 AM
CDefectuoso10/23/2020 8:10:00 AM
Cbien10/23/2020 4:15:00 PM
CDefectuoso10/24/2020 11:10:00 AM

Tengo que mostrar los nombres de esos dispositivos cuyo estado más reciente es defectuoso.

Intenté sin éxito el siguiente dax para crear una medida:

faulty_device de la tabla de archivos if('Table'[Status]-" Faulty" && Table[DateTime]-max(Equipment[DateTime]), CONCATENATEX(Table,Table[Device], "is faulty device","No Device is faulty Currently Currently"))
Por favor, sugiera cómo lograr esto.
Gracias
1 ACCEPTED SOLUTION

HOLA @jitpbi,

Parece que me olvido de empacar con funciones de agregado, por favor pruebe este si funciona:

faulty_device =
VAR currSatatus =
    SELECTEDVALUE ( 'Table'[Status] )
VAR _lastDate =
    CALCULATE (
        MAX ( Equipment[DateTime] ),
        ALLSELECTED ( Table ),
        VALUES ( 'Table'[Device] )
    )
RETURN
    IF (
        currSatatus = " Faulty"
            && MAX( Table[DateTime] ) = _lastDate,
        CONCATENATEX ( VALUES ( Table[Device] ), [Device], "is faulty device" ),
        "No Device is faulty Currently"
    )

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

5 REPLIES 5
v-shex-msft
Community Support
Community Support

Hola @jitpbi,

Puede intentar utilizar la siguiente fórmula de medida si funciona de su lado:

faulty_device =
VAR currSatatus =
    SELECTEDVALUE ( 'Table'[Status] )
VAR _lastDate =
    CALCULATE (
        MAX ( Equipment[DateTime] ),
        ALLSELECTED ( Table ),
        VALUES ( 'Table'[Device] )
    )
RETURN
    IF (
        currSatatus = " Faulty"
            && Table[DateTime] = _lastDate,
        CONCATENATEX ( VALUES ( Table[Device] ), [Device], "is faulty device" ),
        "No Device is faulty Currently"
    )

Si esto no ayuda, por favor comparta algunos datos ficticios para probar la fórmula de codificación.

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

Hola @v-shex-msft ,

Al intentar usar la fórmula de medida que compartió, no acepta Table[DateTime] en la fórmula.

faulty_device de la casa de los
CURrSatatus de VAR ?
SELECTEDVALUE ( 'Tabla'[Estado] )
VAR _lastDate ?
CALCULAR (
MAX ( Equipo[Fecha Y Hora] ),
ALLSELECTED ( Tabla ),
VALORES ( 'Tabla'[Dispositivo] )
)
devolución
SI (
currSatatus "Fallo"
&& Tabla[DateTime] - _lastDate,
CONCATENATEX ( VALUES ( Table[Device] ), [Device], "is faulty device" ),
"Ningún dispositivo está defectuoso actualmente"
)
Gracias

HOLA @jitpbi,

Parece que me olvido de empacar con funciones de agregado, por favor pruebe este si funciona:

faulty_device =
VAR currSatatus =
    SELECTEDVALUE ( 'Table'[Status] )
VAR _lastDate =
    CALCULATE (
        MAX ( Equipment[DateTime] ),
        ALLSELECTED ( Table ),
        VALUES ( 'Table'[Device] )
    )
RETURN
    IF (
        currSatatus = " Faulty"
            && MAX( Table[DateTime] ) = _lastDate,
        CONCATENATEX ( VALUES ( Table[Device] ), [Device], "is faulty device" ),
        "No Device is faulty Currently"
    )

saludos

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
CNENFRNL
Community Champion
Community Champion

@jitpbi, ¿cuál es la relación con la mesa y el equipo (cardinalidad y dirección)? Como usted sabe, la relación juega un papel crítico a la hora de crear medidas.

Por el momento, se me ocurrió una medida basada en la mesa única como esta,

Faulty Devices = 
VAR __tb =
    FILTER (
        FILTER (
            'Table',
            'Table'[Datetime]
                = CALCULATE ( MAX ( 'Table'[Datetime] ), ALLEXCEPT ( 'Table', 'Table'[Device] ) )
        ),
        'Table'[Status] = "Faulty"
    )
RETURN
    CONCATENATEX ( __tb, 'Table'[Device], UNICHAR ( 10 ) )

Cuando se arrastra a una tarjeta de visualización, vuelve

Screenshot 2020-10-26 002518.png


Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is still way beyond their comprehension!

DAX is simple, but NOT EASY!

Fowmy
Super User
Super User

@jitpbi

Agregue la siguiente medida;

Faulty Devices = 
VAR __STATUS =  LASTNONBLANKVALUE(Table5[Datetime],MAX(Table5[Status]))  RETURN
IF( __STATUS = "Faulty", __STATUS , BLANK() )

Fowmy_0-1603624102580.png

________________________

Si mi respuesta fue útil, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂

Youtube Linkedin

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

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.