Compartilhar via


Table.SplitColumn

Sintaxe

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

Sobre

Divide a coluna especificada em um conjunto de colunas adicionais usando a função de divisor especificada.

  • table: a tabela que contém a coluna a ser dividida.
  • sourceColumn: o nome da coluna a ser dividida.
  • splitter: a função de divisor usada para dividir a coluna (por exemplo, Splitter.SplitTextByDelimiter ou Splitter.SplitTextByPositions).
  • columnNamesOrNumber: uma lista de novos nomes de coluna a serem criados ou o número de novas colunas.
  • default: substitui o valor usado quando não há valores divididos suficientes para preencher todas as novas colunas. O padrão para esse parâmetro é null.
  • extraColumns: especifica o que fazer se houver mais valores divididos do que o número de novas colunas. Você pode passar um ExtraValues.Type valor de enumeração para esse parâmetro. O padrão é ExtraValues.Ignore.

Exemplo 1

Divida a coluna de nome em nome e sobrenome.

Uso

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

Saída

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

Exemplo 2

Divida a coluna de nome em nome e sobrenome e, em seguida, renomeie as novas colunas.

Uso

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

Saída

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

Exemplo 3

Divida a coluna de nome em nome e sobrenome, renomeie as novas colunas e preencha todos os espaços em branco com "-Sem Entrada-".

Uso

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

Saída

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

Exemplo 4

Divida a coluna de nome em nome e sobrenome e, em seguida, renomeie as novas colunas. Como pode haver mais valores do que o número de colunas disponíveis, torne a coluna de sobrenome uma lista que inclui todos os valores após o nome.

Uso

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

Saída

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