Power Apps'te veri kaynaklarıyla çalışırken en çok kullanılan fonksiyonlardan bazıları Patch, Update ve Collect fonksiyonlarıdır. Her biri farklı senaryolarda kullanılır ve doğru senaryoda doğru fonksiyonu kullanmak uygulamanızın performansı ve veri bütünlüğü açısından kritiktir.
Bu yazıda, bu üç fonksiyonu karşılaştırmalı olarak inceleyeceğiz ve kullanım örnekleriyle aralarındaki farkları açıklayacağız.
1. Collect Fonksiyonu
Amaç: Yeni veri oluşturmak (sadece ekleme)
Collect, bir koleksiyona veya tabloya yeni kayıt eklemek için kullanılır. Ancak var olan bir kaydı güncelleyemez.
Collect(HedefTablo; {Alan1: Deger1; Alan2: Deger2})
Örnek:
Bir galeriye yeni bir ürün ekleyelim:
Collect(Ürünler; {ÜrünAdı: "Mouse"; Fiyat: 200})
Bu ifade, Ürünler adında bir koleksiyona veya veri kaynağına "Mouse" adlı bir ürün ve fiyatı 200 olan bir kayıt ekler.
2. Patch Fonksiyonu
Amaç: Veri eklemek veya güncellemek (tek satırda)
Patch, bir kaydı hem eklemek hem de güncellemek için kullanılabilir. Bu yönüyle Collect ve Update'in birleşimidir.
Patch(HedefTablo; KaynakKayıt; {Alan1: YeniDeger1; Alan2: YeniDeger2})
Örnek 1: Yeni kayıt ekleme
Patch(Ürünler; Defaults(Ürünler); {ÜrünAdı: "Klavye"; Fiyat: 300})
Örnek 2: Mevcut kayıt güncelleme
Patch(Ürünler; First(Filter(Ürünler; ÜrünAdı = "Mouse")); {Fiyat: 250})
Bu örnekte, "Mouse" adlı ürün bulunur ve fiyatı 250 olarak güncellenir.
3. Update Fonksiyonu
Amaç: Mevcut kayıtları güncellemek (toplu güncelleme)
Update, yalnızca mevcut kayıtları günceller, yeni kayıt ekleyemez. Ayrıca toplu güncellemelerde daha etkilidir.
Update(HedefTablo; ŞartlıKayıt; {Alan1: YeniDeger1})
Örnek:
Update(Ürünler; First(Filter(Ürünler; ÜrünAdı = "Klavye")); {Fiyat: 350})
Hangi Durumda Hangisini Kullanmalıyım?
- Yeni kayıt eklemek: Collect veya Patch
- Mevcut bir kaydı güncellemek: Patch veya Update
- Çok sayıda kayıt güncellemek: Update (veya ForAll + Patch)
- Koşullu güncelleme: Patch (daha esnek)
İleri Seviye Not: ForAll + Patch ile Toplu Güncelleme
Update, yalnızca basit güncellemelerde etkilidir. Koşula dayalı ve karmaşık işlemler için genellikle ForAll ve Patch kombinasyonu kullanılır:
ForAll(
Filter(Ürünler; Fiyat < 100);
Patch(Ürünler; ThisRecord; {Durum: "İndirimde"})
)
Bu örnek, fiyatı 100'den az olan tüm ürünlerin "Durum" alanını "İndirimde" olarak günceller.
Sonuç
Power Apps'te Collect, Patch ve Update fonksiyonlarının her biri farklı kullanım alanlarına sahiptir:
- Collect: Sadece yeni kayıtlar
- Patch: Hem yeni kayıt hem güncelleme (en esnek)
- Update: Var olan kaydı doğrudan ve sade biçimde güncelleme
Uygulamanızın gereksinimlerine göre bu fonksiyonları doğru şekilde kullanmanız, veri tutarlılığı ve performans açısından önemlidir.
Konu hakkında daha fazla örnek veya kafanıza takılan herhangi bir durum söz konusu olduğunda aşağıdaki yorum kısmından yada diğer iletişim araçlarından iletişime geçebilirsiniz.
0 Yorumlar