Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Anonymous
Not applicable

Mejor enfoque para manejar múltiples OR anidados y y y

todo

He comenzado a trabajar en un rquirement donde el color de fondo condicional necesita ser aplicado para una columna (Nombre de columna - Comentarios de programación) basado en la condición siguiente.

Si los comentarios de programación no contiene ("cerrar" o "cerrar" O "cerrar" O "completar") Y la programación de comentarios no contiene ("no facturar" o "aprobación para facturar" O "no facturar" O "no factura" O "hora de esfuerzo aprobada" O "real aprobado" O "han sido factura" O "horas para facturar" O "hora aprobada" O "horas aprobadas" O "total aprobado contractual" O "factura" O "horas") Y método de facturación - "No facturable - Interno" Y comentarios de programación contiene ("hora facturable" O "hora facturable" O "horas facturables" O "facturables" cantidad" O "horas aprobadas")

Soy nuevo en PowerBI y aprendí que tengo que usar Nested OR's & AND's para esto en DAX. ¿es esa la solución factible para resolver esto? o cuál es la mejor manera de manejar esta lógica de formato condicional?

11 REPLIES 11
V-lianl-msft
Community Support
Community Support

Hola @karthi_powerbi ,

En primer lugar, las palabras clave se dividen en dos columnas como una tabla, una son las palabras clave que se incluirán y la otra son las palabras clave no incluidas.

Cree una medida como esta y aplíquela en formato condicional:

Measure = 
IF(
      NOT(SUMX('Table (2)',
           FIND(
                UPPER('Table (2)'[not contains]),
                UPPER(MAX('Table'[Scheduling Comments])),
                ,0
               )
          ))&&MAX('Table'[Billing Method])="Non-Billable - Internal"&&
         SUMX('Table (2)',
           FIND(
                UPPER('Table (2)'[contains]),
                UPPER(MAX('Table'[Scheduling Comments])),
                ,0
               )),
      1,
      0
     )

test_conditional-formatting.PNG

Muestra .pbix

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

Hola @V-lianl-msft ,

No puedo descargar el archivo de ejemplo que ha adjuntado (su enlace de punto compartido está restringido en nuestra red de cliente).

¿Puede adjuntar el archivo en el propio foro?

Hola @karthi_powerbi ,

Lo sentimos, sólo puedo compartir .pbix a través de compartir enlace por el momento.

No he probado las diferencias de rendimiento que mencionaste, pero es más fácil mantener los datos con la tabla.

También puede utilizar la función "VAR" para crear variables para SUMX....... para optimizar el rendimiento de DAX.

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

¿Puedes tomar capturas de pantalla y adjuntar aquí? Estoy tratando de entender cómo se unió a la nueva tabla con la real ? ¿Está en Modelado de Datos? ¿O no se requiere ninguna unión entre la tabla real y la nueva?

Anonymous
Not applicable

HI @V-lianl-msft , ¿puedes compartir las capturas de pantalla?

Anonymous
Not applicable

Escribí algo como esto, pero no estoy obteniendo el resultado esperado. lo que falta?

Programación de colores: IF(ISBLANK('Request to Close/Cancel'[Scheduling Comments]),"Yellow" ,IF(CONTAINSSTRING('Request to Close/Cancel'[Scheduling Comments],"cancel"),"#BFBFBF",IF( NOT(CONTAINSSTRING('Request to Close/Cancel'[Scheduling Comments],"close")) CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"cierre' CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"cierre' CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"completar") && NO (CONTAINSSTRING('Solicitud de cerrar/Cancelar'[Programación de comentarios],"no facturar") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"aprobación de la factura") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"no facturar" CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios], "sin factura") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"hora de esfuerzo aprobada") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"reals aprobados" CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"han sido facturas") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"horas para facturar") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"hora aprobada") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"horas aprobadas") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"hora de esfuerzo aprobada") CONTAINSSTRING(('Solicitud de cierre/cancelación'[Programación de comentarios]), "total contractual aprobado") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"facturar" CONTAINSSTRING('Request to Close/Cancel'[Scheduling Comments],"hours")) && CONTAINSSTRINGEXACT('Request to Close/Cancel'[Billing Method],"No facturable - Interno") && CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"hora facturable" ) CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"horas facturables" ) CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"horas facturables" ) CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"cantidad facturable") CONTAINSSTRING('Solicitud de cierre/cancelación'[Programación de comentarios],"aprobado hrs" ) ,"Amarillo","Blanco")))
Anonymous
Not applicable

cualquier entrada?

Hola @karthi_powerbi ,

Perdón por la respuesta tardía.

En primer lugar, las palabras clave se dividen en dos columnas como una tabla, una son las palabras clave que se incluirán y la otra son las palabras clave no incluidas. Y no es necesario crear una relación para dos tablas.

test_Best Approach to Handle Multiple Nested OR's & AND's3.PNG

test_Best Approach to Handle Multiple Nested OR's & AND's2.PNG

test_Best Approach to Handle Multiple Nested OR's & AND's1.PNG

A continuación, cree una medida como esta:

Measure = 
IF(
      NOT(SUMX('Table (2)',
           FIND(
                UPPER('Table (2)'[not contains]),
                UPPER(MAX('Table'[Scheduling Comments])),
                ,0
               )
          ))&&MAX('Table'[Billing Method])="Non-Billable - Internal"&&
         SUMX('Table (2)',
           FIND(
                UPPER('Table (2)'[contains]),
                UPPER(MAX('Table'[Scheduling Comments])),
                ,0
               )),
      1,
      0
     )

Aplicar medida al formato condicional

test_Best Approach to Handle Multiple Nested OR's & AND's4.PNG

Saludos
Liang
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

DAX vs TABLE ? ¿Cuál funcionará bien?

Anonymous
Not applicable

Puedo entender que este es algo que el concepto de búsqueda en ETL. Parece que usaste funciones DAX que sé por mi nombre no por funcional, así que tengo que sumergirme en esos functons para entenderlos.

¿Qué tal la diferencia de rendimiento entre el concepto de tabla vs los quiróculos anidados/AND?

amitchandak
Super User
Super User

Puede utilizar Switch True.

Para o puede susar .

para Y se puede utilizar &&

Yoy tienen funciones AND y OR también

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.