Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sintaksis
Table.TransformColumns(
table as table,
transformOperations as list,
optional defaultTransformation as nullable function,
optional missingField as nullable number
) as table
Tentang
Mengubah tabel yang ditentukan dengan menerapkan setiap operasi kolom dalam daftar.
-
table: Tabel yang akan ditransformasi. -
transformOperations: Transformasi yang diterapkan pada tabel. Format parameter ini adalah { nama kolom, transformasi } atau { nama kolom, transformasi, tipe kolom baru }. -
defaultTransformation: (Opsional) Transformasi default diterapkan ke semua kolom yang tidak tercantum dalamtransformOperations. -
missingField: (Opsional) Menentukan tindakan yang diharapkan untuk nilai yang hilang. Jika kolom yang tercantumtransformOperationsdi tidak ada, kesalahan dimunculkan (MissingField.Error) kecuali parameter ini menentukan alternatif. Gunakan salah satu nilai berikut:-
MissingField.UseNull: Setiap bidang yang hilang dimasukkan sebagai nilainull. -
MissingField.Ignore: Setiap bidang yang hilang diabaikan.
-
Contoh 1
Konversi nilai teks dalam kolom [A] menjadi nilai angka, dan nilai angka dalam kolom [B] menjadi nilai teks.
Penggunaan
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"]
})
Contoh 2
Konversi nilai angka dalam kolom yang hilang [X] menjadi nilai teks, default ke null pada kolom yang tidak ada.
Penggunaan
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]
})
Contoh 3
Tambahkan nilai angka dalam kolom [B] dan konversikan menjadi nilai teks, dan konversikan semua kolom lainnya menjadi angka.
Penggunaan
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"]
})
Contoh 4
Pindahkan tugas pemeliharaan terjadwal yang terjadi pada hari libur AS ke hari berikutnya atau, jika liburan terjadi pada hari Jumat, ke Senin berikutnya.
Penggunaan
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)}
})