Udostępnij za pośrednictwem


Table.SplitColumn

Składnia

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

O nas

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 podzielenia.
  • splitter: funkcja rozdzielająca użyta do podzielenia kolumny (na przykład Splitter.SplitTextByDelimiter lub Splitter.SplitTextByPositions).
  • 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. Możesz przekazać wartość wyliczenia ExtraValues.Type do tego parametru. Wartość domyślna to ExtraValues.Ignore.

Przykład 1

Podziel kolumnę nazwy na imię i nazwisko.

użycie

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

Wyjście

#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"}
})

Przykład 2

Podziel kolumnę nazwy na imię i nazwisko, a następnie zmień nazwę nowych kolumn.

użycie

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

Wyjście

#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"}
})

Przykład 3

Podziel kolumnę nazwy na imię i nazwisko, zmień nazwę nowych kolumn i wypełnij wszystkie puste pola z wartością "-No Entry-".

użycie

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

Wyjście

#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"}
})

Przykład 4

Podziel kolumnę nazwy na imię i nazwisko, a następnie zmień nazwę nowych kolumn. Ze względu na to, że może istnieć więcej wartości niż liczba dostępnych kolumn, udostępnij w kolumnie nazwisko listę zawierającą wszystkie wartości po pierwszym imieniu.

użycie

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

Wyjście

#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"}
})