Megosztás a következőn keresztül:


Table.SplitColumn

Szintaxis

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

Rólunk

A megadott oszlopot felosztja további oszlopok készletére a megadott elválasztó függvénnyel.

  • table: A felosztandó oszlopot tartalmazó táblázat.
  • sourceColumn: A felosztandó oszlop neve.
  • splitter: Az oszlop felosztásához használt elválasztó függvény (például Splitter.SplitTextByDelimiterSplitter.SplitTextByPositions).
  • columnNamesOrNumber: A létrehozandó új oszlopnevek listája vagy az új oszlopok száma.
  • default: Felülbírálja a használt értéket, ha nincs elég felosztott érték az összes új oszlop kitöltéséhez. Ennek a paraméternek az alapértelmezett értéke null.
  • extraColumns: Megadja, hogy mi a teendő, ha több felosztási érték szerepelhet, mint az új oszlopok száma. Enumerálási ExtraValues.Type értéket adhat hozzá ehhez a paraméterhez. Az alapértelmezett érték a ExtraValues.Ignore.

1. példa

A névoszlop felosztása utónévre és vezetéknévre.

Használat

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

kimeneti

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

2. példa

Ossza fel a névoszlopot utónévre és vezetéknévre, majd nevezze át az új oszlopokat.

Használat

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

kimeneti

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

3. példa

Ossza fel a névoszlopot utónévre és vezetéknévre, nevezze át az új oszlopokat, és töltse ki az üres mezőket a "-Nincs bejegyzés" szöveggel.

Használat

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

kimeneti

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

4. példa

Ossza fel a névoszlopot utónévre és vezetéknévre, majd nevezze át az új oszlopokat. Mivel a rendelkezésre álló oszlopok számánál több érték is lehet, a vezetéknév oszlopot olyan listára kell tenni, amely tartalmazza az utónév utáni összes értéket.

Használat

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

kimeneti

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