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
sabrinafp
Regular Visitor

Columna de estado de las filas basadas en otras 8 columnas (para realizar un seguimiento del progreso)

¡Hola!

Estoy tratando de crear una fórmula DAX para generar un estado para uno de los procesos que administre en el trabajo. Podemos rastrear dónde están las cosas en función de un montón de diferentes columnas de fecha y datos de filete de diferentes maneras, pero realmente me gustaría obtener algunas estadísticas sobre cuántos elementos tenemos en cada etapa del proceso.

He subido un ejemplo de los datos a las hojas de Google por lo que es un poco más fácil entender lo que quiero decir: https://docs.google.com/spreadsheets/d/1SutkBB19HZc0sqDXOzvHZNzsJjEGm_uzfisIJFEV-Ek/edit?usp=sharing

Lo que quiero lograr es que cada fila muestre un estado generado automáticamente (consulte el enlace anterior).

En cuanto a los parámetros para el estado, estoy pensando algo como el siguiente. pero no puedo -por mi vida- averiguar cómo poner esto en una fórmula DAX.

  • Materiales solicitados:
    • fecha solicitada no está en blanco
    • fecha recibida está en blanco
    • fecha de devolución es en o después de hoy
  • Materiales atrasados:
    • fecha solicitada no está en blanco
    • fecha de devolución es antes de hoy
    • fecha recibida está en blanco
  • Materiales recibidos:
    • fecha recibida no está en blanco
    • fecha que la evidencia enviada está en blanco
  • Enviado a un moderador:
    • fecha recibida no está en blanco
    • fecha que la evidencia enviada no está en blanco
    • fecha evidencia enviada + 14 días es después de hoy
  • Informe atrasado:
    • fecha recibida no está en blanco
    • fecha que la evidencia enviada no está en blanco
    • prueba de fecha enviada + 14 días es antes de hoy
  • Informe recibido:
    • resultado se aprueba O no se aprueba
    • fecha de resolución no está en blanco
    • informe de fecha enviado está en blanco
  • Informe enviado
    • resultado se aprueba O no se aprueba
    • fecha de resolución no está en blanco
    • informe de fecha enviado no está en blanco
  • Materiales nunca recibidos:
    • fecha solicitada no está en blanco
    • fecha recibida está en blanco
    • fecha de resolución no está en blanco
    • resultado no es válido o no cumple

He estado rompiendo mi cerebro para entender esto, creo que lo he mirado demasiado tiempo y definitivamente lo estoy complicando demasiado. He manejado algo muy cercano a lo que quería creando algunas medidas y conectándolo todo con fórmulas IF anidadas, pero no puedo obtener todos los estados allí con precisión. He estado tratando de encontrar otras soluciones durante horas, pero ya no puedo, así que pensé en pedir ayuda 😊

¿Puede uno de ustedes gente encantadora por favor guiarme en la dirección correcta para resolver esto? Cualquier pequeña ayuda será muy apreciada.

Salud

Sabrina

1 ACCEPTED SOLUTION

Esto nos lleva la mayor parte del camino hasta que se resuelva la duplicación que acondé hace antes. El truco con SWITCH es conseguir las cosas en el orden correcto, porque si una prueba no es muy específica, atrapará muchas más filas de las que debería.

Status =
SWITCH (
    TRUE (),
    NOT ( ISBLANK ( 'Table'[Date Requested] ) )
        && ISBLANK ( 'Table'[Date Received] )
        && NOT ( ISBLANK ( 'Table'[Date Resolved] ) )
        && OR ( 'Table'[Result] = "Invalid", 'Table'[Result] = "Non-Compliant" ), "Materials Never Received",
    NOT ( ISBLANK ( 'Table'[Date Requested] ) )
        && ISBLANK ( 'Table'[Date Received] )
        && 'Table'[Date Return Due] >= TODAY (), "Materials Requested",
    NOT ( ISBLANK ( 'Table'[Date Requested] ) )
        && 'Table'[Date Return Due] <= TODAY ()
        && ISBLANK ( 'Table'[Date Received] ), "Materials Overdue",
    NOT ( ISBLANK ( 'Table'[Date Received] ) )
        && ISBLANK ( 'Table'[Date Evidence Sent] ), "Materials Received",
    OR ( 'Table'[Result] = "Approved", 'Table'[Result] = "Not Approved" )
        && NOT ( ISBLANK ( 'Table'[Date Resolved] ) )
        && ISBLANK ( 'Table'[Date Report Sent] ), "Report Received",
    OR ( 'Table'[Result] = "Approved", 'Table'[Result] = "Not Approved" )
        && NOT ( ISBLANK ( 'Table'[Date Resolved] ) )
        && NOT ( ISBLANK ( 'Table'[Date Report Sent] ) ), "Report Sent",
    NOT ( ISBLANK ( 'Table'[Date Received] ) )
        && NOT ( ISBLANK ( 'Table'[Date Evidence Sent] ) )
        && 'Table'[Date Evidence Sent] + 14
            > TODAY (), "Sent to a Moderator",
    NOT ( ISBLANK ( 'Table'[Date Received] ) )
        && NOT ( ISBLANK ( 'Table'[Date Evidence Sent] ) )
        && 'Table'[Date Evidence Sent] + 14
            < TODAY (), "Report Overdue"
)

