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

Om

Delar upp den angivna kolumnen i en uppsättning ytterligare kolumner med hjälp av den angivna splitterfunktionen.

  • table: Tabellen som innehåller den kolumn som ska delas.
  • sourceColumn: Namnet på kolumnen som ska delas.
  • splitter: Splitterfunktionen som används för att dela upp kolumnen (till exempel Splitter.SplitTextByDelimiter eller Splitter.SplitTextByPositions).
  • columnNamesOrNumber: Antingen en lista med nya kolumnnamn att skapa eller antalet nya kolumner.
  • default: Åsidosätter det värde som används när det inte finns tillräckligt med delade värden för att fylla alla nya kolumner. Standardvärdet för den här parametern är null.
  • extraColumns: Anger vad du ska göra om det kan finnas fler delade värden än antalet nya kolumner. Du kan skicka ett ExtraValues.Type uppräkningsvärde till den här parametern. Standardvärdet är ExtraValues.Ignore.

Exempel 1

Dela upp namnkolumnen i förnamn och efternamn.

Användning

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

utdata

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

Exempel 2

Dela upp namnkolumnen i förnamn och efternamn och byt sedan namn på de nya kolumnerna.

Användning

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

utdata

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

Exempel 3

Dela upp namnkolumnen i förnamn och efternamn, byt namn på de nya kolumnerna och fyll i eventuella tomma celler med "-No Entry-".

Användning

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

utdata

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

Exempel 4

Dela upp namnkolumnen i förnamn och efternamn och byt sedan namn på de nya kolumnerna. Eftersom det kan finnas fler värden än antalet tillgängliga kolumner gör du efternamnskolumnen till en lista som innehåller alla värden efter förnamnet.

Användning

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

utdata

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