Baca dalam bahasa Inggris

Bagikan melalui


FORMAT

Berlaku untuk: kolom terhitungTabel terhitungMeasurePerhitungan visual

Mengonversi value ke teks sesuai dengan formatyang ditentukan.

Sintaksis

DAX
FORMAT(<value>, <format_string>[, <locale_name>])

Parameter

Istilah Definisi
value Ekspresi valueor yang mengevaluasi ke satu value.
format_string String dengan templat pemformatan.
locale_name (Opsional) Nama lokal yang akan digunakan oleh fungsi . Kemungkinan values adalah string yang diterima oleh fungsi Windows API LocaleNameToLCID().

Mengembalikan value

String yang berisi value diformat seperti yang didefinisikan oleh format_string.

Catatan

If value BLANK, fungsi mengembalikan string kosong.

If format_string BLANK, value diformat dengan format "Angka Umum" or "Date" (sesuai dengan jenis data value).

Komentar

  • String format yang telah ditentukan sebelumnya menggunakan properti budaya model saat memformat hasilnya. Secara default, properti budaya model diatur sesuai dengan lokal pengguna komputer. Untuk model Power BI Desktop baru, properti budaya model dapat diubah dalam Opsi > Pengaturan Regional > bahasa Model. Untuk Analysis Services, budaya model diatur sesuai dengan properti Bahasa yang awalnya ditentukan oleh instans.

  • String format yang didukung sebagai argumen ke fungsi DAXFORMAT didasarkan pada string format yang digunakan oleh Visual Basic (OLE Automation), not pada string format yang digunakan oleh .NET Framework. Oleh karena itu, Anda mungkin mendapatkan hasil yang tidak terduga orerrorif argumen tidak cocok dengan string format yang ditentukan. Misalnya, "p" sebagai singkatan untuk "Persen" tidak didukung. String yang Anda berikan sebagai argumen ke fungsi FORMAT yang tidak disertakan dalam daftar string format yang telah ditentukan sebelumnya ditangani sebagai bagian dari string format kustom, or sebagai string literal.

  • Untuk mempelajari lebih lanjut menentukan lokal dengan FORMAT, lihat video ini.

  • Menggunakan FORMAT mengubah hasil measure menjadi tipe data teks. If hasil measure awalnya adalah jenis data numerik, lalu dengan FORMAT, measure tidak dapat digunakan pada visual di mana bagian values memerlukan jenis data numerik, seperti dengan bagan. Di Power BI, Anda dapat menggunakan string format Dinamis untuk langkah-langkah menentukan string format bersyarkat yang mempertahankan jenis data numerik measure.

  • Fungsi ini not didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung or aturan keamanan tingkat baris (RLS).

Contoh

Format string

DAX
= FORMAT( 12345.67, "General Number")
= FORMAT( 12345.67, "Currency")
= FORMAT( 12345.67, "Fixed")
= FORMAT( 12345.67, "Standard")
= FORMAT( 12345.67, "Percent")
= FORMAT( 12345.67, "Scientific")

Kembali:

12345.67 "Angka Umum" menampilkan angka tanpa pemformatan.

$12.345,67 "Currency" menampilkan angka dengan pemformatan lokal currency Anda. sample di sini memperlihatkan pemformatan currency Amerika Serikat default.

12345,67 "Fixed" menampilkan setidaknya satu digit ke left pemisah desimal and dua digit ke right pemisah desimal.

12.345,67 "Standar" menampilkan setidaknya satu digit ke left pemisah desimal and dua digit ke right pemisah desimal, and menyertakan ribuan pemisah. sample di sini memperlihatkan pemformatan angka Amerika Serikat default.

1.234.567,00 % "Persen" menampilkan angka sebagai persentase (dikalikan dengan 100) dengan pemformatan and persen sign pada right angka yang dipisahkan oleh satu spasi.

1.23E+04 "Ilmiah" menampilkan angka dalam notasi ilmiah dengan dua digit desimal.

Tanggalwaktu dengan locale_name opsional

DAX
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-US" ) 
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-GB" ) 
= FORMAT( dt"2020-12-15T12:30:59", "mm/dd/yyyy", "en-GB" )

Kembali:

