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

Contar filas con muchas condiciones de búsqueda

Hola
Quiero contar las filas que tienen las palabras "Basal" y "Rapid" pero que no contienen "Premix" y "GLP"
La ecuación de medida que estoy usando no está dando la solución correcta
¿Alguna sugerencia?
Basal +Rápido = CALCULAR(CONTAR(.PRF[INTNR]),BUSCAR("Basal",.PRF[P15],,0)<>0,BUSCAR("Rápido",.PRF[P15],,0)<>0,BUSCAR("Premezcla",.PRF[P15],,0)=0,BUSCAR("GLP",.PRF[P15],,0)=0)/CALCULAR(CONTAR(.PRF[INTNR]))
2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Mumin192

Usé su fórmula y la cambié un poco usando las instrucciones OR y AND.

Así que mi fórmula malvada cuenta las filas que contienen textos ' Basal ' o 'Rápido' Y no contienen el texto ' Premix' o 'GLP'

Basal +Rapid =
CALCULATE (
    COUNT ( PRF[INTNR] ),
    FILTER (
        ALL ( PRF ),
        (
            SEARCH ( "Basal", PRF[Q15],, BLANK () ) > 0
                || SEARCH ( "Rapid", PRF[Q15],, BLANK () ) > 0
        )
            && (
                SEARCH ( "Premix", PRF[Q15],, BLANK () ) = 0
                    || SEARCH ( "GLP", PRF[Q15],, BLANK () ) = 0
            )
    )
)
    / CALCULATE ( COUNT ( PRF[INTNR] ) )
Syndicate_Admin
Administrator
Administrator

¡Hola!
CONTAINSSTRING() es probablemente una mejor función para esto. No estoy seguro de si desea usar AND u OR como sus operadores para las palabras requeridas y prohibidas, por lo que tendría que ajustar en consecuencia, pero algo como esto (también ajuste los nombres de tabla y columna a su modelo):

Y en ambos casos:

Basal + Rapid = 
CALCULATE(COUNT('Table'[Words]),
    AND(CONTAINSSTRING('Table'[Words],"Basal"),CONTAINSSTRING('Table'[Words],"Rapid")) && 
    NOT AND(CONTAINSSTRING('Table'[Words],"Premix"),CONTAINSSTRING('Table'[Words],"GLP"))
    )


O en ambos casos:

Basal + Rapid = 
CALCULATE(COUNT('Table'[Words]),
    OR(CONTAINSSTRING('Table'[Words],"Basal"),CONTAINSSTRING('Table'[Words],"Rapid")) && 
    NOT OR(CONTAINSSTRING('Table'[Words],"Premix"),CONTAINSSTRING('Table'[Words],"GLP"))
    )

¡Espero que esto ayude!

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.