Bagikan melalui


Table.SplitColumn

Sintaksis

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

Tentang

Memisahkan kolom yang ditentukan menjadi sekumpulan kolom tambahan menggunakan fungsi pemisah yang ditentukan.

  • table: Tabel yang berisi kolom untuk dipisahkan.
  • sourceColumn: Nama kolom yang akan dipisahkan.
  • splitter: Fungsi pemisah yang digunakan untuk memisahkan kolom (misalnya, Splitter.SplitTextByDelimiter atau Splitter.SplitTextByPositions).
  • columnNamesOrNumber: Daftar nama kolom baru yang akan dibuat, atau jumlah kolom baru.
  • default: Mengambil alih nilai yang digunakan saat tidak ada cukup nilai pemisahan untuk mengisi semua kolom baru. Default untuk parameter ini adalah null.
  • extraColumns: Menentukan apa yang harus dilakukan jika mungkin ada lebih banyak nilai terpisah daripada jumlah kolom baru. Anda dapat meneruskan ExtraValues.Type nilai enumerasi ke parameter ini. Defaultnya adalah ExtraValues.Ignore.

Contoh 1

Pisahkan kolom nama menjadi nama depan dan nama belakang.

Penggunaan

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

Hasil

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

Contoh 2

Pisahkan kolom nama menjadi nama depan dan nama belakang, lalu ganti nama kolom baru.

Penggunaan

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

Hasil

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

Contoh 3

Pisahkan kolom nama menjadi nama depan dan nama belakang, ganti nama kolom baru, dan isi kolom kosong apa pun dengan "-Tanpa Entri-".

Penggunaan

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

Hasil

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

Contoh 4

Pisahkan kolom nama menjadi nama depan dan nama belakang, lalu ganti nama kolom baru. Karena mungkin ada lebih banyak nilai daripada jumlah kolom yang tersedia, buat kolom nama belakang daftar yang menyertakan semua nilai setelah nama depan.

Penggunaan

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

Hasil

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