Menggunakan ekspresi dalam kondisi untuk memeriksa beberapa nilai

Dalam tutorial ini, Anda akan belajar menggunakan ekspresi dan kondisi untuk membandingkan beberapa nilai dalam mode Tingkat Lanjut.

Saat membuat alur cloud, Anda dapat menggunakan kartu Kondisi dalam mode dasar untuk membandingkan satu nilai dengan nilai lain dengan cepat. Namun, ada kalanya Anda perlu membandingkan beberapa nilai. Misalnya, Anda mungkin ingin memeriksa nilai beberapa kolom dalam spreadsheet atau tabel database.

Anda dapat menggunakan kombinasi ekspresi logis berikut dalam kondisi Anda.

Expression Description Contoh
dan Mengambil dua argumen dan mengembalikan true jika kedua nilai tersebut true.
Catatan: Kedua argumen harus Booleans.
Ekspresi ini mengembalikan false:
and(greater(1,10),equals(0,0))
atau Mengambil dua argumen dan mengembalikan true jika salah satu argumen true.
Catatan: Kedua argumen harus Booleans.
Ekspresi ini mengembalikan true:
or(greater(1,10),equals(0,0))
sama dengan Mengembalikan nilai true jika dua nilai sama. Misalnya, jika parameter1 adalah someValue, ekspresi ini mengembalikan true:
equals(parameters('parameter1'), 'someValue')
kurang Mengambil dua argumen dan mengembalikan true jika argumen pertama kurang dari argumen kedua.
Catatan: Jenis yang didukung adalah integer, float, dan string.
Ekspresi ini mengembalikan true:
less(10,100)
lessOrEquals Mengambil dua argumen dan mengembalikan true jika argumen pertama kurang dari atau sama dengan argumen kedua.
Catatan: Jenis yang didukung adalah integer, float, dan string.
Ekspresi ini mengembalikan true:
lessOrEquals(10,10)
lebih Mengambil dua argumen dan mengembalikan true jika argumen pertama lebih besar dari argumen kedua.
Catatan: Jenis yang didukung adalah integer, float, dan string.
Ekspresi ini mengembalikan false:
greater(10,10)
greaterOrEquals Mengambil dua argumen dan mengembalikan true jika argumen pertama lebih besar dari atau sama dengan argumen kedua.
Catatan: Jenis yang didukung adalah integer, float, dan string.
Ekspresi ini mengembalikan false:
greaterOrEquals(10,100)
kosong Mengembalikan true jika objek, array, atau string kosong. Ekspresi ini mengembalikan true:
empty('')
bukan Mengembalikan nilai kebalikan dari nilai boolean. Ekspresi ini mengembalikan true:
not(contains('200 Success','Fail'))
if Mengembalikan nilai tertentu jika ekspresi menghasilkan true atau false. Ekspresi ini mengembalikan "ya":
if(equals(1, 1), 'yes', 'no')

Prasyarat

Inilah yang Anda perlukan untuk menyelesaikan panduan ini.

  • Akses ke Power Automate.
  • Spreadsheet Anda sendiri dengan tabel yang dijelaskan nanti dalam panduan ini. Pastikan untuk menyimpan spreadsheet Anda di lokasi seperti Dropbox atau Microsoft OneDrive sehingga Power Automate dapat mengaksesnya.
  • Microsoft 365 Outlook (Meskipun kami menggunakan Outlook di sini, Anda dapat menggunakan layanan email apa pun yang didukung dalam alur Anda.)

Menggunakan ekspresi 'atau'

Terkadang alur kerja Anda perlu mengambil tindakan jika nilai item adalah valueA atau valueB. Misalnya, Anda mungkin melacak status tugas dalam tabel spreadsheet. Misalnya tabel memiliki kolom bernama Status dan nilai yang mungkin dalam kolom ini adalah:

  • selesai
  • buntu
  • tidak perlu
  • belum dimulai

Berikut adalah contoh tampilan spreadsheet:

Cuplikan layar contoh spreadsheet dengan kolom Status.

Mengingat spreadsheet sebelumnya, Anda ingin menggunakan Power Automate untuk menghapus semua baris dengan kolom Status yang diatur ke selesai atau tidak perlu.

Mari kita buat alurnya.

Mulai dengan alur kosong

  1. Masuk ke Power Automate.

  2. Di panel kiri, pilih Alur saya.

  3. Pilih Alur>baru Alur cloud terjadwal.