15/12/2020 12:30:59 Di mana dayandtimemonth sebelumnya adalah 12-hourformat.

15/12/2020 12:30:59 Di mana day sebelumnya monthandtime adalah 24-hourformat.

15/12/2020 12:30:59 Di mana month mendahului dayandtime adalah 24-hourformat. Karena string format dependen non-lokal ditentukan, lokal not diterapkan andformat non-lokal dikembalikan.

Format numerik yang telah ditentukan sebelumnya

Format numerik yang telah ditentukan sebelumnya berikut dapat ditentukan dalam argumen format_string:

Format Deskripsi
"General Number" Menampilkan angka tanpa pemisah ribuan.
"Currency" Menampilkan angka dengan seribu pemisah, if sesuai; menampilkan dua digit ke right pemisah desimal. Output didasarkan pada pengaturan lokal sistem.
"Fixed" Menampilkan setidaknya satu digit ke leftand dua digit ke right pemisah desimal.
"Standard" Menampilkan angka dengan pemisah ribuan, setidaknya satu digit ke leftand dua digit ke right pemisah desimal.
"Percent" Menampilkan angka yang dikalikan dengan 100 dengan persen sign (%) ditambahkan segera ke right; selalu menampilkan dua digit ke right pemisah desimal.
"Scientific" Menggunakan notasi ilmiah standar, menyediakan dua digit signifikan.
"Yes/No" Menampilkan Tidak ada angka if adalah 0; jika tidak, menampilkan Ya.
"True/False" Menampilkan angka Falseif adalah 0; jika tidak, menampilkan True.
"On/Off" Menampilkan Angka if Nonaktif adalah 0; jika tidak, menampilkan Aktif.

Format numerik kustom

Ekspresi format kustom untuk angka dapat memiliki satu hingga tiga bagian yang dipisahkan oleh titik koma. If argumen string formatcontains salah satu format numerik bernama, hanya satu bagian yang diizinkan.

If Anda gunakan Hasilnya adalah
Hanya satu bagian Ekspresi format berlaku untuk allvalues.
Dua bagian Bagian first berlaku untuk nol valuesand positif, second ke valuesnegatif .
Tiga bagian Bagian first berlaku untuk valuespositif , second ke valuesnegatif , and yang ketiga hingga nol.
DAX
"$#,##0;($#,##0)"

If Anda menyertakan titik koma tanpa apa pun di antara mereka, bagian yang hilang didefinisikan menggunakan formatvaluepositif . Misalnya, format berikut menampilkan values negatif and positif menggunakan format di bagian firstand menampilkan "Nol" ifvalue nol.

DAX
"$#,##0"

If Anda menyertakan titik koma tanpa apa pun di antara mereka, bagian yang hilang ditampilkan menggunakan formatvaluepositif .

Karakter format numerik kustom

Karakter format numerik kustom berikut dapat ditentukan dalam argumen format_string:

