Forum Discussion

alejandroezp's avatar
alejandroezp
Icon for Helper I rankHelper I
3 years ago
Solved

Comparar columnas de tablas distintas

Buenos días,

 

Tengo dos tablas con dos columnas cada una. Quiero sacar las filas que no coinciden entre ambas columnas, el problema es que entre todas las columnas pueden coincidir y ser de verdad únicas. Para arreglar este posible fallo, creo una tercera columna y concateno las otras dos columnas de cada tabla. En este punto quiero comparar las dos columnas concatenadas (Una de cada tabla), de tal forma que me muestre las que no coinciden y así ver las que no aparecen.

 

Saludos

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi alejandroezp ,

     

    I'm sorry if I misunderstood you, but if you want to know the number of rows, please change the measure to:

    NonMatching_rows = 
    COUNTROWS(
        EXCEPT(
            SELECTCOLUMNS(Table1, "ConcatenatedColumn1", Table1[ConcatenatedColumn1]),
            SELECTCOLUMNS(Table2, "ConcatenatedColumn2", Table2[ConcatenatedColumn2])
        )
    )

    Best Regards,

    Neeko Tang

    If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi alejandroezp ,

     

    According to your description, here are my steps you can follow as a solution.

    (1) This is my test data.  

    Table1:

    Table2:

    (2) Create series columns in Tables 1 and 2, respectively.

     

    ConcatenatedColumn1 = CONCATENATE(Table1[Column1], Table1[Column2])
    ConcatenatedColumn2 = CONCATENATE(Table2[Column1], Table2[Column2])

     

    (3)We  can create a table.

     

    NonMatching = 
        EXCEPT(
            SELECTCOLUMNS(Table1, "ConcatenatedColumn1", Table1[ConcatenatedColumn1]),
            SELECTCOLUMNS(Table2, "ConcatenatedColumn2", Table2[ConcatenatedColumn2])
        )

     

    Please refer to the following document for more information.

    EXCEPT function (DAX) - DAX | Microsoft Learn

     

    (4) Then the result is as follows.

     

    If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.

     

    Best Regards,

    Neeko Tang

    If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly. 

    • alejandroezp's avatar
      alejandroezp
      Icon for Helper I rankHelper I

      Buenos días,

      He probado la solución y no me ha funcionado. Adjunto algunos datos y especifico mejor el proceso:

      En las tablas concatenamos las columnas "Company" y "Name", después comparamos el resultado de concatenar la tabla1 y la tabla2. Al comparar el resultado de concatenar la tabla1 y la tabla2 quiero sacar el número de filas que no coinciden, es decir, las filas concatenadas que ,buscando desde la tabla1 en la tabla2, no aparecen en la tabla2 y que me indique el número de filas.

       

      Tabla1:

      CompanyCategoryTypeItemName
      ONO ESPAÑA CLIENTESHARDWAREINFRAESTRUCTURASONDAKP113
      R59199 - CELTA, S.A.HARDWAREEQUIPAMIENTO VOZTERMINAL FIJOXP152
      R2803408 - ORDENADORES MANOLO, S.A.HARDWAREPERIFERICOSOTROS (PERIFERICOS)VISTA345
      T417101I - UCMHARDWAREACCESORIOSADAPTADORUX83491
      R4545903 - SANTANDER, S.A.HARDWAREEQUIPAMIENTO VOZTARJETA VOZux09133
      R3033515 - ALBACET Y ASOCIADOS S.A.HARDWAREPERIFERICOSMONITORQW7321
      Q82007A - IKEAHARDWAREEQUIPAMIENTO VOZTERMINAL FIJOI8329
      R2803408 - ORDENADORES MANOLO, S.A.HARDWAREPERIFERICOSOTROS (PERIFERICOS)K8341

      Tabla2:

      CLASSIDCOMPANYNAMESHORTDESCRIPTION
      EQUIPMENTONO ESPAÑA CLIENTESZV7728MICRO
      EQUIPMENTONO ESPAÑA CLIENTESKP113DISCO DURO
      EQUIPMENTT417101I - UCMUX83491PANTALLA
      EQUIPMENTR2803408 - ORDENADORES MANOLO, S.A.BV5591CD
      EQUIPMENTR4545903 - SANTANDER, S.A.ux09133PC
      EQUIPMENTR59199 - CELTA, S.A.YW2189PANTALLA
      EQUIPMENTR2803408 - ORDENADORES MANOLO, S.A.MC2044PANTALLA
      EQUIPMENTR2803408 - ORDENADORES MANOLO, S.A.K8341DISCO DURO

       

      Saludos

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi alejandroezp ,

         

        I'm sorry if I misunderstood you, but if you want to know the number of rows, please change the measure to:

        NonMatching_rows = 
        COUNTROWS(
            EXCEPT(
                SELECTCOLUMNS(Table1, "ConcatenatedColumn1", Table1[ConcatenatedColumn1]),
                SELECTCOLUMNS(Table2, "ConcatenatedColumn2", Table2[ConcatenatedColumn2])
            )
        )

        Best Regards,

        Neeko Tang

        If this post  helps, then please consider Accept it as the solution  to help the other members find it more quickly.