Partager via


Table.SplitColumn

Syntaxe

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

À propos

Fractionne la colonne spécifiée en un ensemble de colonnes supplémentaires à l’aide de la fonction de fractionnement spécifiée.

  • table : le tableau contenant la colonne à fractionner.
  • sourceColumn: nom de la colonne à fractionner.
  • splitter: fonction de fractionnement utilisée pour fractionner la colonne (par exemple, Splitter.SplitTextByDelimiter ou Splitter.SplitTextByPositions).
  • columnNamesOrNumber: liste de nouveaux noms de colonnes à créer ou nombre de nouvelles colonnes.
  • default: remplace la valeur utilisée lorsqu’il n’y a pas suffisamment de valeurs fractionnées pour remplir toutes les nouvelles colonnes. La valeur par défaut de ce paramètre est null.
  • extraColumns: spécifie ce qu’il faut faire s’il peut y avoir plus de valeurs fractionnées que le nombre de nouvelles colonnes. Vous pouvez passer une valeur d’énumération ExtraValues.Type à ce paramètre. La valeur par défaut est ExtraValues.Ignore.

Exemple 1

Fractionnez la colonne de nom en prénom et nom.

Utilisation

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

Sortie

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

Exemple 2

Fractionnez la colonne de nom en prénom et nom, puis renommez les nouvelles colonnes.

Utilisation

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

Sortie

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

Exemple 3

Fractionnez la colonne de nom en prénom et nom, renommez les nouvelles colonnes, puis renseignez les espaces avec « -No Entry- ».

Utilisation

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

Sortie

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

Exemple 4

Fractionnez la colonne de nom en prénom et nom, puis renommez les nouvelles colonnes. Étant donné qu’il peut y avoir plus de valeurs que le nombre de colonnes disponibles, faites en sorte que la colonne de nom soit une liste qui inclut toutes les valeurs après le prénom.

Utilisation

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

Sortie

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