2020-08-19 16_41_17-Untitled - Power BI Desktop.png

Espero que esto ayude

David

View solution in original post

3 REPLIES 3
dedelman_clng
Community Champion
Community Champion

Hola @sabrinafp -

Tiene duplicados en su ejemplo

4 2020-07-31 2020-08-01 2020-08-02 2020-08-03 Enviado a un moderador
5 2020-07-31 2020-08-01 2020-08-02 2020-08-03 Informe atrasado

10 2020-08-02 2020-08-03 Enviado a un moderador
11 2020-08-02 2020-08-03 Informe atrasado

Si puede resolver esos duplicados, probablemente podemos hacerlo con una columna calculada y un comando SWITCH.

Esto nos lleva la mayor parte del camino hasta que se resuelva la duplicación que acondé hace antes. El truco con SWITCH es conseguir las cosas en el orden correcto, porque si una prueba no es muy específica, atrapará muchas más filas de las que debería.

Status =
SWITCH (
    TRUE (),
    NOT ( ISBLANK ( 'Table'[Date Requested] ) )
        && ISBLANK ( 'Table'[Date Received] )
        && NOT ( ISBLANK ( 'Table'[Date Resolved] ) )
        && OR ( 'Table'[Result] = "Invalid", 'Table'[Result] = "Non-Compliant" ), "Materials Never Received",
    NOT ( ISBLANK ( 'Table'[Date Requested] ) )
        && ISBLANK ( 'Table'[Date Received] )
        && 'Table'[Date Return Due] >= TODAY (), "Materials Requested",
    NOT ( ISBLANK ( 'Table'[Date Requested] ) )
        && 'Table'[Date Return Due] <= TODAY ()
        && ISBLANK ( 'Table'[Date Received] ), "Materials Overdue",
    NOT ( ISBLANK ( 'Table'[Date Received] ) )
        && ISBLANK ( 'Table'[Date Evidence Sent] ), "Materials Received",
    OR ( 'Table'[Result] = "Approved", 'Table'[Result] = "Not Approved" )
        && NOT ( ISBLANK ( 'Table'[Date Resolved] ) )
        && ISBLANK ( 'Table'[Date Report Sent] ), "Report Received",
    OR ( 'Table'[Result] = "Approved", 'Table'[Result] = "Not Approved" )
        && NOT ( ISBLANK ( 'Table'[Date Resolved] ) )
        && NOT ( ISBLANK ( 'Table'[Date Report Sent] ) ), "Report Sent",
    NOT ( ISBLANK ( 'Table'[Date Received] ) )
        && NOT ( ISBLANK ( 'Table'[Date Evidence Sent] ) )
        && 'Table'[Date Evidence Sent] + 14
            > TODAY (), "Sent to a Moderator",
    NOT ( ISBLANK ( 'Table'[Date Received] ) )
        && NOT ( ISBLANK ( 'Table'[Date Evidence Sent] ) )
        && 'Table'[Date Evidence Sent] + 14
            < TODAY (), "Report Overdue"
)

2020-08-19 16_41_17-Untitled - Power BI Desktop.png

Espero que esto ayude

David

¡Muchas gracias por este @dedelman_clng! Funciona perfectamente con el conjunto de datos real Y me pensaste algo.

¡Eres un maldito LEGEND!

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.