Condividi tramite


Table.TransformColumns

Sintassi

Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable number) as table

Informazioni su

Trasforma table applicando ogni operazione di colonna elencata in transformOperations (dove il formato è { nome colonna, trasformazione } o { nome colonna, trasformazione, trasformazione, nuovo tipo di colonna }). Se viene specificato un defaultTransformation, verrà applicato a tutte le colonne non elencate in transformOperations. Se una colonna elencata in transformOperations non esiste, viene generata un'eccezione, a meno che il parametro missingField facoltativo non specifichi un'alternativa (ad esempio, MissingField.UseNull o MissingField.Ignore).

Esempio 1

Converte i valori di testo nella colonna [A] in valori numerici e i valori numerici nella colonna [B] in valori di testo.

Utilizzo

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {
        {"A", Number.FromText},
        {"B", Text.From}
    }
)

Output

Table.FromRecords({
    [A = 1, B = "2"],
    [A = 5, B = "10"]
})

Esempio 2

Converte i valori numerici nella colonna mancante [X] in valori di testo, ignorando le colonne che non esistono.

Utilizzo

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"X", Number.FromText},
    null,
    MissingField.Ignore
)

Output

Table.FromRecords({
    [A = "1", B = 2],
    [A = "5", B = 10]
})

Esempio 3

Converte i valori numerici nelle colonne mancanti [X] in valori di testo. Per le colonne che non esistono, verrà usato il valore predefinito Null.

Utilizzo

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"X", Number.FromText},
    null,
    MissingField.UseNull
)

Output

Table.FromRecords({
    [A = "1", B = 2, X = null],
    [A = "5", B = 10, X = null]
})

Esempio 4

Incrementa i valori numerici nella colonna [B], li converte in valori di testo e converte tutte le altre colonne in numeri.

Utilizzo

Table.TransformColumns(
    Table.FromRecords({
        [A = "1", B = 2],
        [A = "5", B = 10]
    }),
    {"B", each Text.From(_ + 1), type text},
    Number.FromText
)

Output

Table.FromRecords({
    [A = 1, B = "3"],
    [A = 5, B = "11"]
})