Tablo Biçiminin Power Platformdaki Kullanımı

Power Apps, Power BI gibi ürünlere, Excel’den veri almanız gerektiği durumlarda, bu verilerin tablo biçiminin kallanılması gerekir. Verilerin alınacağı Excel’in içerisinde bir tablo var ise bu tablo, sisteme doğrudan aktarılabilir.
Veriler OneDrive içerisindeki bir Excel‘de olsa dahi durum aynıdır. Veri alanı Tablo olarak biçimlendirilmelidir.

Power Automate (MS Flow) – Excel Connection (OneDrive)

Power Apps – Excel Connection (OneDrive)

Tablo Biçiminin Kullanımı

Excel çalışma sayfası içerisinde Ekle Sekmesinden Tablo seçilerek var olan veriler tabloya dönüştürülebilir ya da sıfırdan yeni bir tablo eklenerek işlemlere başlanabilir. (Excel’de tablo yapma kısayolu CTRL+L’dir.)


Excel’de veriler tabloya dönüştürüldüğünde Tablo1 ya da Table1 şeklinde isim alır. Mevcut Excel’e eklenen her bir tablo Tablo2, Tablo3 şeklinde çeşitli isimler alacaktır. Birden çok tablo olduğunda isim karmaşası yaşanacaktır. Tablo isimlerinde karışıklıklar olmaması için Excel içerisinden tüm tablo adları anlamlı şekilde yeniden adlandırılmalıdır.

Ad Tanımlama

Power Apps veri kaynakları içerisinde tüm tablo adları aşağıda yer alan görselde ki gibi görüntülenir ve formül içerisinde aynı adlar ile kullanılır. Bu nedenle tablolar platformlara bağlanmadan önce yeniden adlandırılmış olmalıdır.

Excel Ad Yöneticisi

Formüller Sekmesi –> Ad Yöneticisi–>

alanında mevcut tablolar görüntülenir. Mevcut tablo için Düzenle–> Ad  tıklanarak yeni bir isim verilir. Adlandırılan tablo istenilen platformda kullanılabilir.

Tablo oluşturma ve yeniden adlandırma detaylarına ayrıca bakabilirsiniz.

Diğer Power Apps yazılarına link üzerinden erişebilirsiniz.

Birbirine Bağlı Açılan Listeler Oluşturmak

Mobil uygulamalarınızda birbirine bağlı açılan listeler yapabilirsiniz. Örnek olarak Kıta seçildiğinde Ülkeleri, Ülke seçildiğinde bölgeleri, bölge seçimine göre ise şehirler gösterilebilir.

Açılan Liste (Dropdown List) kullanırken manuel liste oluşturabilirsiniz ya da bir veri kaynağından alabilirsiniz.

Açılan Listeye manuel veri eklemek için köşeli ayraçlar içerisinde [“metin1” ; “metin2” ; “metin3” ] şeklinde veri girişi yapılması gerekir.

Belirli bir veri kaynağından veri alacaksak verilerin tablo olarak kaydedilmiş olması gerekir. Örneğin veriler OneDrive içerisindeki bir Excel‘de ise veri alanı Tablo olarak biçimlendirilmelidir. Excel’de tablo yapma kısayolu CTRL+SHIF+L’dir.

Verinizi tabloya dönüştürdüğünüzde Tablo1 ya da Table1 gibi bir isim alır. Veriler ise Power Apps içerisinde bu tablo adları ile kullanılır. Birden çok tablo olduğunda Tablo1, Tablo5, Tablo3 gibi isim karışıklıkları olmaması adına Excel Tablosu, Power Apps’e hiç gitmeden önce isimlendirilmiş olmalıdır.

Açılan Listeler

İki açılan liste ile işlem yapacağız.

Dropdown1–> dd_bolge olarak adlandırılır.
Dropdown2–> dd_il olarak adlandırılır.
dd_bolge’den seçilen bölge adına göre dd_il içerisindeki iller değişecektir.

Tablodan Veri Alma

Tabloda bölge adlarının karşılarında iller yazmaktadır. Bir bölgeye bağlı birden çok il olduğu için bölgeler tekrarlamaktadır. Bölge adlarının birer tane gösterilmesi için Distinct formülü kullanılmalıdır.

