다음을 통해 공유


Table.SplitColumn

통사론

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

소개

지정된 분할자 함수를 사용하여 지정된 열을 추가 열 집합으로 분할합니다.

  • table: 분할할 열이 포함된 테이블입니다.
  • sourceColumn: 분할할 열의 이름입니다.
  • splitter: 열을 분할하는 데 사용되는 분할자 함수 (예: Splitter.SplitTextByDelimiter 또는 Splitter.SplitTextByPositions)입니다.
  • columnNamesOrNumber: 새로 만들 열 이름의 목록 또는 새 열의 수입니다.
  • default: 모든 새 열을 채울 수 있는 분할 값이 충분하지 않을 때 사용되는 값을 재정의합니다. 이 매개 변수의 기본값은 null.
  • extraColumns: 새 열 수보다 더 많은 분할 값이 있을 수 있는 경우 수행할 작업을 지정합니다. 이 매개 변수에 ExtraValues.Type 열거형 값을 전달할 수 있습니다. 기본값은 ExtraValues.Ignore입니다.

예제 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

출력

#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

이름 열을 이름과 성으로 분할한 다음 새 열의 이름을 바꿉니다.

사용량

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

출력

#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

이름 열을 이름과 성으로 분할하고, 새 열의 이름을 바꾸고, 공백을 "-No Entry-"으로 채웁니다.

사용량

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

출력

#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

이름 열을 이름과 성으로 분할한 다음 새 열의 이름을 바꿉니다. 사용 가능한 열 수보다 값이 많을 수 있으므로 성 열을 이름 뒤의 모든 값이 포함된 목록으로 만듭니다.

사용량

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

출력

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