Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Sintaxis
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
Acerca de
Transforma la tabla especificada aplicando cada operación de columna en una lista.
-
table: tabla que se va a transformar. -
transformOperations: las transformaciones que se van a realizar en la tabla. El formato de este parámetro es { nombre de columna, transformación } o { nombre de columna, transformación, nuevo tipo de columna }. -
defaultTransformation: (Opcional) Transformación predeterminada aplicada a todas las columnas que no aparecen entransformOperations. -
missingField: (Opcional) Especifica la acción esperada para los valores que faltan. Si no existe una columna enumerada entransformOperations, se produce una excepción (MissingField.Error) a menos que este parámetro especifique una alternativa. Use uno de los siguientes valores:-
MissingField.UseNull: los campos que faltan se incluyen comonullvalores. -
MissingField.Ignore: se omiten los campos que faltan.
-
Ejemplo 1
Convierta los valores de texto de la columna [A] en valores numéricos y los valores numéricos de la columna [B] en valores de texto.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
Salida
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Ejemplo 2
Convierta los valores numéricos de la columna que falta [X] en valores de texto, usando null por defecto en las columnas que no existen.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
Salida
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Ejemplo 3
Incremente los valores numéricos de la columna [B] y conviértalos en valores de texto y convierta todas las demás columnas en números.
Uso
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
Salida
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})
Ejemplo 4
Mueva las tareas de mantenimiento programadas que se producen en un día festivo de EE. UU. al día siguiente o, si el día festivo se produce el viernes, al próximo lunes.
Uso
let
MaintenanceSchedule = #table(type table [Task = text, Date = date],
{
{"HVAC Check", #date(2025, 7, 10)}, // Not a holiday
{"Window Washing", #date(2025, 9, 1)}, // Labor Day
{"Fire Drill", #date(2025, 9, 17)}, // Not a holiday
{"Light Replacement", #date(2025, 11, 27)} // Thanksgiving
}),
USHolidays = {
#date(2025, 1, 1), // New Year's Day
#date(2025, 7, 4), // Independence Day
#date(2025, 9, 1), // Labor Day
#date(2025, 11, 27), // Thanksgiving
#date(2025, 12, 25) // Christmas
},
AdjustedSchedule = Table.TransformColumns(
MaintenanceSchedule,
{{"Date", each if List.Contains(USHolidays, _) then
if Date.DayOfWeek(_, Day.Sunday) = 5 then
Date.AddDays(_, 3) // Friday to Monday
else
Date.AddDays(_, 1) // Other to next day
else _, type date}}
)
in
AdjustedSchedule
Salida
#table(type table[Task = text, Date = date],
{
{"HVAC Check", #date(2025, 7, 10)},
{"Window Washing", #date(2025, 9, 2)},
{"Fire Drill", #date(2025, 9, 17)},
{"Light Replacement", #date(2025, 11, 28)}
})