Table.TransformColumns
Składnia
Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable number) as table
Około
Przekształca table
przez zastosowanie każdej operacji kolumny wymienionej w transformOperations
(gdzie format to { nazwa kolumny, przekształcenie } lub { nazwa kolumny, przekształcenie, nowy typ kolumny }). Jeśli zostanie określony defaultTransformation
, zostanie zastosowany do wszystkich kolumn, które nie są wymienione w transformOperations
. Jeśli kolumna wymieniona w transformOperations
nie istnieje, zostanie zgłoszony wyjątek, chyba że opcjonalny parametr missingField
określa alternatywę (na przykład MissingField.UseNull lub MissingField.Ignore).
Przykład 1
Przekonwertuj wartości tekstowe w kolumnie [A] na wartości liczbowe, a wartości liczbowe w kolumnie [B] na wartości tekstowe.
użycie
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{
{"A", Number.FromText},
{"B", Text.From}
}
)
Wyjście
Table.FromRecords({
[A = 1, B = "2"],
[A = 5, B = "10"]
})
Przykład 2
Przekonwertuj wartości liczbowe w brakującej kolumnie [X] na wartości tekstowe, ignorując kolumny, które nie istnieją.
użycie
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.Ignore
)
Wyjście
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
})
Przykład 3
Przekonwertuj wartości liczbowe w brakującej kolumnie [X] na wartości tekstowe, przy czym wartości domyślne to null dla kolumn, które nie istnieją.
użycie
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"X", Number.FromText},
null,
MissingField.UseNull
)
Wyjście
Table.FromRecords({
[A = "1", B = 2, X = null],
[A = "5", B = 10, X = null]
})
Przykład 4
Zwiększ wartości liczbowe w kolumnie [B] i przekonwertuj je na wartości tekstowe, a następnie przekonwertuj wszystkie pozostałe kolumny na liczby.
użycie
Table.TransformColumns(
Table.FromRecords({
[A = "1", B = 2],
[A = "5", B = 10]
}),
{"B", each Text.From(_ + 1), type text},
Number.FromText
)
Wyjście
Table.FromRecords({
[A = 1, B = "3"],
[A = 5, B = "11"]
})