Перейти до основного вмісту

Table.SplitColumn

Розділяє вказаний стовпець на додаткові стовпці за допомогою вказаної функції поділу.

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

Розділяє вказаний стовпець на додаткові стовпці за допомогою вказаної функції поділу.

  • table: таблиця, що містить стовпець, який потрібно розділити.
  • sourceColumn: ім’я стовпця, який потрібно розділити.
  • splitter: функція поділу, що використовується для розділення стовпця (наприклад, Splitter.SplitTextByDelimiter або Splitter.SplitTextByPosition).
  • columnNamesOrNumber: список імен нових стовпців, які потрібно створити, або кількість нових стовпців.
  • default: перевизначає значення, що використовується, якщо для заповнення всіх нових стовпців бракує розділених значень. Стандартне значення для цього параметра: null.
  • extraColumns: указує, що робити, якщо розділених значень може бути більше, ніж нових стовпців. Можна передати цьому параметру значення переліку ExtraValues.Type. Стандартне значення: ExtraValues.Ignore.

Examples

Example #1

Розділити стовпець імені на ім’я та прізвище.

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

Розділити стовпець імен на ім’я та прізвище, а потім перейменувати нові стовпці.

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

Розділити стовпець імен на ім’я та прізвище, перейменувати нові стовпці та заповнити всі пробіли рядком "-Немає запису-".

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

Розділити стовпець імен на ім’я та прізвище, а потім перейменувати нові стовпці. Оскільки кількість значень може перевищувати кількість доступних стовпців, зробити стовпець прізвища списком, що містить усі значення після імені.

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