Freigeben über


Table.SplitColumn

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

Über uns

Teilt die angegebene Spalte mithilfe der angegebenen Splitterfunktion in eine Reihe zusätzlicher Spalten auf.

  • table: Die Tabelle mit der zu teilenden Spalte.
  • sourceColumn: Der Name der Spalte, die geteilt werden soll.
  • splitter: Die Splitterfunktion , die zum Teilen der Spalte verwendet wird (z. B Splitter.SplitTextByDelimiter . oder Splitter.SplitTextByPositions).
  • columnNamesOrNumber: Entweder eine Liste der zu erstellenden neuen Spaltennamen oder die Anzahl der neuen Spalten.
  • default: Überschreibt den Wert, der verwendet wird, wenn nicht genügend geteilte Werte vorhanden sind, um alle neuen Spalten auszufüllen. Der Standardwert für diesen Parameter ist null.
  • extraColumns: Gibt an, was zu tun ist, wenn möglicherweise mehr geteilte Werte als die Anzahl neuer Spalten vorhanden sind. Sie können einen ExtraValues.Type Enumerationswert an diesen Parameter übergeben. Der Standardwert lautet ExtraValues.Ignore.

Beispiel 1

Teilen Sie die Spalte "Name" in "Vorname" und "Nachname".

Verwendung

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

Ausgabe

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

Beispiel 2

Teilen Sie die Namensspalte in Vorname und Nachname auf, und benennen Sie dann die neuen Spalten um.

Verwendung

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

Ausgabe

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

Beispiel 3

Teilen Sie die Namensspalte in Vorname und Nachname, benennen Sie die neuen Spalten um, und füllen Sie alle Leerzeichen mit "-No Entry-" aus.

Verwendung

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

Ausgabe

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

Beispiel 4

Teilen Sie die Namensspalte in Vorname und Nachname auf, und benennen Sie dann die neuen Spalten um. Da es möglicherweise mehr Werte als die Anzahl der verfügbaren Spalten gibt, stellen Sie die Nachnamenspalte in eine Liste ein, die alle Werte nach dem Vornamen enthält.

Verwendung

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

Ausgabe

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