Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Power Query, resta entre dos listas

Hola, tengo columnas con listas.

La columna [Numbers_1_3_5] tiene esto.

peterhui50_0-1642825316065.png

La columna [Numbers_2_4_6] tiene esto

peterhui50_1-1642825367236.png

Solo quiero hacer una nueva columna que encuentre la diferencia entre las dos listas.

Probé Value.Subtract([Numbers_1_2_5],[Numbers_2_4_6]) pero esto no funciona porque están en formato de lista.

Estoy acostumbrado a que R pueda hacer esto, pero ¿cómo lo hago en Power BI?

El primero debe ser - 11 menos 18, 22 menos 28, 35 menos 37 = -7,-6,-2

Gracias

  • ¿@peterhui50

    No es tan simple como en R, me temo, pero puede usar List.Zip para combinar los elementos correspondientes de una lista de listas, luego realizar operaciones en la lista resultante.

    Para su ejemplo, el código que se debe escribir en el cuadro de diálogo de columna calculada sería algo como esto:

    List.Transform( List.Zip( {[Numbers_1_3_5], [Numbers_2_4_6]} ), each _{1}-_{0})

    Saludos

    Owen

3 Replies

  • ¿@peterhui50

    No es tan simple como en R, me temo, pero puede usar List.Zip para combinar los elementos correspondientes de una lista de listas, luego realizar operaciones en la lista resultante.

    Para su ejemplo, el código que se debe escribir en el cuadro de diálogo de columna calculada sería algo como esto:

    List.Transform( List.Zip( {[Numbers_1_3_5], [Numbers_2_4_6]} ), each _{1}-_{0})

    Saludos

    Owen

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      También puede crear una tabla virtual y agregar una columna personalizada:

      Table.AddColumn(
          Table.FromColumns({[Numbers_1_3_5], [Numbers_2_4_6]}, {"135", "246"}),
          "Diff", each [246] - [135]
      )[Diff]

      Esto devuelve la columna personalizada de la tabla virtual.

  • Gracias que es increíble. Estaba tratando de crear funciones y tal y esto lo resuelve.