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

Dividir conjunto de datos largo con la condición "AND"

¡Hola!

Tengo un conjunto de datos largo (columnas = "Nombre", "Habilidad", "Grado" y >10000 filas).

Descripción de las columnas:

Nombre: Identificador único de persona.

Habilidad: Elementos como "francés", "ML", "Contabilidad" de una lista de más de 100 elementos.

Grado: Qué tan bueno es un preson en esa habilidad.

Me gustaría cortar el conjunto de datos para encontrar a todas las personas con habilidades por encima de las calificaciones dadas. Así, por ejemplo, para este conjunto de datos:

NombreHabilidadGrado
JamesFrancés2
JamesML8
MarcML6
MarcInglés10
MarcFrancés9

Quiero poder filtrar para francés con grado >5 y ML con grado >4 para obtener que Marc cumpla con estas condiciones.

El uso de las muchas habilidades (más de 100) pivotantes no es una opción, ya que tendría que construir una segmentación de datos para más de 100 columnas.

¡Realmente aprecio su ayuda!

Mejor

S.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Aquí hay otra manera.

Primero cree 2 tablas desconectadas para habilidades y 2 tablas desconectadas para grados (para estos últimos he creado tablas de 0 a 10) para usar como segmentaciones de datos
El modelo se ve así:

Model.png

A continuación, cree las siguientes medidas para usarlas como filtro en el panel de filtros:

Esta medida de nombre de filtro se debe utilizar como filtro TopN en el campo Nombre (Top 1)

Filter Name =
VAR Sel1 =
    CALCULATETABLE (
        VALUES ( 'Table'[Name] ),
        FILTER (
            'Table',
            'Table'[Skill] = SELECTEDVALUE ( 'Skills Selection 1'[Skill 1] )
                && 'Table'[Grade] > SELECTEDVALUE ( 'Grade 1'[Grade 1] )
        )
    )
VAR Sel2 =
    CALCULATETABLE (
        VALUES ( 'Table'[Name] ),
        FILTER (
            'Table',
            'Table'[Skill] = SELECTEDVALUE ( 'Skills Selection 2'[Skill 2] )
                && 'Table'[Grade] > SELECTEDVALUE ( 'Grade 2'[Grade 2] )
        )
    )
VAR _list =
    INTERSECT ( Sel1, Sel2 )
RETURN
    COUNTROWS ( INTERSECT ( VALUES ( 'Table'[Name] ), _list ) )
Filter Subjects =
VAR Sel1 =
    VALUES ( 'Skills Selection 1'[Skill 1] )
VAR Sel2 =
    VALUES ( 'Skills Selection 2'[Skill 2] )
VAR _list =
    UNION ( Sel1, Sel2 )
RETURN
    COUNTROWS ( INTERSECT ( VALUES ( 'Table'[Skill] ), _list ) )

Llegar:

Grades.gif

He adjuntado el archivo PBIX de ejemplo

Syndicate_Admin
Administrator
Administrator

@sbara , puedes lograrlo creando dos medidas:

Max French Grade = 
    MAXX(
       FILTER('YourTable', 'YourTable'[Skill] = "French"),
        'YourTable'[Grade]
    )
Max ML Grade = 
    MAXX(
       FILTER('YourTable', 'YourTable'[Skill] = "ML"),
        'YourTable'[Grade]
    )

y crear un visual de tabla con tres columnas: Nombre, Max ML Grade, Max French Grade. Esto te da

EylesIT_0-1656004181097.png

luego, en los filtros de la tabla, establezca Grado francés máximo en Es mayor que 5 y establezca el Grado máximo de ML en Es mayor que 4. Esto da a Marc como el único nombre en la lista:

EylesIT_1-1656004355849.png

Otra forma es crear una medida que aplique la lógica francesa y ML y cree una bandera para el nombre:

French>5 AND ML>4 = 
    MAXX(
        SUMMARIZE(
            'YourTable',
            'YourTable'[Name],
            "_Flag", 
                VAR vA = [Max French Grade]
                RETURN
                    CALCULATE(
                        IF([Max French Grade] > 5 && [Max ML Grade] > 4, "Y", "N"),
                        ALL('YourTable'[Grade], 'YourTable'[Skill])
                    )
        )
        ,[_Flag]
    )

Esta medida se puede colocar en la tabla, junto con las columnas Nombre, Habilidad y Grado

EylesIT_2-1656005180318.png

y si lo desea, puede filtrar esa medida por valores de Y, que mostrarán:

EylesIT_3-1656005231366.png

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.