Nota
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba mendaftar masuk atau menukar direktori.
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Memahami perwakilan
Power Apps Berfungsi paling baik dengan sumber data bahagian belakang apabila Power Fx pertanyaan diterjemahkan sepenuhnya kepada pertanyaan setara yang berjalan pada sumber data. Power Apps Menghantar pertanyaan yang difahami oleh sumber data, sumber data menjalankan pertanyaan dan Power Apps mendapat hasilnya. Contohnya, sumber data menapis data dan hanya mengembalikan baris yang memenuhi kriteria penapis. Apabila ini berfungsi, pertanyaan diwakilkan kepada sumber data.
Tetapi Power Fx pertanyaan tidak selalu boleh diterjemahkan kepada pertanyaan yang setara pada setiap sumber data. Sebagai contoh, Dataverse menyokong lebih banyak ciri pertanyaan daripada Excel. Dataverse menyokong pengendali pertanyaan 'dalam' (keahlian), tetapi Excel tidak. Pertanyaan tidak boleh diwakilkan jika ia menggunakan ciri yang tidak disokong oleh sumber data. Jika mana-mana bahagian ungkapan pertanyaan tidak boleh diwakilkan, Power Apps tidak mewakilkan mana-mana bahagian pertanyaan.
Apabila pertanyaan tidak boleh diwakilkan, Power Apps mendapat 500 rekod pertama daripada sumber data dan kemudian menjalankan tindakan dalam pertanyaan. Anda boleh meningkatkan had ini kepada 2,000 rekod. Menukar hadPower Apps mengehadkan saiz hasil kepada 500 rekod untuk memastikan apl anda berprestasi baik. Set hasil yang lebih besar boleh menyebabkan isu prestasi untuk apl anda dan Power Apps.
Tetapi had ini boleh menjadi masalah kerana pertanyaan mungkin mengembalikan hasil yang salah jika sumber data mempunyai lebih daripada 500 atau 2,000 rekod. Contohnya, jika sumber data anda mempunyai 10 juta rekod dan pertanyaan anda perlu berfungsi pada bahagian terakhir data, seperti nama keluarga yang bermula dengan 'Z' dan pertanyaan anda menggunakan pengendali yang tidak boleh diwakilkan seperti berbeza, anda hanya mendapat 500 atau 2,000 rekod pertama. Ini bermakna anda mendapat hasil yang salah.
Cipta pertanyaan anda Power Fx dengan menggunakan jadual yang boleh diwakilkan untuk sumber data anda. Hanya gunakan fungsi pertanyaan yang boleh diwakilkan. Ini satu-satunya cara untuk memastikan apl anda berfungsi dengan baik dan untuk memastikan pengguna boleh mendapatkan semua maklumat yang mereka perlukan.
Beri perhatian kepada amaran perwakilan yang menunjukkan tempat perwakilan tidak boleh dilakukan. Jika anda bekerja dengan set data kecil (kurang daripada 500 rekod), anda boleh menggunakan mana-mana sumber data dan formula kerana aplikasi memproses data secara setempat jika formula tidak dapat diwakilkan.
Nota
Amaran perwakilan membantu anda mengurus apl anda supaya ia mengembalikan hasil carian yang betul. Jika data dalam sumber data anda melebihi 500 rekod dan fungsi tidak boleh diwakilkan, Power Fx tandakan formula dengan garis bawah biru.
Sumber data boleh ditugaskan
Perwakilan berfungsi dengan sumber data jadual tertentu sahaja. Jika sumber data menyokong perwakilan, dokumentasi penyambungnya menerangkan sokongan tersebut. Sebagai contoh, sumber data jadual popular ini menyokong perwakilan:
- Power Apps fungsi dan operasi yang boleh diwakilkan untuk Microsoft Dataverse
- Power Apps fungsi dan operasi yang boleh diwakilkan untuk SharePoint
- Power Apps fungsi dan operasi yang boleh diwakilkan untuk SQL Server
- Power Apps fungsi dan operasi yang boleh diwakilkan untuk Salesforce
Buku kerja Excel yang diimport (menggunakan Tambah data statik pada sumber data aplikasi anda), koleksi dan jadual yang disimpan dalam pembolehubah konteks tidak memerlukan perwakilan. Semua data ini sudah ada dalam ingatan, jadi anda boleh menggunakan bahasa penuh Power Apps .
Fungsi yang boleh diwakilkan
Gunakan hanya formula yang boleh diwakilkan. Rencana ini menyenaraikan elemen formula yang boleh diwakilkan. Setiap sumber data adalah berbeza, dan tidak semua menyokong semua elemen ini. Semak amaran perwakilan dalam formula anda.
Fungsi penapis
Penapis, Carian, Pertama dan Carian boleh diwakilkan.
Dalam fungsi Penapis dan Carian , gunakan ini dengan lajur jadual untuk memilih rekod yang sesuai:
- Dan( termasuk &&), Atau (termasuk ||), Tidak (termasuk !)
-
Dalam> [! NOTA]
Dalam hanya diwakilkan untuk lajur pada sumber data asas. Contohnya, jika sumber data ialah jadual Akaun ,
Filter(Accounts, Name in ["name1", "name2"])
wakilkan kepada sumber data untuk penilaian. TetapiFilter(Accounts, PrimaryContact.Fullname in ["name1", "name2"])
tidak diwakilkan kerana lajur Nama penuh berada pada jadual yang berbeza (PrimaryContact) daripada Akaun. Ungkapan itu dinilai secara tempatan. - =, <>, >=,= <,><
- +, -
- TrimEnds
- IsKosong
- Mulakan Dengan,Berakhir Dengan
- Nilai malar yang sama merentas semua rekod, seperti sifat kawalan dan pembolehubah global dan konteks.
Anda juga boleh menggunakan bahagian formula anda yang menilai kepada nilai malar untuk semua rekod. Contohnya,Left ( Language(), 2 ), Date( 2019, 3, 31 ), dan Today() tidak bergantung pada mana-mana lajur rekod, jadi ia mengembalikan nilai yang sama untuk semua rekod. Nilai ini dihantar kepada sumber data sebagai pemalar dan tidak menyekat perwakilan.
Senarai sebelumnya tidak termasuk item penting ini.
- Jika
- *, /,Mod ...
- Operasi pemutus lajur Teks,Nilai...
- Gabungkan( termasuk &)
- Tepat
- Fungsi manipulasi rentetan: Bawah, Atas, Kiri, Pertengahan ..., Len, ... ......
- Isyarat: Lokasi, Pecutan, Kompas, ...
- Meruap: Rand, ...
- Koleksi
Perwakilan dan kutipan
Apabila anda menggunakan With
, UpdateContext
, atau Set
, mereka mencipta koleksi secara dalaman. Koleksi ialah senarai rekod dalam memori statik dan tidak mengambil bahagian dalam perwakilan. Anda tidak melihat amaran perwakilan.
Had pertanyaan
Cari dan kembangkan tahap
Power Apps membolehkan anda menggunakan sehingga dua tahap carian. Ungkapan Power Fx pertanyaan boleh termasuk maksimum dua fungsi carian untuk mengekalkan prestasi. Apabila ungkapan pertanyaan termasuk carian, Power Apps mula-mula menanyakan jadual asas, kemudian menjalankan pertanyaan kedua untuk mengembangkan jadual pertama dengan maklumat carian. Satu tahap tambahan di luar ini disokong sebagai maksimum. Tetapi untuk senario luar talian, hanya satu tahap pengembangan carian disokong.
Kembangkan atau sertai sehingga 20 entiti dalam satu pertanyaan. Jika anda perlu menyertai lebih daripada 20 jadual dalam satu pertanyaan, cuba cipta pandangan pada pelayan data jika boleh.
Penilaian ungkapan - sifat entiti mestilah di sebelah kiri 'LHS' pengendali kesaksamaan
Letakkan sifat entiti untuk dibandingkan di sebelah kiri (LHS) persamaan. Contohnya, dalam ungkapan berikut, sifat entiti'ID unit perniagaan'. Nama ada pada LHS dan ungkapan berfungsi:
Filter(
Budgets,
'Business unit ID'.Name = LookUp(
Users,
'Primary Email' = User().Email,
'Business Unit'
).Name,
DataCardValue37.Selected.'Date Range String'='Date Range String'
)
Tetapi ungkapan ini tidak berfungsi:
Filter(
Budgets,
LookUp(
Users,
'Primary Email' = User().Email,
'Business Unit'
).Name = 'Business unit ID'.Name,
'Date Range String'=DataCardValue37.Selected.'Date Range String'
)
Fungsi penyisihan
Isih dan SortByColumns boleh diwakilkan.
Dalam Isihan, formula hanya boleh menjadi nama satu lajur dan tidak termasuk pengendali atau fungsi lain.
Fungsi agregat
Sesetengah fungsi agregat boleh diwakilkan berdasarkan sokongan bahagian belakang. Fungsi seperti Jumlah, Purata, Min dan Maks boleh diwakilkan. Fungsi pengiraan, seperti CountRows dan Count, juga boleh diwakilkan. Tetapi RemoveIf dan UpdateIf mempunyai sekatan perwakilan. Hanya bilangan sumber data yang terhad menyokong perwakilan untuk fungsi ini. Untuk maklumat lanjut, lihat senarai Perwakilan.
Fungsi yang tidak boleh diwakilkan
Semua fungsi lain tidak boleh mewakilkan, termasuk fungsi ketara ini:
Had yang tidak boleh diwakilkan
Formula yang tidak boleh diwakilkan diproses secara tempatan. Pemprosesan tempatan membolehkan anda menggunakan bahasa formula penuh Power Apps . Tetapi terdapat pertukaran: semua data mesti dibawa ke peranti terlebih dahulu, yang boleh bermakna mendapatkan semula sejumlah besar data melalui rangkaian. Proses ini boleh mengambil masa dan menjadikan apl anda kelihatan perlahan atau tidak bertindak balas.
Untuk mengelakkan ini, Power Apps hadkan jumlah data yang boleh diproses secara tempatan kepada 500 rekod secara lalai. Had ini membolehkan anda menggunakan set data kecil sepenuhnya dan memperhalusi penggunaan set data besar anda dengan melihat hasil separa.
Berhati-hati apabila menggunakan ciri ini kerana ia boleh mengelirukan pengguna. Contohnya, jika anda menggunakan fungsi Penapis dengan formula pemilihan yang tidak boleh diwakilkan ke atas sumber data dengan sejuta rekod, hanya 500 rekod pertama yang diimbas. Jika rekod yang anda mahukan ialah rekod 501 atau 500,001, Penapis tidak mempertimbangkan atau mengembalikannya.
Fungsi agregat juga boleh mengelirukan. Contohnya, jika anda menggunakan Purata ke atas lajur dalam sumber data jutaan rekod yang sama,Purata tidak boleh diwakilkan kerana ungkapan tidak diwakilkan (lihat nota terdahulu). Hanya 500 rekod pertama yang dipuratakan. Jika anda tidak berhati-hati, pengguna mungkin berfikir jawapan separa telah lengkap.
Mengubah had
Bilangan rekod lalai ialah 500, tetapi anda boleh menukar nombor ini untuk keseluruhan apl:
- Pilih Tetapan.
- Di bawah Umum, tukar tetapan had baris Data daripada 1 kepada 2,000.
Dalam sesetengah kes, 2,000 (atau 1,000 atau 1,500) rekod sudah cukup untuk senario anda. Anda boleh meningkatkan nombor ini untuk memenuhi keperluan anda, tetapi apabila anda melakukannya, prestasi apl anda boleh berkurangan, terutamanya untuk jadual lebar dengan banyak lajur. Masih lebih baik untuk mewakilkan sebanyak mungkin.
Untuk memastikan apl anda boleh diskalakan kepada set data yang besar, tetapkan nilai ini kepada 1. Apa-apa sahaja yang tidak boleh diwakilkan mengembalikan satu rekod, yang mudah dikesan semasa menguji apl anda. Ini membantu anda mengelakkan kejutan apabila memindahkan apl bukti konsep kepada pengeluaran.
Amaran perwakilan
Power Apps menunjukkan amaran (segitiga kuning) apabila anda mencipta formula yang tidak boleh diwakilkan. Ini menjadikannya lebih mudah untuk mengetahui apa yang diwakilkan dan tidak.
Amaran perwakilan hanya ditunjukkan pada formula yang menggunakan sumber data yang boleh diwakilkan. Jika anda tidak melihat amaran tetapi berpendapat formula anda tidak diwakilkan, semak jenis sumber data anda terhadap senarai sumber data yang boleh diwakilkan lebih awal dalam artikel ini.
Contoh
Dalam contoh ini, anda menjana apl tiga skrin secara automatik berdasarkan jadual SQL Server bernama [dbo].[ Buah]. Untuk mengetahui cara menjana apl, gunakan prinsip yang serupa daripada artikel tentang Dataverse SQL Server.
Sifat Item galeri menggunakan formula dengan fungsi SortByColumns dan Search , kedua-duanya boleh diwakilkan.
Dalam kotak carian, masukkan "Apple".
Titik perbarisan muncul secara ringkas berhampiran bahagian atas skrin apabila apl berkomunikasi dengan SQL Server untuk memproses permintaan carian. Semua rekod yang sepadan dengan kriteria carian muncul, walaupun sumber data mempunyai berjuta-juta rekod.
Hasil carian termasuk "Epal" dan "Nanas" kerana fungsi Carian kelihatan di mana-mana dalam lajur teks. Untuk mencari hanya rekod yang mengandungi istilah carian pada permulaan nama buah, gunakan fungsi lain yang boleh diwakilkan,Penapis , dengan istilah carian yang lebih khusus. Untuk kesederhanaan, alih keluar panggilan SortByColumns .
Keputusan baharu termasuk "Epal" tetapi bukan "Nanas". Segitiga kuning muncul di sebelah galeri dan dalam lakaran kecil skrin jika bar navigasi kiri menunjukkan lakaran kecil. Garisan biru dan beralun muncul di bawah sebahagian daripada formula. Setiap elemen ini menunjukkan amaran. Apabila anda menuding pada segitiga kuning di sebelah galeri, mesej ini muncul:
SQL Server ialah sumber data yang boleh diwakilkan dan Penapis ialah fungsi yang boleh diwakilkan. Walau bagaimanapun, Mid dan Len tidak boleh diwakilkan kepada mana-mana sumber data.
Tetapi ia berfungsi, bukan? Lebih kurang. Itulah sebabnya ini adalah amaran dan bukan coretan merah dan beralun.
- Jika jadual mempunyai kurang daripada 500 rekod, formula berfungsi dengan sempurna. Semua rekod dibawa ke peranti dan Penapis digunakan secara tempatan.
- Jika jadual mempunyai lebih daripada 500 rekod, formula tidak mengembalikan rekod 501 atau lebih tinggi, walaupun ia sepadan dengan kriteria.