marcp2
Hola
Intento comparar el contenido de dos columnas. Es fácil cuando conoce el nombre de las columnas que tiene que comparar.
Si tengo una columna A y una columna B, lo hago
SI UNA
Pero, en mi caso, tengo muchos pares de columnas para probar y necesito iterar con el número de la columna.
Entonces necesito algo así
IF Col (0)
Encontré la manera de iterar con una función recursiva pero no sé cómo acceder al contenido de la columna número X
Aquí está la función que intenté hacer. Siempre tengo Falso cualquiera que sea el contenido de las columnas comparadas:
(Tabla como tabla, Índice como número, NumCols como número) como tabla =>
dejar
ColumnsAdded_ = Table.AddColumn (Tabla,
«T _» & Table.ColumnNames (Table) {Index},
cada uno si Table.ColumnNames (Table) {Index} = Table.ColumnNames (Table) {Index + 289} entonces verdadero si no falso),
ColumnsAdded = if (Index
ColumnsAdded
Usted me podría ayudar ?
Gracias por tu ayuda
Saludos
Bagazo
Edhans
Esta fórmula comparará la columna n. ° 4 con la columna n. ° 5 (indexa en cero, por lo que la primera columna es 0) y devolverá verdadero o falso.
if Record.Field(_, Table.ColumnNames(#"Changed Type"){3}) > Record.Field(_, Table.ColumnNames(#"Changed Type"){4}) then true else false
El nombre de la tabla # «Tipo cambiado» es la tabla devuelta en el paso anterior de mi consulta de muestra que hice para probar esto. Simplemente haga referencia a su paso anterior. Podría ser solo Fuente si es el primer paso después de que se importa la tabla.
Edhans
Esta fórmula comparará la columna n. ° 4 con la columna n. ° 5 (indexa en cero, por lo que la primera columna es 0) y devolverá verdadero o falso.
if Record.Field(_, Table.ColumnNames(#"Changed Type"){3}) > Record.Field(_, Table.ColumnNames(#"Changed Type"){4}) then true else false
El nombre de la tabla # «Tipo cambiado» es la tabla devuelta en el paso anterior de mi consulta de muestra que hice para probar esto. Simplemente haga referencia a su paso anterior. Podría ser solo Fuente si es el primer paso después de que se importa la tabla.
marcp2
En respuesta a Edhans
Hola edhans
Eso es genial, es extraordinario lo que podemos hacer con unas pocas líneas de código M.
Muchísimas gracias !! 🙂
Entonces, este es el código de función final que incluye su ayuda
(Table as table, Index as number, NumCols as number) as table => let ColumnsAdded_=Table.AddColumn(Table, "T_"&Table.ColumnNames(Table){Index}, each if Record.Field(_, Table.ColumnNames(Table){Index}) > Record.Field(_, Table.ColumnNames(Table){Index+289}) then true else false), ColumnsAdded = if (Index < NumCols) then @AddColumn( ColumnsAdded_, Index + 1, NumCols ) else Table in ColumnsAdded
Atentamente
Bagazo