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

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