Bekerja dengan kolom rumus
Kolom rumus adalah kolom yang menampilkan nilai hitung dalam tabel Microsoft Dataverse. Formulas use Power Fx, bahasa pemrograman yang kuat namun ramah manusia. Buat rumus di kolom rumus Dataverse dengan cara yang sama seperti anda akan membangun rumus di Microsoft Excel. Saat Anda mengetik, Intellisense menyarankan fungsi dan sintaks, dan bahkan membantu Anda memperbaiki kesalahan.
Menambahkan kolom rumus
Masuk ke Power Apps AT https://make.powerapps.com.
Pilih Tabel, lalu pilih tabel tempat Anda ingin menambahkan kolom rumus. Jika item tidak ada di panel panel samping, pilih ... Lainnya lalu pilih item yang Anda inginkan.
Pilih area Kolom , lalu pilih Kolom baru.
Masukkan informasi berikut:
- ANama tampilanuntuk kolom.
- Secara opsional, masukkan Deskripsi kolom.
Untuk Tipe data, pilih Rumus fx.
Ketik rumus atau gunakan saran rumus:
Masukkan Power Fx rumus di kotak Rumus . Informasi lebih lanjut: Ketik rumus
- Pilih properti tambahan:
- Pilih Dapat Dicari jika Anda ingin kolom ini tersedia dalam tampilan, bagan, dasbor, dan Pencarian Tingkat Lanjut.
- Opsi lanjutan:
- Jika rumus mengevaluasi ke nilai desimal, perluas Opsi tingkat lanjut untuk mengubah jumlah titik presisi, antara 0 dan 10. Nilai default adalah 2.
- Pilih Simpan.
Ketik rumus
Contoh berikut membuat kolom rumus yang disebut Harga total. Kolom Jumlah unit adalah tipe data bilangan bulat. Kolom Harga adalah tipe data desimal.
Kolom rumus menampilkan hasil Harga dikalikan dengan Jumlah unit.
Rumus yang Anda masukkan menentukan jenis kolom. Anda tidak dapat mengubah jenis kolom setelah kolom dibuat. Artinya, Anda dapat mengubah rumus setelah membuat kolom hanya jika tidak mengubah jenis kolom.
Misalnya, rumus harga * diskon membuat jenis kolom angka. Anda dapat mengubah harga * diskon menjadi harga * (diskon + 10%) karena itu tidak mengubah jenis kolom. Namun, Anda tidak dapat mengubah harga * diskon menjadi Text(price * discount)karena itu akan mengharuskan mengubah jenis kolom menjadi string.
Mendapatkan saran rumus (pratinjau)
[Topik ini adalah dokumentasi prarilis dan dapat berubah.]
Jelaskan apa yang Anda inginkan untuk dilakukan rumus dan dapatkan hasil yang dihasilkan AI. Saran rumus menerima input bahasa alami Anda untuk menafsirkan dan menyarankan Power Fx rumus menggunakan model AI berbasis GPT.
Penting
Ini adalah fitur pratinjau yang hanya tersedia di wilayah AS saja.
Fitur pratinjau tidak dibuat untuk penggunaan produksi dan mungkin memiliki fungsionalitas yang dibatasi. Fitur ini tersedia sebelum rilis resmi agar pelanggan bisa memperoleh akses awal dan memberikan tanggapan.
Saat ini, saran rumus yang mereferensikan satu tabel didukung. Saran rumus yang mereferensikan kolom pada tabel terkait tidak didukung.
Prasyarat
Untuk mengaktifkan fitur ini, Anda harus mengaktifkan saran AI untuk pengaturan lingkungan kolom rumus . Informasi lebih lanjut: Saran AI untuk kolom rumus
Contoh input bahasa alami
Bayangkan ada kolom Peringkat Pelanggan yang menunjukkan peringkat mereka berdasarkan akun.
Dalam kotak Dapatkan saran rumus masukkan rumus dalam bahasa alami, seperti Jika peringkat pada kolom peringkat sama dengan atau lebih besar dari 5 maka tunjukkan sebagai Baik dan jika kurang dari 5 tunjukkan sebagai Rata-rata dan jika nilainya kosong atau nol maka tampilkan sebagai Buruk, lalu pilih tombol panah (enter).
Kemudian salin Rumus yang Disarankan.
Dan tempelkan ke dalam kotak Ketik rumus . Pilih Simpan.
Berikut adalah bagaimana rumus muncul saat ditempelkan.
Switch(
ThisRecord.'Customer Rating',
Blank(), "Bad",
0, "Bad",
1, "Average",
2, "Average",
3, "Average",
4, "Average",
5, "Good",
6, "Good",
7, "Good",
8, "Good",
9, "Good",
10, "Good"
)
Periksa kolom rumus Deskripsi Peringkat yang dihitung , yang muncul seperti ini.
AI yang bertanggung jawab
Untuk informasi tentang AI yang bertanggung jawab, buka sumber daya berikut:
- FAQ untuk membuat aplikasi dan tabel melalui percakapan
- FAQ tentang menggunakan AI secara bertanggung jawab di Power Apps
Operators
Anda dapat menggunakan operator berikut pada kolom rumus:
+, -, *, /, %, dalam, tepat, &
Untuk informasi selengkapnya, buka Operator di. Power Apps
Jenis data
Anda dapat menampilkan jenis data berikut di kolom rumus:
- SMS
- Angka desimal
- Bilangan bulat
- Mengapung
- Pilihan Boolean (Ya/Tidak)
- Pilihan (sebelumnya set opsi)
- Datetime
Informasi lebih lanjut: Membuat kolom rumus dengan tipe data desimal, bilangan bulat, float, dan pilihan\
Jenis data mata uang saat ini tidak didukung.
Jenis fungsi
Anda dapat menggunakan jenis fungsi berikut di kolom rumus:
- Decimal
- String
- Boolean
- Pilihan
- DateTime (TZI)
- DateTime (Pengguna lokal) (terbatas pada perbandingan dengan nilai lokal pengguna lainnya, fungsi DateAdd, dan DateDiff)
- DateTime (Hanya tanggal) (terbatas pada perbandingan dengan nilai khusus tanggal lainnya, fungsi DateAdd, dan DateDiff)
- Mata uang
- Bilangan Cacah
Fungsi
Untuk fungsi skalar yang dapat Anda gunakan dalam kolom rumus, buka Referensi rumus -kolom Dataverse rumus.
* Fungsi Teks dan Nilai hanya berfungsi dengan bilangan bulat, di mana tidak ada pemisah desimal yang terlibat. Pemisah desimal bervariasi di seluruh lokal. Karena kolom rumus dievaluasi tanpa pengetahuan lokal, tidak ada cara untuk mengartikan atau menghasilkan pemisah desimal dengan benar.
* Argumen StartOfWeek tidak didukung untuk fungsi WeekNum dan Weekday di kolom rumus.
Contoh fungsi
Description | Contoh |
---|---|
Ambil nilai tanggal. | DateAdd(UTCNow(),-1,TimeUnit.Years) |
Pedoman dan batasan
Bagian ini menjelaskan panduan dan batasan yang diketahui dengan kolom rumus di dalamnya Dataverse.
Validasi penggunaan bidang mata uang
- Kolom rumus tidak mendukung penggunaan kolom mata uang tabel terkait dalam rumus, seperti dalam contoh ini.
- Penggunaan langsung kolom mata uang dan nilai tukar dalam rumus saat ini tidak didukung. Penggunaan kolom mata uang dan nilai tukar dicapai melalui
Decimal
fungsi, sepertiDecimal(currency column)
atauDecimal(exchange rate)
. Fungsi iniDecimal
memastikan output berada dalam kisaran yang diterima. Jika nilai kolom mata uang atau nilai tukar melebihi rentang yang diterima, maka rumus akan mengembalikan null. - Kolom mata uang dasar tidak didukung dalam ekspresi kolom rumus karena kolom sistem yang digunakan untuk tujuan pelaporan. Jika Anda menginginkan hasil yang serupa, Anda dapat menggunakan jenis kolom mata uang bersama dengan kombinasi kolom nilai tukar sebagai
CurrencyField_Base = (CurrencyField / ExchangeRate)
.
Validasi penggunaan kolom tanggal waktu
- Perilaku kolom rumus tanggal waktu hanya dapat diperbarui jika tidak digunakan di kolom rumus lain.
- Untuk kolom rumus waktu tanggal, saat menggunakan
DateDiff
fungsi, pastikan bahwa:- Kolom perilaku lokal pengguna tidak dapat dibandingkan atau digunakan dengan
DateTime(TZI)/DateOnly
kolom perilaku. - Kolom perilaku lokal pengguna hanya dapat dibandingkan atau digunakan dengan kolom perilaku lokal pengguna lain.
DateTime(TZI)
Kolom perilaku dapat dibandingkan atau digunakan dalamDateDiff
fungsi dengan kolom perilaku lainDateTime(TZI)/DateOnly
.DateOnly
kolom perilaku dapat dibandingkan atau digunakan dalam fungsi DateDiff dengan kolom perilaku lainDateTime(TZI)/DateOnly
.
- Kolom perilaku lokal pengguna tidak dapat dibandingkan atau digunakan dengan
- Kolom waktu tanggal dan fungsi
UTCNow()
waktu tanggal,Now()
tidak dapat diteruskan sebagai parameter ke fungsi string.
Penggunaan kolom rumus di bidang rollup
- Kolom rumus sederhana adalah tempat rumus menggunakan kolom dari rekaman yang sama atau menggunakan nilai yang dikodekan secara keras. Untuk kolom rollup, kolom rumus harus berupa kolom rumus sederhana, seperti contoh kolom rollup ini.
- Kolom rumus, yang bergantung pada fungsi
UTCNow()
terikat waktu danUTCToday()
tidak dapat digunakan dalam bidang rollup.
Power Fx Rekomendasi fungsi teks
Kolom rumus tidak mendukung
Text()
fungsi dengan argumen tunggal jenis Angka. Angka bisa utuh, desimal, atau mata uang.Kolom rumus tidak mendukung penggunaan angka dalam konfigurasi berikut:
- Dalam fungsi string. Ini adalah fungsi string yang ditempatkan di mana pun argumen teks diharapkan: Atas, Bawah, Kiri, Kanan, Gabungkan, Tengah, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute, dan Replace.
- Dalam rumus implisit, seperti
12 & "foo"
, atau12 & 34
, atau"foo" & 12
. - Pemaksaan nomor internal ke teks tidak didukung. Kami merekomendasikan penggunaan
Text(Number, Format)
untuk mengubah angka menjadi teks. Dalam kasus di mana suatuString
argumen dilewatkan dalam suatuText
fungsi makaFormat
argumen tersebut tidak didukung. - Berikut ini contoh penggunaan fungsi
Text
untuk mengubah angka menjadi teks dan menambahkan string ke dalamnya:
Concatenate(Text(123,"#"),"ab") Text(123,"#") & "foo"
Token format khusus lokal seperti "." dan "," tidak didukung dalam kolom rumus.
Validasi rentang pada kolom rumus
- Anda tidak dapat mengatur properti Nilai minimum atau Nilai maksimum pada kolom rumus.
- Semua perhitungan internal harus berada dalam Dataverse rentang untuk kolom rumus tipe desimal (-100000000000 hingga 100000000000).
- Nilai literal berkode keras yang dimasukkan ke dalam bilah rumus harus berada dalam rentang Dataverse .
- Jika ada kolom numerik yang bernilai nol, maka dianggap 0 dalam operasi antara. Misalnya,
a+b+c and If a = null, b=2, c=3
maka kolom rumus memberikan0 + 2 + 3 = 5
.- Perilaku ini berbeda dari kolom terhitung dalam kasus ini karena kolom terhitung memberikan
null + 2 + 3 = null
.
- Perilaku ini berbeda dari kolom terhitung dalam kasus ini karena kolom terhitung memberikan
Validasi umum pada kolom rumus
- Kolom rumus dapat merujuk ke kolom rumus lainnya, namun kolom rumus tidak dapat merujuk ke dirinya sendiri.
- Kolom rumus tidak mendukung rantai siklik, seperti
F1 = F2 + 10, F2 = F1 * 2
. - Panjang ekspresi rumus maksimum dalam kolom rumus adalah 1.000 karakter.
- Kedalaman maksimum yang diizinkan dalam kolom rumus adalah 10. Depth didefinisikan sebagai rantai kolom rumus yang merujuk ke kolom rumus atau kolom gabungan lainnya.
- Misalnya,
table E1, F1 = 1*2, table E2, F2 - E1*2
. Dalam contoh ini, kedalaman F2 adalah 1.
- Misalnya,
- Dalam aplikasi berbasis model, penyortiran dinonaktifkan pada:
- Kolom rumus yang berisi kolom tabel terkait.
- Kolom rumus yang berisi kolom logika (misalnya, kolom alamat).
- Kolom rumus yang berisi kolom kalkulasi atau rumus lainnya.
- Kolom rumus yang menggunakan fungsi terikat waktu
UTCNow()
.
- Kolom bertipe Bilangan Bulat dengan format Bahasa, Durasi, Zona Waktu tidak didukung dalam kolom rumus.
- Kolom tipe String dengan format Email, Area Teks, Simbol Ticker, URL tidak didukung dalam kolom rumus.
- Kolom rumus tidak menampilkan nilai saat aplikasi dalam mode offline seluler.
- Anda tidak dapat memicu alur kerja atau plug-in pada kolom rumus.
- Kami tidak menyarankan penggunaan kolom terhitung dalam kolom rumus dan sebaliknya.
- Aturan deteksi duplikat tidak dipicu pada kolom rumus.
- Fungsi
Now
dapat digunakan dengan kolom rumus.Now()
memiliki perilaku lokal pengguna danUTCNow()
memiliki perilaku independen zona waktu. - Anda dapat mengatur properti presisi untuk kolom desimal.
- Nilai tipe data rumus default ditetapkan ke Desimal untuk rumus yang mengembalikan nilai numerik.
- Memperbarui format kolom rumus bilangan bulat tidak didukung.
Kolom rumus tipe data yang tidak dapat diproduksi
- Mata uang