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