Przejdź do głównej zawartości

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ład Splitter.SplitTextByDelimiter lub Splitter.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 to null.
  • 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 wyliczenia ExtraValues.Type. Wartość domyślna to ExtraValues.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