Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Syntaks
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
Omtrent
Transformerer den angivne tabel ved at anvende hver kolonnehandling på en liste.
-
table: Tabellen til at transformere. -
transformOperations: De transformationer, der skal foretages til bordet. Formatet for denne parameter er enten { kolonnenavn, transformation } eller { kolonnenavn, transformation, ny kolonnetype }. -
defaultTransformation: (Valgfrit) Standardtransformationen, der anvendes på alle kolonner, der ikke er angivet itransformOperations. -
missingField: (Valgfrit) Angiver den forventede handling for manglende værdier. Hvis en kolonne, der er angivet itransformOperations, ikke findes, udløses der en undtagelse (MissingField.Error), medmindre denne parameter angiver et alternativ. Brug en af følgende værdier:-
MissingField.UseNull: Eventuelle manglende felter medtages somnullværdier. -
MissingField.Ignore: Eventuelle manglende felter ignoreres.
-
Eksempel 1
Konvertér tekstværdierne i kolonnen [A] til talværdier, og talværdierne i kolonnen [B] til tekstværdier.
brug
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
output
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Eksempel 2
Konverter talværdierne i den manglende kolonne [X] til tekstværdier, der som standard er null i kolonner, der ikke findes.
brug
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
output
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Eksempel 3
Forøg talværdierne i kolonnen [B], og konvertér dem til tekstværdier, og konvertér alle andre kolonner til tal.
brug
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
output
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})
Eksempel 4
Flyt planlagte vedligeholdelsesopgaver, der finder sted på en amerikansk helligdag, til den næste dag eller, hvis helligdagen indtræffer på en fredag, til den næste mandag.
brug
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
output
#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)}
})