Tuval uygulamaları için veri kaynaklarını anlama

Power Apps'te, çoğu tuval uygulaması, bulut hizmetlerinde depolanan ve Veri Kaynakları olarak adlandırılan harici bilgileri kullanır. Buna örnek olarak OneDrive uygulamasında depolanan bir Excel dosyasında yer alan tablo verilebilir. Uygulamalar, Bağlantıları kullanarak bu veri kaynaklarına erişir.

Bu makalede temsilci seçme, hata işleme ve yaygın sorunlar dahil olmak üzere farklı veri kaynağı türleri ve tablo veri kaynaklarıyla çalışma konuları ele alınmaktadır.

Veri kaynaklarında okuma ve yazma işlemleri gerçekleştiren bir uygulamayı kolayca oluşturabilirsiniz. Bununla birlikte, bazen verilerin uygulamanıza girişi ve çıkışı konusunda daha fazla denetim sahibi olmak isteyebilirsiniz. Bu makalede Patch, DataSourceInfo, Validate ve Errors işlevlerinin sağladığı ek denetim özellikleri anlatılmaktadır.

Veri kaynaklarının türleri

Veri kaynakları, bulut hizmetlerine bağlı olabileceği gibi bir uygulamada yerel olarak bulunabilir.

Bağlı veri kaynakları

En çok kullanılan veri kaynakları, veri almak ve depolamak için kullanabileceğiniz tablolardır. Veri kaynağı bağlantılarını kullanarak Microsoft Excel çalışma kitapları, Microsoft Lists kullanılarak oluşturulmuş listeler, SharePoint kitaplıkları, SQL tabloları ve diğer birçok biçimden veri okuyabilir ve yazabilirsiniz. Bu öğeler de OneDrive, DropBox ve SQL Server gibi bulut hizmetlerinde depolanabilir.

Tablolar dışında e-posta, takvimler, Twitter ve bildirimler gibi veri kaynakları da mevcuttur ancak bu makalede diğer veri kaynağı türlerine değinilmemektedir.

Yerel veri kaynakları

Galeri, Görüntüleme formu ve Düzenleme formu denetimlerini kullanarak bir veri kaynağından veri okuma ve yazma işlemi gerçekleştirebilen bir uygulamayı oluşturabilirsiniz. Başlamak için Veri formlarını anlama bölümüne bakın.

Power Apps'ten verileri kullanarak bir uygulama oluşturmasını istediğinizde bu denetimler kullanılır. Uygulama arka planda iç tablo kullanarak veri kaynağından gelen verileri depolar ve işler.

Collection, uygulamada yerel olan ve bir bulut hizmetine bağlantı tarafından desteklenmeyen özel bir veri kaynağı türüdür. Bu nedenle, bilgiler aynı kullanıcı için cihazlar arasında veya kullanıcılar arasında paylaşılamaz. Koleksiyonlar yerel olarak yüklenebilir ve kaydedilebilir.

Tablo türleri

Bir uygulamada dahili olarak kullanılan tablolar sabit değerlerdir (bir sayının veya dizenin değer olması gibi). Dahili tablolar hiçbir yerde saklanmaz, ancak uygulamanızın belleğinde bulunur. Bir tablonun yapısını ve verilerini doğrudan değiştiremezsiniz. Bunun yerine formül kullanarak yeni bir tablo oluşturabilir, formülle özgün tablonun değiştirilmiş bir kopyasını elde edebilirsiniz.

Dış tablolar daha sonra alınmak ve paylaşılmak üzere bir veri kaynağında depolanır. Power Apps depolanan verileri okumak ve yazmak amacıyla "bağlantılar" sunar. Bir bağlantıda birden fazla bilgi tablosuna erişebilirsiniz. Uygulamanızda kullanılacak tabloları seçtiğinizde her biri, ayrı bir veri kaynağı olur.

Daha fazla bilgi edinmek için, dahili tablolar ve ayrıca bir bulut hizmetinde bulunan harici tablolar hakkında bilgi edinmek için Tablolarla çalışma bölümüne bakın.

Tablolarla çalışma

