Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Синтаксис
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
О сайте
Преобразует указанную таблицу, применяя каждую операцию столбца в списке.
-
table: таблица для преобразования. -
transformOperations: преобразования, которые необходимо внести в таблицу. Формат этого параметра — {имя столбца, преобразование } или {имя столбца, преобразование, новый тип столбца }. -
defaultTransformation: (Необязательно) Преобразование по умолчанию применяется ко всем столбцам, не перечисленным вtransformOperations. -
missingField: (Необязательно) Указывает ожидаемое действие для отсутствующих значений. Если столбец, указанный вtransformOperationsсписке, не существует, возникает ошибка (MissingField.Error), если этот параметр не задает альтернативу. Используйте одно из следующих значений:-
MissingField.UseNull: все отсутствующие поля включаются в качествеnullзначений. -
MissingField.Ignore: отсутствующие поля игнорируются.
-
Пример 1
Преобразуйте текстовые значения в столбце [A] в значения чисел и числа в столбце [B] в текстовые значения.
использование
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
вывод
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Пример 2
Преобразуйте числовые значения в отсутствующем столбце [X] в текстовые значения, по умолчанию null для несуществующих столбцов.
использование
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
вывод
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Пример 3
Увеличьте значения чисел в столбце [B] и преобразуйте их в текстовые значения и преобразуйте все остальные столбцы в числа.
использование
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
вывод
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})
Пример 4
Переместите запланированные задачи обслуживания, которые происходят на празднике в США на следующий день или, если праздник происходит в пятницу, до следующего понедельника.
использование
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
вывод
#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)}
})