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 staat, wordt er een fout gegenereerd (MissingField.Error) tenzij met deze parameter een alternatief wordt opgegeven. 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)}
})