Tablo veri kaynaklarını, Power Apps'teki iç tabloları kullandığınız şekilde kullanabilirsiniz. İç tablolarda olduğu gibi, tüm veri kaynakları formüllerde kullanabileceğiniz özellikler, kayıtlar ve sütunlar içerir. Ayrıca:

  • Veri kaynağı, bağlantıdaki temel alınan tabloyla aynı sütun adlarına ve veri türlerine sahiptir.

    Note

    SharePoint ve boşluklu sütun adları içeren Excel veri kaynakları için Power Apps boşlukları "_x0020_" ile değiştirir. Örneğin, SharePoint veya Excel'deki "Sütun Adı", Power Apps'te veri düzeninde görüntülendiğinde ya da bir formülde kullanıldığında "Column_x0020_Name" olarak görünür.

  • Uygulama yüklendiğinde veri kaynağı hizmetten otomatik olarak yüklenir. Refresh işlevini kullanarak verileri yenilenmeye zorlayabilirsiniz.

  • Uygulamayı çalıştıran kullanıcılar kayıtlar üzerinde oluşturma, değiştirme ve silme işlemlerini gerçekleştirip bu değişiklikleri hizmetteki temel alınan tabloya geri gönderebilir.

    • Kayıtlar Patch ve Collect işlevleriyle oluşturulabilir.
    • Kayıtlar Patch, Update ve UpdateIf işlevleriyle değiştirilebilir.
    • Kayıtlar Remove ve RemoveIf işlevleriyle kaldırılabilir.
    • Veri kaynaklarıyla çalışırken ortaya çıkan hatalara Errors işleviyle ulaşabilirsiniz.
  • DataSourceInfo, Defaults ve Validate işlevleri ile sağlanan veri kaynağı bilgilerini kullanarak kullanıcı deneyimini iyileştirebilirsiniz.

Veri kaynağı oluşturma

Power Apps ile bağlı veri kaynağı oluşturmak veya bağlı veri kaynaklarının yapısını değiştirmek mümkün değildir. Veri kaynağının başka bir hizmet üzerinde mevcut olması gerekir. Örneğin, OneDrive'da depolanan bir Excel çalışma kitabında tablo oluşturmak için önce OneDrive'da Excel Online'ı kullanarak bir çalışma kitabı oluşturmanız gerekir. Ardından uygulamadan bu dosyayla bağlantı kurabilirsiniz.

Bununla birlikte, uygulama içinden koleksiyon veri kaynakları oluşturmak ve bunları değiştirmek mümkündür ancak bunlar yalnızca geçicidir.

Bir veya daha fazla kayıt görüntüleme

Bir uygulama veri kaynağındaki bilgileri okuduğunda bilgilerin akışı.

Bu diyagramda, veri kaynağındaki bilgi uygulama tarafından okunduktan sonra gerçekleşen bilgi akışı gösterilmektedir:

  • Bilgi depolama hizmeti (bu durumda, Microsoft Lists veya SharePoint Online) aracılığıyla depolanır ve paylaşılır.
  • Bu bilgiler uygulamaya bağlantı üzerinden sağlanır. Bağlantı, bilgilere erişebilmesi için kullanıcının kimliğini doğrular.
  • Uygulama başlatıldığında veya Refresh işlevine basıldığında veri kaynağındaki bilgiler yerel ortamda kullanılmak üzere uygulamaya çekilir.
  • Bilgileri okumak ve kullanıcının görebileceği denetimlerde görüntülemek için formüller kullanılır. Ekranda bir galeri kullanıp Items özelliğini Gallery.Items = DataSource formülüyle bir veri kaynağına bağlayarak veri kaynağındaki kayıtları görüntüleyebilirsiniz. Denetimlerin Varsayılan özelliğini kullanarak galeri içindeki denetimleri galeriye bağlayabilirsiniz.
  • Veri kaynağı da bir tablodur. Bu sayede, veri kaynağının tamamını kullanmadan daraltma ve çoğaltma işlemleri gerçekleştirmek için Filter, Sort, AddColumns ve diğer işlevleri kullanabilirsiniz. Lookup, First, Last ve diğer işlevleri kullanarak da bağımsız kayıtlarla çalışabilirsiniz.

Bir kaydı değiştirme

Önceki diyagramdaki oklar tek yönlüdür. Bir veri kaynağında yapılan değişiklikler verilerin alındığı formüller üzerinden geri gönderilmez. Bunun yerine yeni formüller kullanılır. Özellikle mobil cihazlarda genelde kayıtların düzenlenmesi için, kayıtlara göz atma ekranından farklı bir ekran kullanılır.

