Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Syntax
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
About
Transformiert die angegebene Tabelle, indem jeder Spaltenvorgang in einer Liste angewendet wird.
-
table: Die zu transformierende Tabelle. -
transformOperations: Die Transformationen, die an der Tabelle vorgenommen werden sollen. Das Format dieses Parameters ist entweder { Spaltenname, Transformation } oder { Spaltenname, Transformation, neuer Spaltentyp }. -
defaultTransformation: (Optional) Die Standardtransformation, die auf alle Spalten angewendet wird, die nicht aufgeführt sindtransformOperations. -
missingField: (Optional) Gibt die erwartete Aktion für fehlende Werte an. Falls eine intransformOperationsaufgeführte Spalte nicht existiert, wird eine Ausnahme ausgelöst (MissingField.Error), es sei denn, dieser Parameter gibt eine Alternative an. Verwenden Sie einen der folgenden Werte:-
MissingField.UseNull: Fehlende Felder werden alsnullWerte eingeschlossen. -
MissingField.Ignore: Fehlende Felder werden ignoriert.
-
Beispiel 1
Konvertieren Sie die Textwerte in Spalte [A] in Zahlenwerte und die Zahlenwerte in Spalte [B] in Textwerte.
Verwendung
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
Ausgabe
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Beispiel 2
Konvertieren Sie die Zahlenwerte in der fehlenden Spalte [X] in Textwerte und arbeiten Sie standardmäßig mit null für Spalten, die nicht vorhanden sind.
Verwendung
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
Ausgabe
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Beispiel 3
Erhöhen Sie die Zahlenwerte in Spalte [B] und konvertieren Sie sie in Textwerte, und konvertieren Sie alle anderen Spalten in Zahlen.
Verwendung
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
Ausgabe
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})
Beispiel 4
Verschieben Sie geplante Wartungsaufgaben, die an einem US-Feiertag stattfinden, auf den nächsten Tag oder, wenn der Feiertag auf einen Freitag fällt, auf den nächsten Montag.
Verwendung
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
Ausgabe
#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)}
})