Megosztás a következőn keresztül:


Table.TransformColumns

Szintaxis

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

Ról

Átalakítja a table-t a transformOperations-ben felsorolt egyes oszlopműveletek felhasználásával (ahol a formátum { oszlopnév, átalakítás } vagy { oszlopnév, átalakítás, új oszloptípus }). Ha egy defaultTransformation van megadva, az a transformOperationslistán nem szereplő összes oszlopra lesz alkalmazva. Ha a transformOperations oszlop nem létezik, a rendszer kivételt dob, kivéve, amennyiben az opcionális paraméter missingField megad egy alternatívát (például MissingField.UseNull vagy MissingField.Ignore).

1. példa

Az [A] oszlop szöveges értékeit konvertálja számértékekké, a [B] oszlopban lévő számértékeket pedig szövegértékekké.

Használat

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

kimeneti

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

2. példa

A hiányzó [X] oszlop számértékeinek átalakítása szöveges értékekké, figyelmen kívül hagyva a nem létező oszlopokat.

Használat

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

kimenet

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

3. példa

A hiányzó [X] oszlopban lévő számértékeket konvertálja szöveges értékekké, alapértelmezés szerint null értékre a nem létező oszlopokon.

Használat

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

kimeneti

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

4. példa

Növelje a [B] oszlopban lévő számértékeket, és konvertálja őket szöveges értékekké, és az összes többi oszlopot számmá alakítsa.

használat

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

kimeneti

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