Watak Deskripsi
None Tampilkan angka tanpa pemformatan.
(0) Tempat penampung digit. Menampilkan digit or nol. If ekspresi memiliki digit di posisi tempat 0 muncul di string format, menampilkannya; jika tidak, tampilkan nol di posisi tersebut.If angka memiliki lebih sedikit digit daripada nol (di salah satu sisi desimal) dalam ekspresi format, tampilkan di depan or nol berikutnya. If angka memiliki lebih banyak digit ke right pemisah desimal daripada nol ke right pemisah desimal dalam ekspresi format, round angka ke tempat desimal sebanyak nol. If angka memiliki lebih banyak digit ke left pemisah desimal daripada nol ke left pemisah desimal dalam ekspresi format, menampilkan digit tambahan tanpa modifikasi.
(#) Tempat penampung digit. Tampilkan digit or apa pun. If ekspresi memiliki digit di posisi di mana # muncul di string format, menampilkannya; jika tidak, tidak menampilkan apa pun dalam posisi tersebut. Simbol ini berfungsi seperti tempat penampung 0 digit, except bahwa nol berikutnya and awal tidak ditampilkan if angka memiliki or digit yang sama lebih sedikit daripada karakter # di kedua sisi pemisah desimal dalam ekspresi format.
(.) Tempat penampung desimal. Di beberapa lokal, koma digunakan sebagai pemisah desimal. Tempat penampung desimal menentukan berapa banyak digit yang ditampilkan ke leftandright pemisah desimal. If ekspresi format hanya contains tanda angka ke left simbol ini, angka yang lebih kecil dari 1 dimulai dengan pemisah desimal. Untuk menampilkan nol di depan yang ditampilkan dengan angka pecahan, gunakan 0 sebagai tempat penampung digit first ke left pemisah desimal. Karakter aktual yang digunakan sebagai tempat penampung desimal dalam output yang diformat tergantung pada Angka Format yang dikenali oleh sistem Anda.
(%) Tempat penampung persentase. Ekspresi dikalikan dengan 100. Karakter persen (%) disisipkan dalam posisi di mana karakter tersebut muncul dalam string format.
(,) Seribu pemisah. Di beberapa lokal, periode digunakan sebagai pemisah seribu. Pemisah ribuan memisahkan ribuan dari ratusan dalam angka yang memiliki empat or lebih banyak tempat ke left pemisah desimal. Penggunaan standar pemisah seribu ditentukan ifformatcontains seribu pemisah yang dikelilingi oleh tempat penampung digit (0or#). Dua ribu pemisah yang berdekatan or seribu pemisah segera ke left pemisah desimal (apakah ornot desimal ditentukan) berarti "menskalakan angka dengan membandingkannya dengan 1000, membulatkan sesuai kebutuhan." Misalnya, Anda dapat menggunakan string format "##0," untuk mewakili 100 juta sebagai 100. Angka yang lebih kecil dari 1 juta ditampilkan sebagai 0. Dua ribu pemisah yang berdekatan dalam posisi apa pun selain segera ke left pemisah desimal diperlakukan hanya sebagai menentukan penggunaan seribu pemisah. Karakter aktual yang digunakan sebagai pemisah seribu dalam output yang diformat tergantung pada Angka yang Format dikenali oleh sistem Anda.
(:) pemisah Time. Di beberapa lokal, karakter lain dapat digunakan untuk mewakili pemisah time. Pemisah time memisahkan jam, menit, and detik saat timevalues diformat. Karakter aktual yang digunakan sebagai pemisah time dalam output yang diformat ditentukan oleh pengaturan sistem Anda.
(/) pemisah Date. Di beberapa lokal, karakter lain dapat digunakan untuk mewakili pemisah date. Pemisah date memisahkan day, month, andyear saat datevalues diformat. Karakter aktual yang digunakan sebagai pemisah date dalam output yang diformat ditentukan oleh pengaturan sistem Anda.
(E- E+ e- e+) formatilmiah . If ekspresi formatcontains setidaknya satu tempat penampung digit (0or#) ke right E-, E+, e-, or e+, angka ditampilkan dalam formatand ilmiah E or e dimasukkan di antara angka and eksponennya. Jumlah tempat penampung digit ke right menentukan jumlah digit dalam eksponen. Gunakan E- or e- untuk menempatkan signnext minus ke eksponen negatif. Gunakan E+ or e+ untuk menempatkan signnext minus ke eksponen negatif andsignnext plus ke eksponen positif.
- + $ ( ) Menampilkan karakter harfiah. Untuk menampilkan karakter selain salah satu karakter yang tercantum, awali dengan garis miring terbalik (\) or mengapitnya dalam tanda kutip ganda (" ").
(\\) Tampilkan karakter next dalam string format. Untuk menampilkan karakter yang memiliki arti khusus sebagai karakter harfiah, awali dengan garis miring terbalik (\). Garis miring terbelakang itu sendiri tidak ditampilkan. Menggunakan garis miring terbalik sama dengan menyertakan karakter next dalam tanda kutip ganda. Untuk menampilkan garis miring terbelakang, gunakan dua garis miring terbelakang (\\). Contoh karakter yang tidak dapat ditampilkan sebagai karakter harfiah adalah karakter date-pemformatan andtime-pemformatan (a, c, d, h, m, n, p, q, s, t, w, y, /, and :), karakter pemformatan numerik (#, 0, %, E, e, koma, periode and), and karakter pemformatan string (@, &, <, >, and !).
("ABC") Tampilkan string di dalam tanda kutip ganda (" ").

Format date/time yang telah ditentukan sebelumnya

Format date/time yang telah ditentukan sebelumnya berikut dapat ditentukan dalam argumen format_string. Saat menggunakan format selain ini, format tersebut ditafsirkan sebagai datekustom /timeformat:

Format Deskripsi
"General Date" Menampilkan dateand/ortime. Misalnya, 12/3/2008 11:07:31 AM. tampilan Date ditentukan oleh budaya aplikasi Anda saat ini value.
"Long Date" or "Medium Date" Menampilkan date sesuai dengan dateformatpanjang budaya Anda saat ini. Misalnya, Rabu, 12 Maret 2008.
"Short Date" Menampilkan date menggunakan dateformatpendek budaya Anda saat ini. Misalnya, 12/3/2008.
"Long Time" or Menampilkan time menggunakan timeformatpanjang budaya Anda saat ini; biasanya mencakup jam, menit, detik. Misalnya, 11:07:31 AM.
"Medium Time" Menampilkan time dalam 12 hourformat. Misalnya, pukul 11.07.
"Short Time" Menampilkan time dalam 24 hourformat. Misalnya, 11:07.

Format date/time kustom

Karakter format berikut dapat ditentukan dalam format_string untuk membuat format date/time kustom:

Watak Deskripsi
(:) pemisah Time. Di beberapa lokal, karakter lain dapat digunakan untuk mewakili pemisah time. Pemisah time memisahkan jam, menit, and detik saat timevalues diformat. Karakter aktual yang digunakan sebagai pemisah time dalam output yang diformat ditentukan oleh pengaturan sistem Anda.
(/) pemisah Date. Di beberapa lokal, karakter lain dapat digunakan untuk mewakili pemisah date. Pemisah date memisahkan day, month, andyear saat datevalues diformat. Karakter aktual yang digunakan sebagai pemisah date dalam output yang diformat ditentukan oleh pengaturan sistem Anda.
(\) Backslash. Menampilkan karakter next sebagai karakter harfiah. Jadi, not ditafsirkan sebagai karakter pemformatan.
(") Kutipan ganda. Teks yang diapit dalam tanda kutip ganda ditampilkan. Jadi, not ditafsirkan sebagai karakter pemformatan.
c Tampilkan date sebagai dddddand menampilkan time sebagai ttttt, dalam urutan tersebut. Tampilkan hanya informasi dateif tidak ada bagian pecahan ke nomor seri date; hanya menampilkan informasi timeif tidak ada bagian bilangan bulat.
d Tampilkan day sebagai angka tanpa nol di depannya (1-31).
dd Tampilkan day sebagai angka dengan nol di depannya (01-31).
ddd Tampilkan day sebagai singkatan (Sun-Sat). Lokal.
dddd Tampilkan day sebagai nama lengkap (Sunday-Saturday). Lokal.
ddddd Tampilkan date sebagai date lengkap (termasuk day, month, andyear), yang diformat sesuai dengan pengaturan dateformat pendek sistem Anda. date format pendek default adalah mm/dd/yyyy.
dddddd Tampilkan nomor seri date sebagai date lengkap (termasuk day, month, andyear) yang diformat sesuai dengan pengaturan date panjang yang dikenali oleh sistem Anda. date format panjang default adalah dddd, mmmm d, yyyy.
w Tampilkan day dalam seminggu sebagai angka (1 untuk Minggu hingga 7 untuk Sabtu).
ww Tampilkan minggu year sebagai angka (1-54).
m Tampilkan month sebagai angka tanpa nol di depannya (1-12). If m segera mengikuti horhh, minute daripada month ditampilkan.
mm Tampilkan month sebagai angka dengan nol di depannya (01-12). If mm segera mengikuti horhh, minute daripada month ditampilkan.
mmm Tampilkan month sebagai singkatan (Jan-Dec). Lokal.
mmmm Tampilkan month sebagai nama month lengkap (January-December). Lokal.
q Tampilkan quarteryear sebagai angka (1-4).
y Tampilkan dayyear sebagai angka (1-366).
yy Tampilkan year sebagai angka 2 digit (00-99).
yyyy Tampilkan year sebagai angka 4 digit (100-9999).
h Tampilkan hour sebagai angka tanpa nol di depannya (0-23).
hh Tampilkan hour sebagai angka dengan nol di depannya (00-23).
n Tampilkan minute sebagai angka tanpa nol di depannya (0-59).
nn Tampilkan minute sebagai angka dengan nol di depannya (00-59).
s Tampilkan second sebagai angka tanpa nol di depannya (0-59).
ss Tampilkan second sebagai angka dengan nol di depannya (00-59).
ttttt Menampilkan time sebagai time lengkap (termasuk hour, minute, andsecond), diformat menggunakan pemisah time yang ditentukan oleh timeformat yang dikenali oleh sistem Anda. Nol di depan ditampilkan if opsi nol di depan dipilih andtime sebelum pukul 10:00 A.M. or P.M. timeformat default adalah h:mm:ss.
AM/PM Gunakan jam 12hourand menampilkan AM huruf besar dengan hour apa pun sebelum siang; menampilkan PM huruf besar dengan hour antara siang and 11:59 P.M.
am/pm Gunakan jam 12hourand menampilkan AM huruf kecil dengan hour sebelum siang; menampilkan PM huruf kecil dengan hour antara siang and 11:59 P.M.
A/P Gunakan jam 12hourand menampilkan huruf besar A dengan hour apa pun sebelum siang hari; menampilkan P huruf besar dengan hour antara siang hari and 11:59 P.M.
a/p Gunakan jam 12hourand menampilkan huruf kecil A dengan hour sebelum siang; menampilkan huruf kecil dengan hour antara siang and 11:59 P.M.
AMPM Gunakan jam 12hourand menampilkan string AM harfiah seperti yang didefinisikan oleh sistem Anda dengan hour apa pun sebelum siang; menampilkan string PM literal seperti yang didefinisikan oleh sistem Anda dengan hour antara siang and 11:59 P.M. AMPM dapat berupa huruf besar or huruf kecil, tetapi kasus string yang ditampilkan cocok dengan string seperti yang didefinisikan oleh pengaturan sistem Anda. format default adalah AM/PM. If sistem Anda diatur ke jam 24hour, string biasanya diatur ke string kosong.

pemformatan Date/time menggunakan lokal pengguna saat ini untuk format string. Misalnya, pertimbangkan date 25 Juni 2020. Ketika diformat menggunakan string format "m/d/yyyy" itu akan menjadi:

  • Lokal pengguna adalah Amerika Serikat (en-US): "25/6/2020"
  • Lokal pengguna adalah Jerman (de-DE): "6.25.2020"

Contoh date/timeformat kustom

Contoh berikut menggunakan date/time Kamis, 25 Juni 2020, pukul 13.23.45 WIB. Jerman (de-DE) menggunakan sistem 24hour. Tidak ada yang setara dengan AM/PM.

Format Hasil (en-US) Hasil (de-DE)
"c" 06/25/2020 13:23:45 25.06.2020 13:23:45
"d" 25 25
"dd" 25 25
"ddd" Ibu jari Melakukan
"dddd" Kamis Donnerstag
"ddddd" 06/25/2020 25.06.2020
"dddddd" Kamis, 25 Juni 2020 Donnerstag, 25. Juni 2020
"w" 5 5
"ww" 26 26
"m" 6 6
"mm" 06 06
"mmm" Jun Jun
"mmmm" Juni Juni
"q" 2 2
"y" 177 177
"yy" 20 20
"yyyy" 2020 2020
"""Year"" yyyy" Year 2020 Year 2020
"yyyy \Qq" Q2 2020 Q2 2020
"dd/mm/yyyy" 25/06/2020 25.06.2020
"mm/dd/yyyy" 06/25/2020 06.25.2020
"h:nn:ss" 13:23:45 13:23:45
"h:nn:ss AMPM" 13:23:45 PM 1:23:45
"hh:nn:ss" 13:23:45 13:23:45
"hh:nn:ss AMPM" 01:23:45 PM 01:23:45
"ttttt" 13:23:45 13:23:45
"ttttt AMPM" 13:23:45 PM 13:23:45
"mm/dd/yyyy hh:nn:ss AMPM" 25/06/2020 01:23:45 PM 6.25.2020 01:23:45