Bir veri kaynağındaki kayıtlardan birini değiştirmek için kaydın söz konusu veri kaynağından gelmiş olması gerekir. Kayıt bir galeride, bir bağlam değişkeninde ve herhangi sayıda formülde görüntülenebilir, ancak kökeni veri kaynağına kadar izlenebilir olmalıdır. Kaydı benzersiz şekilde tanımlayan ek bilgiler, doğru kaydı değiştirmenizi sağlayarak kayıtla birlikte taşınır.

Veri kaynağını güncelleştirmek için bilgi akışı. Bu diyagramda, veri kaynaklarını güncelleştirmek için kullanılan bilgi akışı gösterilmektedir:

  • Düzenleme formu denetimi, metin girişi denetimi veya kaydırıcı gibi kullanıcı girişi denetimlerinden oluşan giriş kartları için bir kapsayıcı sunar. Düzenlenecek kaydı belirlemek için DataSource ve Öğe özellikleri kullanılır.
  • Her giriş kartında formun ThisItem kaydı alanına ayarlanan Varsayılan özelliği vardır. Giriş kartındaki denetimler de giriş değerlerini Varsayılan özelliğinden alır. Normalde bu varsayılanı değiştirmenize gerek yoktur.
  • Her giriş kartı bir Güncelleştir özelliğine sahiptir. Bu özellik, veri kaynağına geri yazmak üzere kullanıcının girişini kaydın belirli bir alanıyla eşler. Normalde bu özelliği değiştirmenize gerek yoktur.
  • Ekrandaki bir düğme veya image denetimi, kullanıcının kayıt üzerinde yaptığı değişiklikleri kaydetmesini sağlar. Denetimin OnSelect formülü bu işlem için SubmitForm işlevini çağırır. SubmitForm kartların tüm Güncelleştir özelliklerini okuyarak bilgileri veri kaynağına geri yazar.
  • Kullanıcılar bazen sorunlarla karşılaşabilir. Ağ bağlantısı kesik olabilir veya hizmet tarafından uygulamanın bilmediği bir doğrulama denetimi yapılabilir. Form denetiminin Hata ve ErrorKind özellikleri bu bilgileri vererek kullanıcıya göstermenizi sağlar.

Süreçle ilgili daha fazla denetim sahibi olmak için Patch ve Errors işlevini de kullanabilirsiniz. Düzenleme formu denetiminin Updates özelliğini kullanarak formdaki alanların değerlerini okuyabilirsiniz. Ayrıca bu özelliği, bir bağlantıda özel bağlayıcı çağırıp Patch ve SubmitForm işlevlerini tamamen atlamak için de kullanabilirsiniz.

Validation

Uygulama bir kaydı değiştirmeden önce, yapılan değişikliğin kabul edilebilir olduğundan emin olmalıdır. Denetlemenin iki nedeni vardır:

  • Kullanıcıya anında geri bildirim vermek. Bir sorunu düzeltmenin en iyi zamanı, ortaya çıktığı ve kullanıcının konuya hakim olduğu zamandır. Her dokunma veya tuş vuruşu sonrasında girişteki hataları tanımlayan kırmızı renkli metinler görüntülenebilir.
  • Daha az ağ trafiği ve daha az kullanıcı gecikme süresi. Uygulamada ne kadar çok sorun tespit edilirse ağ üzerinden sorun tespiti ve çözüm için o kadar az iletişim gerçekleştirilir. Her iletişim girişimi belirli bir zaman alır ve kullanıcının bu süre boyunca beklemesi gerekir.

Power Apps doğrulama için iki araç sunar:

  • Veri kaynağı, geçerli olan ve olmayan öğelerle ilgili bilgi sağlayabilir. Örneğin, sayılar için minimum ve maksimum değerler olabilir ve bir veya daha fazla giriş gerekebilir. DataSourceInfo işleviyle bu bilgilere erişebilirsiniz.
  • Validate işlevi de aynı bilgileri kullanarak tek bir sütunun veya bir kaydın tamamının değerini denetler.

Hata yönetimi

Kaydınızı doğruladığınıza göre, bu kaydı Patch ile güncelleştirin.

Ama yine de bir sorun olabilir. Ağ kapalı, servis doğrulaması başarısız veya kullanıcı doğru izinlere sahip değil, uygulamanızın karşılaşabileceği olası hatalardan sadece birkaçı. Uygulamanızın hata durumlarına uygun şekilde yanıt vermesi, kullanıcıya geri bildirim sağlaması ve hatayı düzeltmesi için bir araç sunması gerekir.

