Passa al contenuto principale

Table.SplitColumn

Divide le colonne specificate in un set di colonne aggiuntive utilizzando la funzione di divisione specificata.

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

Remarks​

Divide la colonna specificata in un set di colonne aggiuntive utilizzando la funzione di divisione specificata.

  • table: tabella contenente la colonna da dividere.
  • sourceColumn: nome della colonna da dividere.
  • splitter: funzione di divisione utilizzata per dividere la colonna (ad esempio, Splitter.SplitTextByDelimiter o Splitter.SplitTextByPosition).
  • columnNamesOrNumber: elenco di nuovi nomi di colonna da creare oppure il numero di nuove colonne.
  • default: sostituisce il valore utilizzato quando i valori di divisione non sono sufficienti per riempire tutte le nuove colonne. Il valore predefinito per questo parametro è null.
  • extraColumns: specifica cosa fare se il numero dei valori di divisione è maggiore del numero di nuove colonne. È possibile passare un valore di enumerazione ExtraValues.Type a questo parametro. Il valore predefinito è ExtraValues.Ignore.

Examples​

Example #1​

Dividere la colonna del nome in Nome e Cognome.

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

Result:

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

Example #2​

Dividere la colonna del nome in Nome e Cognome, quindi rinominare le nuove colonne.

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

Result:

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

Example #3​

Dividere la colonna del nome in Nome e Cognome, rinominare le nuove colonne e riempire eventuali spazi vuoti con "-No Entry-".

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

Result:

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

Example #4​

Dividere la colonna del nome in Nome e Cognome, quindi rinominare le nuove colonne. Poiché potrebbero esserci più valori rispetto al numero di colonne disponibili, configurare la colonna del cognome come un elenco che include tutti i valori dopo il nome.

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

Result:

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

Category​

Table.Transformation