Menambahkan pemicu ke alur Anda

  1. Beri nama alur Anda.

  2. Atur jadwal untuk menjalankan aliran sekali sehari.

  3. Pilih tombol Buat untuk melanjutkan ke langkah berikutnya.

Catatan

Power Automate menggunakan perancang alur awan klasik atau perancang alur awan dengan Copilot. Untuk mengidentifikasi desainer mana yang Anda gunakan, buka bagian Catatan di Memahami desainer alur cloud dengan kemampuan kopilot.

Pilih spreadsheet dan dapatkan semua baris

  1. Pilih langkah baru.

  2. Cari baris, lalu pilih Excel Online (Business).

    Pilih tindakan dapatkan baris yang sesuai dengan spreadsheet yang Anda gunakan. Misalnya, jika Anda menggunakan Google Spreadsheet, pilih Google Spreadsheet - Dapatkan baris.

  3. Pilih baris Daftar yang ada dalam tindakan tabel .

    Cuplikan layar baris daftar dalam tabel.

  4. Pilih Lokasi, Pustaka Dokumen , File, dan Tabel yang berisi data Anda.

    Cuplikan layar bidang Lokasi, Pustaka Dokumen, File, dan Tabel di baris Daftar ada di kartu tabel.

Periksa kolom status setiap baris

  1. Pilih langkah baru.

  2. Cari terapkan ke masing-masing, lalu pilih Terapkanke masing-masing - Kontrol.

  3. Tambahkan token nilai ke kotak Pilih output dari langkah sebelumnya.

    Token nilai ini mewakili tabel spreadsheet dan semua datanya.

  4. Pilih Tambahkan tindakan pada Terapkan ke setiap kartu.

  5. Cari kondisi, lalu pilih kontrol Kondisi .

  6. Tambahkan ekspresi Atau berikut . Ekspresi Or ini memeriksa nilai setiap baris dalam tabel. Jika nilai kolom Status selesai Atautidak perlu, ekspresi Or mengevaluasi ke "true".

    Berikut adalah contoh kartu Kondisi .

    Cuplikan layar ekspresi 'atau'.

Menghapus baris yang cocok dari spreadsheet

  1. Pilih Tambahkan tindakan pada cabang Jika ya dari kondisi tersebut.

    Cabang Jika ya berjalan jika kondisi OR mengevaluasi ke true.

  2. Cari Hapus baris, pilih Excel Online (Bisnis), lalu pilih Hapus baris .

  3. Pada kartu Hapus baris, atur kotak Lokasi , Pustaka Dokumen , File, dan Tabelpersis seperti yang Anda atur kotak ini pada baris Daftar yang ada di kartu tabel sebelumnya dalam tutorial ini.

  4. Dalam daftar dropdown Kolom Kunci , pilih _PowerAppsId_.

  5. Di bidang Nilai Kunci, masukkan nilai_ PowerAppsId_ dynamic.

  6. Simpan alur Anda.

Jalankan alur dengan ekspresi 'atau'

Alur berjalan setelah Anda menyimpannya. Jika Anda membuat spreadsheet yang ditampilkan sebelumnya dalam tutorial ini, inilah tampilannya setelah eksekusi selesai.

Cuplikan layar spreadsheet saat ekspresi 'ATAU' selesai.

Perhatikan semua data dari baris yang telah selesai atau tidak perlu di kolom Status telah dihapus.

Menggunakan ekspresi 'dan'

Asumsikan Anda memiliki tabel spreadsheet dengan dua kolom. Nama kolom adalah Status dan Ditetapkan. Asumsikan juga bahwa Anda ingin menghapus semua baris jika nilai kolom Status diblokir dan nilai kolom yang ditetapkan adalah John Wonder. Untuk menyelesaikan tugas ini, ikuti semua langkah sebelumnya dalam tutorial ini, tetapi ketika Anda mengedit kartu Kondisi dalam mode lanjutan, gunakan ekspresi dan yang diperlihatkan di sini.

@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))

Berikut adalah contoh kartu Kondisi .

Cuplikan layar ekspresi 'dan'.

Menjalankan alur dengan ekspresi 'dan'

Jika Anda telah mengikuti langkah-langkah dalam tutorial ini, spreadsheet Anda akan terlihat mirip dengan cuplikan layar berikut.

Cuplikan layar spreadsheet sebelum alur Anda berjalan.

Setelah alur Anda berjalan, spreadsheet Anda akan terlihat mirip dengan cuplikan layar berikut.

Cuplikan layar spreadsheet setelah alur Anda berjalan.