Veri kaynağıyla ilgili hatalar oluştuğunda uygulamanız hata bilgilerini otomatik olarak kaydeder ve Errors işlevi aracılığıyla iletir. Hatalar, sorunun görüldüğü kayıtlarla ilişkilendirilir. Sorun, doğrulama sorunu gibi kullanıcı tarafından giderilebilecek türdeyse kayıt yeniden gönderildiğinde hatalar silinir.

Hata Patch veya Collect işleviyle kayıt oluşturma sırasında oluşursa hatanın ilişkilendirilebileceği bir kayıt olmaz. Bu durumda boş değeri Patch tarafından döndürülür ve Errors işlevinde kayıt bağımsız değişkeni olarak kullanılabilir. Oluşturma hataları bir sonraki işlemde silinir.

Errors işlevi, hata bilgilerini içeren bir tablo döndürür. Hatanın belirli bir sütunla ilişkilendirilebildiği durumlarda bu bilgiler arasında sütun bilgileri de yer alabilir. Sütun düzeyindeki hata iletilerini, düzenleme ekranındaki sütun konumuna yakın etiket denetimlerinde kullanın. Hata tablosundaki Column değerinin boş olduğu kayıt düzeyindeki hata iletilerini kaydın tamamına ait Save düğmesinin yakınında kullanın.

Büyük veri kaynaklarıyla çalışma

Büyük veri kaynaklarından (milyonlarca kayıt içerebilen) rapor oluşturduğunuzda ağ trafiğini en aza indirmek istersiniz. New York'da oturan ve StatusCode değeri Platinum olan tüm Müşterilerle ilgili bir rapor hazırlamak istediğinizi kabul edelim. Müşteriler tablonuz milyonlarca kayıt içeriyor.

Milyonlarca müşteriyi uygulamanıza getirip, sonra da istediklerinizi seçmek istemezsiniz. Seçim, tablonuzun saklandığı bulut hizmeti içerisinde gerçekleşmeli ve seçtiğiniz kayıtları ağ üzerinden göndermelisiniz.

Kayıt seçmek için kullanabileceğiniz işlevlerin tamamı olmasa da çoğu devredilebilir, bu da şu anlama gelir ki bu işlevler bulut hizmetinde çalıştırılır. Daha fazla bilgi için bkz. Temsil.

Important

Varsayılan olarak, Power Apps bir veri kaynağından yalnızca ilk 500 kayıtlarını alır. Uygulama ayarlarında bu sınırı en fazla 2.000 kayda yükseltebilirsiniz. Veri kaynağınız daha fazla kayıt içeriyorsa ve formülünüz tam olarak devredilemiyorsa, Power Apps Studio'da sarı delege uyarı üçgeni görüntülenir. Bu uyarıyı gördüğünüzde, uygulamanız çalışma zamanında eşleşen tüm kayıtları döndürmeyebilir. Büyük veri kümelerinde veri kaybını önlemek için desteklenen veri kaynaklarında Filter ve Sort gibi temsil edilebilir işlevleri kullanın veya daha geniş temsilci desteğine sahip Microsoft Dataverse kullanmayı göz önünde bulundurun.

Temsil yetkilendirme uyarılarını tanımlama ve çözme

Power Apps, bir formül işlemini veri kaynağına gönderemediğinde, formül çubuğunda genellikle sarı bir üçgen olarak yetkilendirme uyarısı görünür; ancak bu uyarı her yetkilendirilemeyen durumda gösterilmez. Formülün devredilebilir olup olmadığını kontrol etmek için

  1. Veri kaynağınızı işleyen denetimi veya formülü seçin.
  2. Power Apps Studio'da sarı üçgen simgesi arayın.
  3. Üçgenin üzerine gelerek delege uyarı mesajını okuyun.

Temsilci seçme sorunlarını çözmek için:

  • Temsilci seçilemeyen işlevleri (SharePoint metin sütunları için Search gibi) mümkün olduğunca temsilci seçilebilir alternatiflerle değiştirin.
  • En geniş delegasyon desteği için veri kaynağınız olarak Microsoft Dataverse'e geçin.
  • Verileri önceden filtrelemek için sunucu tarafı görünümlerini (SharePoint için) veya saklı yordamları (SQL için) kullanın.
  • İşaretlenmeyen yetki devri sorunlarını gidermek için Gelişmiş araçlar altında Canlı İzleyici'yi kullanarak Power Apps tarafından gönderilen sorguları ve her veri kaynağından döndürülen verileri inceleyin. Daha fazla bilgi için bkz. Live monitor ile tuval uygulamalarında hata ayıklama.

