Přeskočit na hlavní obsah

Table.SplitColumn

Rozdělí zadaný sloupec na sadu dalších sloupců pomocí zadané funkce rozdělení.

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​

Rozdělí zadaný sloupec na sadu dalších sloupců pomocí zadané funkce rozdělení.

  • table: Tabulka obsahující sloupec, který se má rozdělit
  • sourceColumn: Název sloupce, který se má rozdělit
  • splitter: Funkce rozdělení použitá k rozdělení sloupce (například Splitter.SplitTextByDelimiter nebo Splitter.SplitTextByPosition)
  • columnNamesOrNumber: Seznam nových názvů sloupců, které se mají vytvořit, nebo počet nových sloupců
  • default: Přepíše hodnotu použitou v případě, že není k dispozici dostatek rozdělených hodnot k vyplnění všech nových sloupců. Výchozí hodnota tohoto parametru je null.
  • extraColumns: Určuje, co dělat, pokud může existovat více rozdělených hodnot, než jaký je počet nových sloupců. Tomuto parametru můžete předat hodnotu výčtu ExtraValues.Type. Výchozí hodnota je ExtraValues.Ignore.

Examples​

Example #1​

Rozdělit sloupec jména na jméno a příjmení

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​

Rozdělit sloupec názvu na jméno a příjmení a přejmenovat nové sloupce

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​

Rozdělit sloupec jména na jméno a příjmení, přejmenovat nové sloupce a místo prázdných hodnot uvést -No Entry- (Žádná položka).

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​

Rozdělit sloupec názvu na jméno a příjmení a přejmenovat nové sloupce Protože může existovat více hodnot, než je počet dostupných sloupců, nastavte sloupec příjmení jako seznam, který obsahuje všechny hodnoty za křestní jméno.

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