Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Syntaxe
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
À propos
Transforme la table spécifiée en appliquant chaque opération de colonne dans une liste.
-
table: table à transformer. -
transformOperations: transformations à effectuer dans la table. Le format de ce paramètre est { nom de colonne, transformation } ou { nom de colonne, transformation, nouveau type de colonne }. -
defaultTransformation: (Facultatif) Transformation par défaut appliquée à toutes les colonnes non répertoriées danstransformOperations. -
missingField: (Facultatif) Spécifie l’action attendue pour les valeurs manquantes. Si une colonne répertoriée danstransformOperationsn’existe pas, une exception est levée (MissingField.Error) sauf si ce paramètre spécifie une alternative. Utilisez l’une des valeurs suivantes :-
MissingField.UseNull: tous les champs manquants sont inclus en tant quenullvaleurs. -
MissingField.Ignore: tous les champs manquants sont ignorés.
-
Exemple 1
Convertissez les valeurs de texte de la colonne [A] en valeurs numériques et les valeurs numériques de la colonne [B] en valeurs de texte.
Utilisation
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"]
})
Exemple 2
Convertissez les valeurs numériques de la colonne manquante [X] en valeurs de texte, en définissant null par défaut pour les colonnes inexistantes.
Utilisation
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]
})
Exemple 3
Incrémentez les valeurs numériques dans la colonne [B] et convertissez-les en valeurs de texte, puis convertissez toutes les autres colonnes en nombres.
Utilisation
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"]
})
Exemple 4
Déplacez les tâches de maintenance planifiées qui se produisent le jour suivant vers le lendemain ou, si le jour férié se produit le vendredi, jusqu’au lundi suivant.
Utilisation
let
MaintenanceSchedule = #table(type table [Task = text, Date = date],
{
{"HVAC Check", #date(2025, 7, 10)}, // Not a holiday
{"Window Washing", #date(2025, 9, 1)}, // Labor Day
{"Fire Drill", #date(2025, 9, 17)}, // Not a holiday
{"Light Replacement", #date(2025, 11, 27)} // Thanksgiving
}),
USHolidays = {
#date(2025, 1, 1), // New Year's Day
#date(2025, 7, 4), // Independence Day
#date(2025, 9, 1), // Labor Day
#date(2025, 11, 27), // Thanksgiving
#date(2025, 12, 25) // Christmas
},
AdjustedSchedule = Table.TransformColumns(
MaintenanceSchedule,
{{"Date", each if List.Contains(USHolidays, _) then
if Date.DayOfWeek(_, Day.Sunday) = 5 then
Date.AddDays(_, 3) // Friday to Monday
else
Date.AddDays(_, 1) // Other to next day
else _, type date}}
)
in
AdjustedSchedule
Output
#table(type table[Task = text, Date = date],
{
{"HVAC Check", #date(2025, 7, 10)},
{"Window Washing", #date(2025, 9, 2)},
{"Fire Drill", #date(2025, 9, 17)},
{"Light Replacement", #date(2025, 11, 28)}
})