Sdílet prostřednictvím


Table.SplitColumn

Syntaxe

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

Asi

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

  • table: Tabulka obsahující sloupec, který chcete rozdělit.
  • sourceColumn: Název sloupce, který chcete rozdělit.
  • splitter: Rozdělovací funkce použitá k rozdělení sloupce (například Splitter.SplitTextByDelimiterSplitter.SplitTextByPositions).
  • columnNamesOrNumber: Buď 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řípadech, kdy není dostatek rozdělených hodnot k vyplnění všech nových sloupců. Výchozí hodnota pro tento parametr je null.
  • extraColumns: Určuje, co dělat, pokud může existovat více hodnot rozdělení než počet nových sloupců. Do tohoto parametru ExtraValues.Type můžete předat hodnotu výčtu. Výchozí hodnota je ExtraValues.Ignore.

Příklad 1

Rozdělte sloupec jména na křestní jméno a příjmení.

Použití

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

výstupní

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

Příklad 2

Rozdělte sloupec s názvem na křestní jméno a příjmení a přejmenujte nové sloupce.

Použití

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

výstupní

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

Příklad 3

Rozdělte sloupec s názvem na křestní jméno a příjmení, přejmenujte nové sloupce a vyplňte prázdné hodnoty textem -No Entry-.

Použití

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

výstupní

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

Příklad 4

Rozdělte sloupec s názvem na křestní jméno a příjmení a přejmenujte nové sloupce. Vzhledem k tomu, že může existovat více hodnot než počet dostupných sloupců, vytvořte ze sloupce příjmení seznam, který obsahuje všechny hodnoty za křestním jménem.

Použití

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

výstupní

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