Del via


Table.SplitColumn

Syntaks

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

Omtrent

Opdeler den angivne kolonne i et sæt ekstra kolonner ved hjælp af den angivne opdelingsfunktion.

  • table: Den tabel, der indeholder den kolonne, der skal opdeles.
  • sourceColumn: Navnet på den kolonne, der skal opdeles.
  • splitter: Den opdelingsfunktion , Splitter.SplitTextByDelimiter der bruges til at opdele kolonnen (f.eks. eller Splitter.SplitTextByPositions).
  • columnNamesOrNumber: Enten en liste over nye kolonnenavne, der skal oprettes, eller antallet af nye kolonner.
  • default: Tilsidesætter den værdi, der bruges, når der ikke er nok opdelte værdier til at udfylde alle de nye kolonner. Standarden for denne parameter er null.
  • extraColumns: Angiver, hvad der skal gøres, hvis der kan være flere opdelte værdier end antallet af nye kolonner. Du kan overføre en ExtraValues.Type optællingsværdi til denne parameter. Standarden er ExtraValues.Ignore.

Eksempel 1

Opdel navnekolonnen i fornavn og efternavn.

brug

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

output

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

Eksempel 2

Opdel navnekolonnen i fornavn og efternavn, og omdøb derefter de nye kolonner.

brug

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

output

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

Eksempel 3

Opdel navnekolonnen i fornavn og efternavn, omdøb de nye kolonner, og udfyld eventuelle tomme værdier med "-No Entry-".

brug

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

output

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

Eksempel 4

Opdel navnekolonnen i fornavn og efternavn, og omdøb derefter de nye kolonner. Da der kan være flere værdier end antallet af tilgængelige kolonner, skal du gøre kolonnen med efternavn til en liste, der indeholder alle værdier efter fornavnet.

brug

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

output

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