Condividi tramite


Table.SplitColumn

Sintassi

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

Informazioni su

Suddivide la colonna specificata in un set di colonne aggiuntive usando la funzione splitter specificata.

  • table: tabella contenente la colonna da dividere.
  • sourceColumn: nome della colonna da dividere.
  • splitter: funzione splitter usata per suddividere la colonna , ad esempio Splitter.SplitTextByDelimiter o Splitter.SplitTextByPositions.
  • columnNamesOrNumber: elenco di nuovi nomi di colonna da creare o numero di nuove colonne.
  • default: esegue l'override del valore usato quando non sono presenti valori di divisione sufficienti per riempire tutte le nuove colonne. Il valore predefinito per questo parametro è null.
  • extraColumns: specifica cosa fare se potrebbero essere presenti valori di divisione maggiori rispetto al numero di nuove colonne. È possibile passare un ExtraValues.Type valore di enumerazione a questo parametro. Il valore predefinito è ExtraValues.Ignore.

Esempio 1

Suddividere la colonna nome in nome e cognome.

Utilizzo

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

Risultato

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

Esempio 2

Suddividere la colonna name in nome e cognome, quindi rinominare le nuove colonne.

Utilizzo

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

Risultato

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

Esempio 3

Suddividere la colonna name in nome e cognome, rinominare le nuove colonne e inserire eventuali spazi vuoti con "-No Entry-".

Utilizzo

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

Risultato

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

Esempio 4

Suddividere la colonna name in nome e cognome, quindi rinominare le nuove colonne. Poiché potrebbero esserci più valori rispetto al numero di colonne disponibili, trasformare la colonna del cognome in un elenco che includa tutti i valori seguenti il nome.

Utilizzo

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

Risultato

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