Hoppa till huvudinnehåll

Table.SplitColumn

Delar de angivna kolumnerna i en uppsättning ytterligare kolumner med hjälp av den angivna delningsfunktionen.

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

Delar de angivna kolumnerna i en uppsättning ytterligare kolumner med hjälp av den angivna delningsfunktionen.

  • table: Tabellen som innehåller kolumnen som ska delas.
  • sourceColumnNamnet på kolumnen som ska delas.
  • splitter: Delningsfunktionen som används för att dela upp kolumnen (t.ex. Splitter.SplitTextByDelimiter eller Splitter.SplitTextByPosition).
  • columnNamesOrNumber: Antingen en lista med nya kolumnnamn att skapa, eller antalet nya kolumner.
  • default: Åsidosätter värdet 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 denna parameter är null.
  • extraColumns: Anger vad som ska göras om det kan finnas fler delade värden än antalet nya kolumner. Du kan skicka ett ExtraValues.Type uppräkningsvärde till denna parameter. Standardvärdet är ExtraValues.Ignore.

Examples

Example #1

Dela upp namnkolumnen i förnamn och efternamn.

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

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

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

Dela upp namnkolumnen i förnamn och efternamn, byt namn på de nya kolumnerna, och fyll i eventuella tomrum med -Ingen post-.

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

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 efternamnskolumnen till en lista som innehåller alla värden efter förnamnet.

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