Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

Delta de datos requerido

Necesito el delta de los datos como resultado

Cuando la tabla tiene

IDENTIFICACIÓNPadreNiño
1P1C1
1P1C2
1P1C3
1P2C1
1P2C2
1P2C3
2P3C1
2P3C4
3P4C5
3P4C6
3P4C7
3P4C8
3P4C9
3P5C5
3P5C6
3P5C7
3P5C8
3P5C9

Salida:

IDENTIFICACIÓNPadreNiño
1P1C1
1P2C7

Nota: El ID 1 tiene 2 padres diferentes y el objetivo es que ambos tengan los mismos hijos debajo de él (es decir, no de hijos y valor de los hijos también)
ID2 tiene solo 1 padre, por lo que se puede ignorar.
ID3 tuvo 2 padres e hijos iguales
Por lo tanto, la salida solo se muestra una vez que no coincide.
Hice un mapeo recursivo, pero si una identificación tiene más de 10 padres y varios hijos debajo de ella, el seguimiento se vuelve difícil.
¿Alguien puede ayudar con una solución optimizada posible?

3 Replies

  • Hola @Sarath5c8 ,

    No entiendo muy bien tu pregunta. ¿Es este el resultado deseado?

    ¿Puedes explicar por qué obtienes 'C1' y 'C7'? ¿Tiene la intención de mostrar elementos primarios con los mismos elementos secundarios en un solo identificador?

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Sí, esa es la salida deseada porque si ves en 1 tenemos dos padres P1 y P2 que tienen C2 y C3 comunes y C1 y C7 presentes solo una vez, por lo tanto, deben destacarse y serán el resultado.

      si ID tiene 1 padre, podemos ignorarlo de inmediato.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @Sarath5c8 ,

        Los datos de la tabla se muestran a continuación:

        Siga estos pasos:
        1. Use la siguiente expresión DAX para crear una medida

        MEASURE =
        VAR _ChildCount =
            CALCULATE ( COUNTROWS ( 'Table' ), ALL ( 'Table'[Parent] ) )
        VAR _ParentCount =
            CALCULATE (
                COUNTROWS ( SUMMARIZE ( 'Table', 'Table'[ID], 'Table'[Parent] ) ),
                ALLEXCEPT ( 'Table', 'Table'[ID] )
            )
        RETURN
            IF ( _ParentCount = 1, BLANK (), IF ( _ChildCount <> 1, BLANK (), "" ) )
        

        2. Salida final

        Saludos
        Wenbin Zhou
        Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.