Koleksiyonlar

Koleksiyonlar özel türdeki veri kaynaklarıdır. Bunlar uygulama için yereldir ve buluttaki bir hizmete bağlantıyla desteklenmez. Bu nedenle, bilgiler aynı kullanıcı için cihazlar arasında veya kullanıcılar arasında paylaşılamaz.

Koleksiyonlar, birkaç istisna dışında, diğer veri kaynakları gibi çalışır:

  • Koleksiyonlar Collect işleviyle dinamik olarak oluşturulabilir. Bağlantı tabanlı veri kaynakları gibi önceden oluşturulmaları gerekmez.
  • Collect işlevini kullanarak bir koleksiyondaki sütunları istediğiniz zaman değiştirebilirsiniz.
  • Koleksiyonlarda yinelenen kayıtlara izin verilir. Bir koleksiyonda aynı kaydın birden fazla kopyası bulunabilir. Remove gibi işlevler Tümü bağımsız değişkeni kullanılmadığı sürece yalnızca buldukları ilk eşleştirme üzerinde işlem uygular.
  • SaveData ve LoadData işlevlerini kullanarak koleksiyonun bir kopyasını kaydedebilir ve yeniden yükleyebilirsiniz. Bu bilgiler diğer kullanıcıların, uygulamaların veya cihazların erişemeyeceği özel bir konumda depolanır.
  • Dışarı aktar ve İçeri aktar denetimlerini kullanarak, kullanıcının etkileşim kurması amacıyla koleksiyonun bir kopyasını kaydedebilir ve yeniden yükleyebilirsiniz.

Veri kaynağı olarak koleksiyonlarla çalışma hakkında daha fazla bilgi için bkz. Koleksiyon oluşturma ve koleksiyonları güncelleştirme.

Koleksiyonlar genelde uygulamanın genel durumunu korumak için kullanılır. Durum yönetim seçenekleri için bkz. Değişkenlerle çalışma.

Yaygın veri kaynağı sorunlarını giderme

Varsayılan olarak, Power Apps bir veri kaynağından yalnızca ilk 500 kaydı alır. Galerinizde eksik kayıtlar varsa, büyük olasılıkla bir temsilci seçme sorununuz vardır. Galerinizin Öğeler formülünde sarı üçgen uyarısı olup olmadığını kontrol edin ve kullandığınız filtre formülünün veri kaynağınız için delege edilebilir olduğundan emin olun. Çözüm adımları için bkz. Büyük veri kaynaklarıyla çalışma .

Formüllerimdeki sütun adları x0020 olarak görünüyor.

SharePoint listesinde veya Excel tablonuzda boşluk içeren sütun adları varsa (örneğin, My Column), Power Apps formüllerdeki boşlukları _x0020_ ile değiştirir (örneğin, MyTable.My_x0020_Column). Bu beklenen bir davranıştır. Kaynak verilerdeki sütunu yeniden adlandırarak boşlukları kaldırın veya formüllerinizde kodlanmış adı kullanmaya devam edin.

Uygulamamda veri kaynağı değişiklikleri görünmüyor

Temel alınan veriler harici olarak değiştirildiyse (örneğin, SharePoint bir kayıt eklendiyse), uygulamanız çalışırken değişiklikleri otomatik olarak algılamaz. Uygulamayı geçerli verileri yeniden yüklemeye zorlamak için Refresh işlevini kullanın. Örneğin, ile OnSelect = Refresh(MyDataSource)bir düğme ekleyin.

SubmitForm yerine ne zaman Yama kullanmalıyım?

Form düzenleme denetiminiz varsa SubmitForm'u kullanın; doğrulama, alan eşleme ve hata görüntüleme işlemlerini otomatik olarak işler. Düzeltme Eki'ni aşağıdaki durumlarda kullanın:

  • Form denetimi olmadan kaydı güncelleştirin.
  • Diğerlerini etkilemeden yalnızca belirli alanları güncelleştirin.
  • Tek bir işlemde birden çok veri kaynağına yazma.
  • Tamamen özel bir kaydetme deneyimi oluşturun.