Table.SplitColumn
Dzieli określoną kolumnę na zestaw dodatkowych kolumn przy użyciu określonej funkcji dzielenia.
Syntax
Table.SplitColumn(
table as table,
sourceColumn as text,
splitter as function,
optional columnNamesOrNumber as any,
optional default as any,
optional extraColumns as any
) as table
Remarks
Dzieli określoną kolumnę na zestaw dodatkowych kolumn przy użyciu określonej funkcji rozdzielającej.
table: tabela zawierająca kolumnę do podziału.sourceColumn: nazwa kolumny do podziału.splitter: funkcja rozdzielacza używana do rozdzielenia kolumny (na przykładSplitter.SplitTextByDelimiterlubSplitter.SplitTextByPosition).columnNamesOrNumber: lista nowych nazw kolumn do utworzenia lub liczba nowych kolumn.default: zastępuje wartość używaną, gdy nie ma wystarczającej liczby wartości podziału, aby wypełnić wszystkie nowe kolumny. Wartość domyślna tego parametru tonull.extraColumns: określa, co zrobić, jeśli może istnieć więcej wartości podziału niż liczba nowych kolumn. Do tego parametru możesz przekazać wartość z wyliczeniaExtraValues.Type. Wartość domyślna toExtraValues.Ignore.
Examples
Example #1
Podziel kolumnę nazwy na imię i nazwisko.
let
Source = #table(type table[CustomerID = number, Name = text, Phone = text],
{
{1, "Bob White", "123-4567"},
{2, "Jim Smith", "987-6543"},
{3, "Paul", "543-7890"},
{4, "Cristina Best", "232-1550"}
}),
SplitColumns = Table.SplitColumn(
Source,
"Name",
Splitter.SplitTextByDelimiter(" "))
in
SplitColumns
Result:
#table(type table[CustomerID = number, Name.1 = text, Name.2 = text, Phone = text],
{
{1, "Bob", "White", "123-4567"},
{2, "Jim", "Smith", "987-6543"},
{3, "Paul", null, "543-7890"},
{4, "Cristina", "Best", "232-1550"}
})
Example #2
Podziel kolumnę z nazwiskami na imiona i nazwiska, a następnie zmień nazwy nowych kolumn.
let
Source = #table(type table[CustomerID = number, Name = text, Phone = text],
{
{1, "Bob White", "123-4567"},
{2, "Jim Smith", "987-6543"},
{3, "Paul", "543-7890"},
{4, "Cristina Best", "232-1550"}
}),
SplitColumns = Table.SplitColumn(
Source,
"Name",
Splitter.SplitTextByDelimiter(" "),
{"First Name", "Last Name"})
in
SplitColumns
Result:
#table(type table[CustomerID = number, First Name = text, Last Name = text, Phone = text],
{
{1, "Bob", "White", "123-4567"},
{2, "Jim", "Smith", "987-6543"},
{3, "Paul", null, "543-7890"},
{4, "Cristina", "Best", "232-1550"}
})
Example #3
Podziel kolumnę z nazwiskami na imiona i nazwiska, zmień nazwy nowych kolumn i wypełnij puste pola tekstem „-Brak wpisu-”.
let
Source = #table(type table[CustomerID = number, Name = text, Phone = text],
{
{1, "Bob White", "123-4567"},
{2, "Jim Smith", "987-6543"},
{3, "Paul", "543-7890"},
{4, "Cristina Best", "232-1550"}
}),
SplitColumns = Table.SplitColumn(
Source,
"Name",
Splitter.SplitTextByDelimiter(" "),
{"First Name", "Last Name"},
"-No Entry-")
in
SplitColumns
Result:
#table(type table[CustomerID = number, First Name = text, Last Name = text, Phone = text],
{
{1, "Bob", "White", "123-4567"},
{2, "Jim", "Smith", "987-6543"},
{3, "Paul", "-No Entry-", "543-7890"},
{4, "Cristina", "Best", "232-1550"}
})
Example #4
Podziel kolumnę z nazwiskami na imiona i nazwiska, a następnie zmień nazwy nowych kolumn. Ze względu na to, że może być więcej wartości niż liczba dostępnych kolumn, ostatnia kolumna z nazwiskami powinna być listą zawierającą wszystkie wartości po imieniu.
let
Source = #table(type table[CustomerID = number, Name = text, Phone = text],
{
{1, "Bob White", "123-4567"},
{2, "Jim Smith", "987-6543"},
{3, "Paul Green", "543-7890"},
{4, "Cristina J. Best", "232-1550"}
}),
SplitColumns = Table.SplitColumn(
Source,
"Name",
Splitter.SplitTextByDelimiter(" "),
{"First Name", "Last Name"},
null,
ExtraValues.List)
in
SplitColumns
Result:
#table(type table[CustomerID = number, First Name = text, Last Name = text, Phone = text],
{
{1, "Bob", {"White"}, "123-4567"},
{2, "Jim", {"Smith"}, "987-6543"},
{3, "Paul", {"Green"}, "543-7890"},
{4, "Cristina", {"J.", "Best"}, "232-1550"}
})
Category
Table.Transformation