Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Syntaxis
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
Over
Transformeert de opgegeven tabel door elke kolombewerking in een lijst toe te passen.
-
table: De tabel die moet worden getransformeerd. -
transformOperations: De transformaties die op de tabel moeten worden toegepast. De indeling van deze parameter is { kolomnaam, transformatie } of { kolomnaam, transformatie, nieuw kolomtype }. -
defaultTransformation: (Optioneel) De standaardtransformatie die wordt toegepast op alle kolommen die niet worden vermeld intransformOperations. -
missingField: (Optioneel) Hiermee geeft u de verwachte actie voor ontbrekende waarden op. Als er geen kolomtransformOperationsin voorkomt, wordt er een uitzondering gegenereerd (MissingField.Error) tenzij deze parameter een alternatief opgeeft. Gebruik een van de volgende waarden:-
MissingField.UseNull: ontbrekende velden worden opgenomen alsnullwaarden. -
MissingField.Ignore: ontbrekende velden worden genegeerd.
-
Voorbeeld 1
Converteer de tekstwaarden in kolom [A] naar getalwaarden en de getalwaarden in kolom [B] naar tekstwaarden.
Gebruik
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
uitvoer
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Voorbeeld 2
Converteer de getalwaarden in ontbrekende kolom [X] naar tekstwaarden, die standaard worden ingesteld null op kolommen die niet bestaan.
Gebruik
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
uitvoer
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Voorbeeld 3
Verhoog de getalwaarden in kolom [B] en converteer ze naar tekstwaarden en converteer alle andere kolommen naar getallen.
Gebruik
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
uitvoer
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})
Voorbeeld 4
Verplaats geplande onderhoudstaken die plaatsvinden op een Amerikaanse vakantie naar de volgende dag of, als de vakantie plaatsvindt op een vrijdag, naar de volgende maandag.
Gebruik
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
uitvoer
#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)}
})