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.SplitTextByDelimiterellerSplitter.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 ärnull.extraColumns: Anger vad som ska göras om det kan finnas fler delade värden än antalet nya kolumner. Du kan skicka ettExtraValues.Typeuppräkningsvärde till denna parameter. Standardvärdet ärExtraValues.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