Jenis dan konversi tipe
Power Query M menggunakan tipe untuk mengklasifikasikan nilai agar memiliki himpunan data yang lebih terstruktur. Artikel ini menjelaskan jenis M yang paling umum digunakan dan cara mengonversi satu jenis ke jenis lain.
Jenis yang umum digunakan
Jenis data mengacu pada jenis apa pun yang digunakan untuk mengklarifikasi struktur data tertentu. Jenis data yang paling umum digunakan adalah jenis primitif. Jenis-jenis ini meliputi:
-
type any
, yang mengklasifikasikan nilai apa pun. -
type null
, yang mengklasifikasikan nilai null. -
type logical
, yang mengklasifikasikan nilai benar dan salah. -
type number
, yang mengklasifikasikan nilai angka. -
type time
, yang mengklasifikasikan nilai waktu. -
type date
, yang mengklasifikasikan nilai tanggal. -
type datetime
, yang mengklasifikasikan nilai tanggal dan waktu. -
type datetimezone
, yang mengklasifikasikan nilai zona waktu. -
type duration
, yang mengklasifikasikan nilai durasi. -
type text
, yang mengklasifikasikan nilai teks. -
type binary
, yang mengklasifikasikan nilai biner. -
type type
, yang mengklasifikasikan nilai jenis. -
type list
yang mengklasifikasikan nilai-nilai daftar. -
type record
, yang mengklasifikasikan nilai rekaman. -
type table
, yang mengklasifikasikan nilai tabel. -
type function
, yang mengklasifikasikan nilai fungsi. -
type anynonnull
, yang mengklasifikasikan semua nilai tidak termasuk null. -
type none
, yang tidak mengklasifikasikan nilai.
Untuk informasi selengkapnya tentang jenis-jenis ini, kunjungi Types.
Selain jenis data umum ini, ada juga sekumpulan jenis data menggunakan format *.Type
. Jenis data yang paling umum digunakan dari format ini adalah:
-
Byte.Type
, yang mengklasifikasikan nilai angka 8-bit. -
Int8.Type
, yang mengklasifikasikan nilai angka 8-bit. -
Int16.Type
, yang mengklasifikasikan nilai angka 16-bit. -
Int32.Type
, yang mengklasifikasikan nilai angka 32-bit. -
Int64.Type
, yang mengklasifikasikan nilai angka 64-bit. -
Single.Type
, yang mengklasifikasikan nilai angka mengambang 9 digit. -
Double.Type
, yang mengklasifikasikan nilai angka mengambang 17 digit. -
Decimal.Type
, yang mengklasifikasikan nilai angka mengambang 15 digit. -
Currency.Type
, yang mengklasifikasikan nilai angka 19 digit dengan empat digit di sebelah kanan pemisah ".". -
Percentage.Type
, yang mengklasifikasikan nilai angka 15 digit dengan masker untuk memformat nilai sebagai persentase. -
Guid.Type
, yang mengklasifikasikan nilai teks GUID.
Jenis primitif juga dapat ditulis dalam format *.Type
. Oleh karena itu, Anda dapat menulis number
sebagai Number.Type
, record
sebagai Record.Type
, dan sebagainya.
Saat Anda menggunakan salah satu dari jenis ini, perlu diketahui bahwa, seperti semua kode M, jenis-jenis ini peka terhadap huruf besar/kecil.
Tabel berikut ini berisi informasi selengkapnya tentang masing-masing jenis ini.
Jenis data | Deskripsi |
---|---|
any |
Jenis data any adalah status yang diberikan ketika nilai tidak memiliki definisi jenis data eksplisit. Jenis any adalah jenis data yang mengklasifikasikan semua nilai. |
binary |
Jenis data binary dapat digunakan untuk mewakili data lain dengan format biner. |
type |
Nilai yang mengklasifikasikan nilai lain. Untuk informasi selengkapnya, buka Types. |
null |
Mewakili tidak adanya nilai, atau nilai status yang tidak ditentukan atau tidak diketahui. |
anynonnull |
Mewakili jenis apa pun yang tidak dapat diulang. |
date |
Hanya mewakili tanggal (tidak ada bagian waktu). |
time |
Mewakili waktu saja (tidak ada bagian tanggal). |
datetime |
Mewakili nilai tanggal dan waktu. Bagian waktu dari tanggal disimpan sebagai pecahan dari kelipatan 1/300 detik (3,33 mdtk). Tanggal antara tahun 1900 dan 9999 didukung. |
datetimezone |
Mewakili tanggal dan waktu UTC dengan offset zona waktu. |
duration |
Mewakili lamanya waktu. Jenis ini dapat ditambahkan atau dikurangi dari bidang datetime dengan hasil yang benar. Untuk informasi selengkapnya, kunjungi Durasi. |
text |
String data dengan karakter Unicode. Bisa berupa string, angka, atau tanggal yang ditunjukkan dalam format teks. Panjang string maksimum adalah 268.435.456 karakter Unicode (di mana setiap karakter Unicode adalah dua byte) atau 536.870.912 byte. |
logical |
Nilai Boolean dari true atau false . |
list |
Nilai yang menghasilkan urutan nilai saat dijumlahkan. Untuk informasi selengkapnya, buka Daftar jenis dan Daftar nilai. |
record |
Serangkaian bidang yang terurut. Setiap bidang berisi nama bidang dan nilai bidang. Untuk informasi selengkapnya, buka Jenis Rekaman dan Nilai Rekaman. |
table |
Serangkaian baris yang dibagi menjadi kolom. Untuk informasi selengkapnya, buka Jenis Tabel dan Nilai Tabel. |
function |
Nilai yang memetakan sekumpulan argumen ke satu nilai. Untuk informasi selengkapnya, buka Fungsi dan Jenis Fungsi. |
number |
Mewakili angka apa pun yang digunakan untuk operasi numerik dan aritmatika. Untuk informasi selengkapnya, buka Nomor. |
Decimal.Type |
Mewakili angka titik mengambang 64-bit (delapan byte). Ini adalah jenis angka yang paling umum, dan sesuai dengan angka seperti yang biasanya Anda pikirkan. Meskipun dirancang untuk menangani angka dengan nilai pecahan, ini juga menangani bilangan bulat.
Decimal.Type dapat menangani nilai negatif dari –1,79E +308 hingga –2,23E –308, 0, dan nilai positif dari 2,23E –308 hingga 1,79E + 308. Misalnya, angka seperti 34, 34.01, dan 34.000367063 adalah angka desimal yang valid. Presisi terbesar yang dapat diwakili dalam Decimal.Type adalah sepanjang 15 digit. Pemisah desimal dapat terjadi di mana saja dalam angka.
Decimal.Type sesuai dengan cara Excel menyimpan angkanya. Perhatikan bahwa angka floating-point biner tidak dapat mewakili semua angka dalam rentang yang didukung dengan akurasi 100%. Dengan demikian, perbedaan kecil dalam presisi mungkin terjadi saat mewakili angka desimal tertentu. |
Currency.Type |
Jenis data ini memiliki lokasi tetap untuk pemisah desimal. Pemisah desimal selalu memiliki empat digit di sebelah kanannya dan memungkinkan 19 digit signifikansi. Nilai terbesar yang dapat diwakilinya adalah 922.337.203.685.477,5807 (positif atau negatif). Tidak seperti Decimal.Type , Currency.Type selalu tepat dan dengan demikian berguna dalam kasus di mana ketidakakuratan notasi floating-point yang mungkin menimbulkan kesalahan. |
Percentage.Type |
Pada dasarnya sama dengan Decimal.Type , tetapi memiliki masker untuk memformat nilai sebagai nilai persentase. |
Int8.Type |
Mewakili nilai bilangan bulat bertanda tangan 8-bit (satu byte). Karena bilangan bulat, itu tidak memiliki digit di sebelah kanan tempat desimal. Ini memungkinkan untuk 3 digit; angka keseluruhan positif atau negatif antara –128 dan 127. Seperti halnya Currency.Type , Int8.Type dapat berguna dalam kasus ketika Anda perlu mengontrol pembulatan. |
Int16.Type |
Mewakili nilai bilangan bulat bertanda tangan 16-bit (dua byte). Karena bilangan bulat, itu tidak memiliki digit di sebelah kanan tempat desimal. Ini memungkinkan untuk 6 digit; bilangan bulat positif atau negatif antara –32.768 (–2^15) dan 32.767 (2^15-1). Seperti halnya Currency.Type , Int16.Type dapat berguna dalam kasus ketika Anda perlu mengontrol pembulatan. |
Int32.Type |
Mewakili nilai bilangan bulat bertanda 32-bit (empat byte). Karena bilangan bulat, itu tidak memiliki digit di sebelah kanan tempat desimal. Ini memungkinkan untuk 10 digit: bilangan bulat positif atau negatif antara –2,147,483,648 (–2^31) dan 2,147,483,647 (2^31–1). Seperti halnya Currency.Type , Int32.Type dapat berguna dalam kasus ketika Anda perlu mengontrol pembulatan. |
Int64.Type |
Mewakili nilai bilangan bulat bertanda tangan 64-bit (delapan byte). Karena bilangan bulat, itu tidak memiliki digit di sebelah kanan tempat desimal. Ini memungkinkan hingga 19 digit; bilangan bulat positif atau negatif antara –9.223.372.036.854.775.808 (–2^63) dan 9.223.372.036.854.775.807 (2^63–1). Ini dapat mewakili presisi terbesar dari berbagai jenis data numerik. Seperti halnya Currency.Type , Int64.Type dapat berguna dalam kasus ketika Anda perlu mengontrol pembulatan. |
Byte.Type |
Mewakili nilai bilangan bulat yang tidak ditandatangani 8-bit (satu byte). Karena bilangan bulat tidak ditandatangani, bilangan bulat tidak memiliki digit di sebelah kanan tempat desimal dan hanya dapat berisi nilai positif. Ini memungkinkan untuk 3 digit; angka positif antara 0 dan 255. |
Single.Type |
Mewakili bilangan titik-mengambang presisi tunggal. Ini memiliki kisaran perkiraan –3,99 X 1038 hingga 3,99 X 1038 dan mendukung sekitar 9 digit presisi. Ini juga dapat mewakili infinitas positif dan negatif, dan NaN (Bukan Angka). |
Double.Type |
Mewakili bilangan titik-mengambang presisi ganda. Ini memiliki kisaran perkiraan –1,7976931348623158 X 10307 hingga 1,7976931348623158 X 10307 dan mendukung sekitar 17 digit presisi. Ini juga dapat mewakili infinitas positif dan negatif, dan NaN (Bukan Angka). |
Guid.Type |
Mewakili nilai teks 128-bit yang terdiri dari 32 nilai heksadesimal dalam bentuk berikut: <8 nilai heksa,>-<4 nilai heksa,>-<4 nilai heksa,>-<4 nilai heksa,>-<12 nilai heksa>, yang keseluruhannya membentuk nilai GUID. |
none |
Jenis data yang tidak mengklasifikasikan nilai. |
Satu-satunya nilai *.Type
lain yang umum digunakan adalah enumerasi. Untuk informasi selengkapnya, buka Enumerasi.
Konversi jenis
Bahasa rumus Power Query M memiliki rumus untuk dikonversi di antara tipe. Berikut ini adalah ringkasan rumus konversi dalam M.
Number
Konversi jenis | Deskripsi |
---|---|
Number.FromText(teks sebagai teks) sebagai angka | Mengembalikan nilai angka dari nilai teks. |
Number.ToText(angka sebagai numeral) sebagai teks | Mengembalikan nilai teks dari nilai angka. |
Number.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka dari nilai. |
Byte.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka bilangan bulat 8-bit dari nilai yang diberikan. |
Int8.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka bilangan bulat 8-bit dari nilai yang diberikan. |
Int16.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka bilangan bulat 16-bit dari nilai yang diberikan. |
Int32.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka bilangan bulat 32-bit dari nilai yang diberikan. |
Int64.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka bilangan bulat 64-bit dari nilai yang diberikan. |
Single.From(nilai apa pun) sebagai angka | Mengembalikan nilai Angka tunggal dari nilai yang diberikan. |
Double.From(nilai apa pun) sebagai angka | Mengembalikan nilai Angka ganda dari nilai yang diberikan. |
Decimal.From(nilai apa pun) sebagai angka | Mengembalikan nilai Angka desimal dari nilai yang diberikan. |
Currency.From(nilai apa pun) sebagai angka | Mengembalikan nilai angka Mata Uang dari nilai yang diberikan. |
Percentage.From(nilai apa pun) sebagai angka | Mengembalikan nilai Angka persentase dari nilai yang diberikan. |
Teks
Konversi jenis | Deskripsi |
---|---|
Text.From(nilai apa pun) sebagai teks | Mengembalikan representasi teks dari angka, tanggal, waktu, tanggalwaktu, zona tanggalwaktu, logis, durasi, atau nilai biner. |
Guid.From(nilai sebagai teks) sebagai teks | Mengembalikan representasi GUID dari teks yang ditentukan. |
Logika
Konversi jenis | Deskripsi |
---|---|
Logical.FromText(teks sebagai teks) secara logis | Mengembalikan nilai logis true atau false dari nilai teks. |
Logical.ToText(sebagai logis) sebagai teks | Mengembalikan nilai teks dari nilai logika. |
Logical.From(nilai apa pun) sebagai logis | Mengembalikan nilai logika dari nilai. |
Tanggal, Waktu, DateTime, dan DateTimeZone
Konversi jenis | Deskripsi |
---|---|
. FromText(teks sebagai teks) sebagai tanggal, waktu, tanggalwaktu, atau zona tanggalwaktu | Mengembalikan nilai tanggal, waktu, tanggalwaktu, atau zona tanggalwaktu dari sekumpulan format tanggal dan nilai budaya. |
. ToText(date, time, dateTime, atau dateTimeZone as date, time, datetime, atau datetimezone) sebagai teks | Mengembalikan nilai teks dari nilai tanggal, waktu, tanggalwaktu, atau zona tanggalwaktu. |
. From(value as any) | Mengembalikan nilai tanggal, waktu, tanggalwaktu, atau zona tanggalwaktu dari nilai. |
. ToRecord(tanggal, waktu, dateTime, atau dateTimeZone sebagai tanggal, waktu, tanggalwaktu, atau zona tanggalwaktu) | Mengembalikan rekaman yang berisi bagian dari nilai tanggal, waktu, tanggalwaktu, atau zona tanggalwaktu. |
Konten terkait
- Jenis
- sistem jenis Power Query M