Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Sintassi
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
Informazioni su
Trasforma la tabella specificata applicando ogni operazione di colonna in un elenco.
-
table: la tabella da trasformare. -
transformOperations: trasformazioni da apportare alla tabella. Il formato di questo parametro è { nome colonna, trasformazione } o { nome colonna, trasformazione, nuovo tipo di colonna }. -
defaultTransformation: (Facoltativo) Trasformazione predefinita applicata a tutte le colonne non elencate intransformOperations. -
missingField: (Facoltativo) Specifica l'azione prevista per i valori mancanti. Se una colonna elencata intransformOperationsnon esiste, viene generata un'eccezione () aMissingField.Errormeno che questo parametro non specifichi un'alternativa. Usare uno dei valori seguenti:-
MissingField.UseNull: tutti i campi mancanti vengono inclusi comenullvalori. -
MissingField.Ignore: tutti i campi mancanti vengono ignorati.
-
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
Convertire i valori numerici nella colonna mancante [X] in valori di testo, impostando di default null nelle colonne inesistenti.
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 3
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"]
})
Esempio 4
Spostare le attività di manutenzione pianificate che si verificano in una festività degli Stati Uniti al giorno successivo o, se la festività si verifica il venerdì, al lunedì successivo.
Utilizzo
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)}
})