dd_bolge’nin items özelliğine, Distinct(BolgeTablosu;Bölge) şeklinde yazılabilir.

dd_il nesnesi için sağdaki menüyü doğrudan kullanabiliriz.

Öğerler
tablonun adı BölgeTablosu seçilir,
Value ilgili kolon adı il kolonu seçilir.

Bağlı olduğu denetim için üst denetim dd_bolge, Eşleşen alan BölgeTablosu, Bölge kolonu olarak seçilir.
Böylece aşağıdaki formül otomatik şekilde yazılır.
dd_il’ nin items özelliği, Filter(BolgeTablosu; Bölge = dd_bolge.Selected.Result)

Bölge adlarının tekrarlamadığı durum için Distince gerek yoktur ve bu bağlamda formül revize gerektirir.
Filter(BolgeTablosu ;dd_bolge.Selected.Bölge=Bölge)

Formül çubuğunda, formülün döndürdüğü değer görüntülenecektir.


Manuel Liste Kullanımı

Uzun verileri tek tek yazmak zor olacağından ve formül uzayacağından dolayı genellikle kısa veriler için manuel liste kullanımı mantıklıdır.

dd_bolge’nin items özelliğine, [“Marmara Bölgesi”; “Ege Bölgesi”;”Karadeniz Bölgesi”] şeklinde yazılabilir.

dd_il’ nin items özelliğine,
If(
dd_bolge.Selected.Value=”Marmara Bölgesi”; [ “İstanbul”;”Kocaeli”];
dd_bolge.Selected.Value=”Ege Bölgesi”; [“İzmir”;”Çanakkale”];
dd_bolge.Selected.Value=”Karadeniz Bölgesi”;[“Zonguldak”;”Sinop”;”Trabzon”]
)
 şeklinde yazılabilir. Her işlem için olduğu gibi açılan listeler için de çeşitli ve farklı yöntemler kullanılabilir. Örneğin IF() yerine Switch() fonksiyonu yazmayı da deneyebilirsiniz.

 

Açılan Listeler hakkında detaylar için linke göz atabilirsiniz.

Özellikleri Kullanarak Nesneleri Merkezi Olarak Yönetmek

Power Apps uygulaması geliştirirken ekranlardaki nesneleri merkezi olarak yönetmeye ihtiyaç duyabilirsiniz. Belirli bir nesnenin özellikleri değiştiğinde, tüm ekranlardaki ilişkili nesneler için renk, boyut, konum gibi özellikler yönetilebilir.

Merkezi yönetim için mevcut iki yöntem bulunuyor.

  1. Yöntem: Formül çubuğu üzerinden nesne özelliklerini kullanarak yönetim yapmak
    İşlemler formül üzerinden ilerlediği için en stabil çalışan yöntemdir. Bu işlem için Özellikler penceresinde yer alan, renk, hizalama, boyut gibi tüm özelliklerden faydalanabilirsiniz. Bu yöntem, uygulama geliştirilmeye başlanırken ilk olarak yapılması gereken işlemlerin başında gelir. Var olan bir uygulamaya sonradan bu işlemi yapmak zahmetli olabilir ama yapmakta fayda var.
  2. Yöntem: Bileşenler ( Components ) [Deneysel]
    Bu özellik deneysel olduğu için henüz stabil çalışmamaktadır, formül yöntemine nazaran çok daha kolay kullanılabilir.

Nesneleri Formül ile Merkezi Yönetme

Birçok yerde Power Apps’in Excel mantığı ile çalıştığını, formül yapısının benzediğini duymuşsunuzdur.

Excel’de iki hücreyi toplamak için formül çubuğuna =A1+A2 yazarız. Bu işlemde hücre adlarını formülde kullanarak  hücre içindeki değeri doğrudan çağırmış ve toplama yapmış oluyoruz. Böylece hücre içindeki değer değiştikçe toplam değeri de sürekli hesaplanıyor.

Aynı işlemi Power Apps üzerinde yapmak istediğimizde Text Box, Label gibi nesneleri kullanabiliriz.
Örnek olarak 2 TextBox’a girilen değerlerin toplamlarını bir Label içerisinde hesaplama yaptırarak gösterebiliriz.

