Bagikan melalui


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

  1. Masuk ke Power Apps AT https://make.powerapps.com.

  2. 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.

  3. Pilih area Kolom , lalu pilih Kolom baru.

  4. Masukkan informasi berikut:

    • ANama tampilanuntuk kolom.
    • Secara opsional, masukkan Deskripsi kolom.
  5. Untuk Tipe data, pilih Rumus fx.

  6. Ketik rumus atau gunakan saran rumus:

    Masukkan Power Fx rumus di kotak Rumus . Informasi lebih lanjut: Ketik rumus


  1. 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.
  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.

Cuplikan layar definisi kolom rumus.

Kolom rumus menampilkan hasil Harga dikalikan dengan Jumlah unit.

Cuplikan layar rekaman dengan kolom rumus.

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. Contoh kolom rating pelanggan

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. Rumus yang disarankan

Dan tempelkan ke dalam kotak Ketik rumus . Pilih Simpan. Tempelkan rumus ke dalam Ketik kotak rumus.

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.

Periksa hasil untuk kolom rumus

AI yang bertanggung jawab

Untuk informasi tentang AI yang bertanggung jawab, buka sumber daya berikut:

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:

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. Kolom rumus dengan rumus Akun yang tidak didukung.Pendapatan Tahunan
  • 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, seperti Decimal(currency column) atau Decimal(exchange rate). Fungsi ini Decimal 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 dalam DateDiff fungsi dengan kolom perilaku lain DateTime(TZI)/DateOnly .
    • DateOnly kolom perilaku dapat dibandingkan atau digunakan dalam fungsi DateDiff dengan kolom perilaku lain DateTime(TZI)/DateOnly . Konfigurasi tanggal waktu yang tidak didukung dengan kolom rumus
  • Kolom waktu tanggal dan fungsi UTCNow() waktu tanggal, Now() tidak dapat diteruskan sebagai parameter ke fungsi string. Kolom rumus dengan parameter tanggal waktu yang tidak didukung diteruskan dalam rumus

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. Contoh kolom rumus sederhana untuk kolom rollupContoh konfigurasi kolom rollup
  • Kolom rumus, yang bergantung pada fungsi UTCNow() terikat waktu dan UTCToday() 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 dengan fungsi teks yang tidak didukung dengan argumen angka

  • 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", atau 12 & 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 suatu String argumen dilewatkan dalam suatu Text fungsi maka Format 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. Token pemformatan spesifik lokal yang tidak didukung diteruskan sebagai parameter ke fungsi Teks dalam 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 memberikan 0 + 2 + 3 = 5.
    • Perilaku ini berbeda dari kolom terhitung dalam kasus ini karena kolom terhitung memberikan null + 2 + 3 = null.

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.
  • 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 dan UTCNow() 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

Baca juga

Jenis-jenis kolom

Microsoft Power Fx ringkasan

Rumus, kalkulasi, dan kolom rollup menggunakan kode