Menggunakan ekspresi 'kosong'

Perhatikan bahwa ada beberapa baris kosong di spreadsheet sekarang. Untuk menghapusnya, gunakan ekspresi kosong untuk mengidentifikasi semua baris yang tidak memiliki teks di kolom Ditetapkan dan Status .

Untuk menyelesaikan tugas ini, ikuti semua langkah yang tercantum di bagian Menggunakan ekspresi 'dan' sebelumnya dalam tutorial ini. Ketika Anda mengedit kartu kondisi dalam mode lanjut, gunakan ekspresi kosong berikut .

@and(empty(item()?['Status']), empty(item()?['Assigned']))

Kartu Kondisi Anda akan terlihat mirip dengan cuplikan layar berikut.

Cuplikan layar ekspresi 'kosong'.

Setelah alur Anda berjalan, spreadsheet akan terlihat mirip dengan cuplikan layar berikut.

SScreenshot spreadsheet setelah 'kosong' berjalan.

Perhatikan baris tambahan dihapus dari tabel.

Gunakan ekspresi 'lebih besar'

Bayangkan Anda telah membeli tiket bisbol untuk rekan kerja Anda dan Anda menggunakan spreadsheet untuk memastikan bahwa Anda diganti oleh setiap orang. Anda dapat dengan cepat membuat alur cloud yang mengirim email harian ke setiap orang yang belum membayar jumlah penuh.

Gunakan ekspresi yang lebih besar untuk mengidentifikasi karyawan yang belum membayar jumlah penuh. Anda kemudian dapat secara otomatis mengirim email pengingat kepada mereka yang belum membayar penuh.

Berikut adalah tampilan spreadsheet.

Cuplikan layar spreadsheet mereka yang belum membayar penuh.

Inilah implementasi ekspresi yang lebih besar yang mengidentifikasi semua orang yang telah membayar kurang dari jumlah yang harus dibayar dari mereka.

@greater(item()?['Due'], item()?['Paid'])

Gunakan ekspresi 'kurang'

Bayangkan Anda telah membeli tiket bisbol untuk rekan kerja Anda, dan Anda menggunakan spreadsheet untuk memastikan bahwa Anda diganti oleh setiap orang pada tanggal yang disetujui semua orang. Anda dapat membuat alur cloud yang mengirimkan email pengingat kepada setiap orang yang belum membayar jumlah penuh jika tanggal saat ini kurang dari satu hari sebelum tanggal jatuh tempo.

Gunakan ekspresi dan dengan ekspresi yang lebih sedikit karena ada dua kondisi yang sedang divalidasi.

Kondisi untuk memvalidasi Ekspresi untuk digunakan Contoh
Apakah jumlah penuh yang jatuh tempo telah dibayarkan? lebih besar @greater(item()?['Due'], item()?['Paid'])
Apakah tanggal jatuh tempo kurang dari satu hari lagi? kurang @less(item()?['DueDate'], addDays(utcNow(),1))

Gabungkan ekspresi 'lebih besar' dan 'kurang' dalam ekspresi 'dan'

Gunakan ekspresi yang lebih besar untuk mengidentifikasi karyawan yang telah membayar kurang dari jumlah penuh yang jatuh tempo dan gunakan ekspresi yang lebih sedikit untuk menentukan apakah tanggal jatuh tempo pembayaran kurang dari satu hari dari tanggal saat ini. Anda kemudian dapat menggunakan tindakan Kirim email untuk mengirim email pengingat kepada karyawan yang belum membayar penuh dan tanggal jatuh tempo kurang dari satu hari lagi.

Berikut adalah tampilan tabel spreadsheet.

Cuplikan layar tabel spreadsheet.

Berikut adalah implementasi ekspresi dan yang mengidentifikasi semua karyawan yang telah membayar kurang dari jumlah yang jatuh tempo dari mereka dan tanggal jatuh tempo kurang dari satu hari lagi dari tanggal saat ini.

@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))

Menggunakan fungsi dalam ekspresi

Beberapa ekspresi mendapatkan nilainya dari tindakan runtime yang mungkin belum ada saat alur cloud mulai berjalan. Untuk mereferensikan atau bekerja dengan nilai-nilai ini dalam ekspresi, Anda dapat menggunakan fungsi yang disediakan Bahasa definisi alur kerja. Informasi selengkapnya. Untuk mempelajari selengkapnya, buka Panduan referensi untuk fungsi ekspresi alur kerja di Azure Logic Apps dan Power Automate.