Ekranda yer alan Label nesnesinin adı Toplam olarak, TextBox’lar ise Sayı1 ve Sayı2 olarak isimlendirilmiştir.
Toplam nesnesinin Text özelliğine  =Sayı1. Text + Sayı2.Text  formülü yazılarak toplam sonucu görüntülenebilir.

Sayı1 nesnesinin Text verisini getir     +  Sayı2 nesnesinin Text verisini getir denmiş oluyor.

Tamda bu örnekle aynı mantıkla, nesnelerin birbirlerini taklit etmelerini sağlamak için de nesnelerin özellikleri kullanılabilmekte.
Aslında bir nesnenin özelliğini diğer nesnelerin özelliğine atayarak işlem yapacağız.

İşlem Adımları

Ekrana iki adet Label nesnesi ekleyelim.

Label1–> adı Lable1 olarak kalsın
Label2–> adı Label1’e_bağlı_nesne olarak değiştirilsin.

Label1
Dolgu rengi, içerdiği metin, kenarlık rengi gibi özellikleri değiştirilerek özelleştirilir.

Label1’e_bağlı_nesne
Bu Label için aşağıdaki özellik başlıklar aşağıdaki formüller ile değiştirilir.

Fill –>  Label1.Fill  (Label1’in dolgu rengini alır)
BorderColor–>  Label1.BorderColor  (Label1’in kenarlık rengini alır)
Text–>  Label1.Text  (Label1’in içerdiği metni alır)
Width–>  Label1.Width  (Label1’in genişliğini alır)
Height–>  Label1.Height  (Label1’in uzunluğunu alır)

Formülde yazıldığı gibi artık bu nesne Label1’e bağlandı, Label1’de ilgili özellikler değiştiğinde bağlı nesne değişecek.
Bağlı nesneyi kopyala yapıştır yaparak ekranlara dağıtabilirsiniz.

Bileşenleri Kullanarak Nesneleri Merkezi Olarak Yönetmek

Power Apps uygulaması geliştirirken ekranlardaki nesneleri merkezi olarak yönetmeye ihtiyaç duyabilirsiniz. Belirli bir nesnenin özellikleri değiştiğinde, tüm ekranlardaki ilişkili nesneler için renk, boyut, konum gibi özellikler yönetilebilir.

Merkezi yönetim için mevcut iki yöntem bulunuyor.

  1. Yöntem: Formül çubuğu üzerinden nesne özelliklerini kullanarak yönetim yapmak
    İşlemler formül üzerinden ilerlediği için en stabil çalışan yöntemdir.
  2. Yöntem: Bileşenler ( Components ) [Deneysel]
    Bu özellik deneysel olduğu için henüz stabil çalışmamaktadır, formül yöntemine nazaran çok daha kolay kullanılabilir.
    Bileşen kullanımı ile ekranlardaki nesneler standart hale getirilebilir.
    Bu yazıda Bileşenler (Components) ile nesnelerin merkezi yönetimini yapmayı inceleyeceğiz.

    Bileşenler (Components) Kullanımı

    Bilişenler özelliğini kullanmak için
    Dosya (File)–>Ayarlar (Settings)–> Gelişmiş Ayarlar (Advanced Settings)–> Sağ tarafta yer alan Arama Çubuğuna Bileşenler( Components) yazarak özellik bulunur ve Açık konuma getirilir.

    Nesneleri Bileşenler ile Merkezi Yönetme

    Bileşenler aktif edildikten sonra uygulama ekranına dönülür. Ekranlar /Bileşenler olmak üzere iki menü görüntülenir.

    Bileşenler ekranına geçilerek kullanmayı istediğimiz şablon bu ekranda tasarlanır. Bileşen, normal ekran gibi tasarlanmaktadır. Birden çok bileşen kullanmanız durumunda, bileşenleri isimlendirme önemli bir hal alacaktır.

    Bileşeni tamamladıktan sonra Ekranlar bölümüne geçilir ve Bileşen eklenecek sayfadayken,
    Ekle sekmesi–>Özel–>Component1 seçilerek sayfaya konumlandırılır.


    Oluşturulan bileşen tek bir nesne olarak ekrana eklenir. Bu nedenle bir bileşen arkaplan resmi gibi düşünülebilir.
    Bu bağlamda bir bileşenin içerdiği simgeler ya da nesneler, tasarlanırken ya da ekrana eklendikten sonra genel formülleri kabul etmez (anasayfa, ileri, kaydet butonlarının işlevleri gibi).

    Bileşenlerde Formül Kullanımı

    Bileşenler üzerindeki nesnelere komutlar verebilmek için ekstra işlem yapmalıyız, örneğin görseldeki geri butonuna Navigate fonksiyonu yazmak istediğimiz durum için ekrana bir Label eklememiz gerekir. Bu Label’ın OnSelect özelliğine Navigate fonksiyonu yazılarak süreç tamamlanabilir.

 

Mobil Cihaz ile Kolay Kod Tarama

Barkod, Seri No, Imei No, QR Kod ve daha bir çok kod çeşidini TEK ekran üzerinden taramanız mümkün! Power Apps’in gelişmiş kod tarama işlevi ile tüm kod çeşitlerini tarayabilir ve sisteminize entegre edebilirsiniz.

Envanterler için sayım, takibi ve atama işlemleri; kütüphane yönetimi; stok ve ürün kayıtlarının tutulması; özellikler mobil cihazlar için mağaza denetimlerinde hızlı işlem yapmayı sağlaması gibi birçok senaryo ile kod sistemine geçişin faydalarından bahsedilebilir.

Power Apps kullanarak geliştireceğiniz mini uygulama sayesinde cep telefonu kamerası üzerinden kod tarama yapılmaktadır.

Kod Tarama

Bu özellik sayesinde ekstra hiçbir scan cihazı kullanmanız gerekmez.  Kod tarama özelliğini kullanmak için mobil cihazınıza Ekle Sekmesi–> Medya–>Barkod Tarayıcı seçilerek eklenir. Bu işlem sayfanıza yalnızca bir buton ekler, tarama yapmanızı sağlayan ekran uygulama içinden size görünmez.


Tarama butonunun (BarcodeScanner1) OnScan özelliğine Navigate formülü yazarak ikinci ekrana yönlendirme yapabilirsiniz. Böylece bir kod tarandığında ikinci sayfaya geçiş yapılır.

İkinci ekranda taranan kodu göstermek için bir Label (barkodVerisi), veri girişi yapmak için Ekle butonu (Button1) ve verileri göstermek için Galeri kullanılmıştır.

Label1 –> Text özelliğine BarcodeScanner1.Value yazılmıştır.

Button1–> OnSelect özelliğine aşağıdaki önbelleğe veri kaydetme fonksiyonu yazılmıştır.
Collect( OkunanBarkodlar; {barkod: barkodVerisi.Text} )

Gallery1–> Items özelliğine OkunanBarkodlar yazılmıştır.

 

Barcode Scan özelliği hakkında linke göz atabilirsiniz.

Sayfa Yönlendirme İşlemleri

PowerApps mobil uygulamalarında ekranlar arası geçişler için Navigate fonksiyonu kullanılmaktadır.

Sayfalar Arası Geçişler Nasıl Oluyor?

Ekrandaki nesnelere dokunulduğunda/tıklandığında (kullanıcı tetiklemesi ile)
Belirli süreler sonunda (sayaç ile) otomatik gerçekleşmesi sağlanabilir.

Genellikle nesneler için “tıklandığı anda” gerçekleşmesi istenen tüm işlemler için temelde OnSelect özelliğinden faydalanılabilir.

Örnek olarak sayfada bulunan ileri butonuna tıklandığında bir sonraki sayfaya geçiş yapılması istendiği durumu değerlendirelim.

İleri butonu için sayfa yönlendirme işlemi:

Bu nesnenin OnSelect özelliğinin içinde Navigate formülü; Navigate(hedef sayfa, geçiş efekti) şeklinde yazılacaktır.

Navigate formülü her zaman OnSelect’e yazılmak zorunda değil elbette. Farklı nesnelerin farklı özellikleri var demiştik. Bu bağlamda OnCheck, OnVisible, OnChange gibi özellikler de yeri geldiğinde kullanılmaktadır.

Bir onay kutusu için “İşaretlendiği anda” formül çalışsın istenirse OnCheck özelliği kullanılabilir.