Aracılığıyla paylaş


Filter, Searchve LookUp işlevleri

Şunlar için geçerlidir: Tuval uygulamaları Copilot Studio Desktop akışları Model temelli uygulamalar Power Platform CLI Dataverse işlevleri Power Pages

Tablo içinde bir veya daha fazla kayıt bulur.

, Searchve LookUp işlevlerini kullanmayı Filteröğrenmek için bu videoyu izleyin:

Not

PAC CLI pac power-fx komutları işlevi desteklemez Search .

Description

İşlev, Filter bir tablodaki formülü karşılayan kayıtları bulur. Bir veya daha fazla ölçütle eşleşen bir kayıt kümesini bulmak ve olmayan kayıtları atmak için kullanın Filter .

İşlev, LookUp bir tablodaki formülü karşılayan ilk kaydı bulur. Bir veya daha fazla ölçütle eşleşen tek bir kaydı bulmak için kullanın LookUp .

Her iki işlevde de formül, tablodaki her bir kayıt için değerlendirilir. true olarak sonuçlanan kayıtlar sonuca dahil edilir. Normal formül işleçlerinin yanı sıra alt dize eşleşmeleri için in ve exactin işleçlerini kullanabilirsiniz.

İşlenmekte olan kayıt alanları formül içinde bulunur. ThisRecord işlecini kullanın veya başka bir değere olduğu gibi yalnızca adla başvuruda bulunun. As işleci, formülünüzü daha anlaşılır ve iç içe geçmiş kayıtları erişilebilir hale getirmenizi kolaylaştıracak şekilde, işlenen kaydı adlandırmak için de kullanılabilir. Daha fazla bilgi için aşağıdaki örneklere ve kayıt kapsamıyla çalışma bölümüne bakın.

İşlev, Search sütunlarından birinde dize içeren bir tablodaki kayıtları bulur. Dize, sütundaki herhangi bir yerde olabilir. Örneğin, "rob" veya "bert" sözcüklerini aratmak "Robert" öğesini içeren bir sütunda eşleşme bulabilir. Arama büyük/küçük harfe duyarlı değildir. ve'in LookUpSearch aksine Filter işlev, formül yerine eşleştirmek için tek bir dize kullanır.

Filter ve Search özgün tabloyla aynı sütunları ve ölçütlere uyan kayıtları içeren bir tablo döndürür. LookUp , kaydı tek bir değere indirgemek için bir formül uyguladıktan sonra yalnızca bulunan ilk kaydı döndürür. Kayıt bulunamazsa, FilterSearchboş bir tablo döndürür ve LookUpboş döndürür.

Tablolar , tıpkı bir dize veya sayı gibi bir değerdir Power Apps. Tablolar, işlevlere geçirilebilir ve işlevlerden döndürülebilir. Filter, Searchve LookUp bir tabloyu değiştirmeyin. Bunun yerine, bir tabloyu bağımsız değişken olarak alır ve bundan bir tablo, kayıt veya tek bir değer döndürürler. Daha fazla ayrıntı için bkz. tablolarla çalışma.

Temsilci

Mümkünse, Power Apps isteğe bağlı olarak sonuçlar doğrultusunda filtreleri ve sıralama işlemlerini veri kaynağına ve sayfaya temsilci atar. Örneğin, verilerle dolu bir Galeri denetimi gösteren bir uygulama başlattığınızda, başlangıç olarak yalnızca ilk kayıt kümesi cihaza getirilir. Kullanıcı kaydırma yaptığında, veri kaynağından ek veriler getirilir. Sonuç olarak uygulama başlangıç süresi daha hızlı olur ve daha büyük veri kümelerine erişilir.

Ancak, temsilci atama her zaman mümkün olmayabilir. Veri kaynakları, temsilci atama ile destekledikleri işlevlere ve işleçlere göre farklılık gösterir. Formülün tam temsili mümkün değilse, yazma ortamı bir uyarıyla temsil edilemeyecek olan bölümü belirtir. Mümkünse, temsilci atanamayan işlevleri ve işleçleri önlemek için formülü değiştirebilirsiniz. Veri kaynaklarının ve işlemlerin temsilci atanabileceği temsil listesi ayrıntıları.

Temsilci atanması mümkün değilse, Power Apps yerel olarak çalışmak üzere kayıtların yalnızca küçük bir kümesini çeker. Filter ve sıralama işlevleri azaltılmış bir kayıt kümesinde çalışır. Galeri'de bulunanlar hikayenin tamamı olmayabilir ve bu, kullanıcılar için karmaşık bir durum olabilir.

Daha fazla bilgi edinmek için bkz. temsilci atamaya genel bakış.

Sözdizimi

Filter(Tablo*, Formül1 [, *Formül2*, ... ] )

  • Tablo - Gerekli. Arama yapılacak tablo.
  • Formüller - Gerekli. Tablodaki her bir kaydın değerlendirilmesinde kullanılan formül. İşlev, true olarak sonuçlanan tüm kayıtları döndürür. Tablodaki sütunlara başvurabilirsiniz. Birden fazla formül sağlarsanız tüm formüllerin sonuçları And işlevi ile birleştirilir.

Search(Tablo*, SearchString, Sütun1 [, *Sütun2*, ... ] )

  • Tablo - Gerekli. Arama yapılacak tablo.
  • SearchString - Gerekli. Aranacak dize. Boş değerindeyse veya boş bir dizeyse tüm kayıtlar döndürülür.
  • Sütunlar - Gerekli. Tablo içinde arama yapılacak sütunların adları. AramaDizesi, söz konusu sütunların herhangi birindeki verilerde kısmi eşleşme olarak bulunursa kaydın tamamı döndürülür.

Not

Sürüm 3.24042'den önceki Power Apps'te, işlevin Search sütun adları çift tırnak işareti kullanılarak bir metin dizesiyle belirtildi ve bir veri kaynağına bağlıysa mantıksal adlar da olması gerekiyordu. Örneğin, çift tırnaklı "cr43e_name" mantıksal adı, tırnaklar olmadan Ad görünen adının yerine kullanılıyordu. Boşluklar bulunan sütun adlarını içeren SharePoint ve Excel veri kaynakları için her boşluk, "_x0020_" ile belirtilirdi: Örneğin, "Sütun Adı", "Sütun_x0020_Adı" olarak. Bu sürümden sonra tüm uygulamalar bu makalede açıklanan yeni sözdizimi şeklinde otomatik olarak güncelleştirildi.

LookUp(Tablo*, Formül [, *ReductionFormula* ] )

  • Tablo - Gerekli. Arama yapılacak tablo. Kullanıcı arabiriminde sözdizimi, işlev kutusunun üstünde kaynak olarak gösterilir.
  • Formül - Gerekli. Tablodaki her bir kaydın değerlendirilmesinde kullanılan formül. İşlev, true ile sonuçlanan ilk kaydı döndürür. Tablodaki sütunlara başvurabilirsiniz. Kullanıcı arabiriminde sözdizimi, işlev kutusunun üstünde koşul olarak gösterilir.
  • ReductionFormula - İsteğe bağlı. Bu formül, bulunan kayıt üzerinden değerlendirilir ve ardından kaydı tek bir değere indirger. Tablodaki sütunlara başvurabilirsiniz. Bu parametreyi kullanmazsanız işlev, tablodaki kaydın tamamını döndürür. Kullanıcı arabiriminde sözdizimi, işlev kutusunun üstünde sonuç olarak gösterilir.

Örnekler

Aşağıdaki örneklerde IceCreamveri kaynağı kullanılmıştır:

IceCream veri kaynağı.

Formül Description Result
Filter(IceCream, OnOrder > 0) OnOrder'ın sıfırdan daha büyük olduğu kayıtları döndürür. Filter Sipariş üzerine.
Filter(IceCream, Quantity + OnOrder > 225) Quantity ve OnOrder sütunlarının toplamının 225'ten daha büyük olduğu kayıtları döndürür. Filter miktar ve sipariş.
Filter(IceCream, "chocolate" in Lower(Flavor )) Büyük veya küçük harflerden bağımsız olarak Flavor adında "chocolate" kelimesinin göründüğü kayıtları döndürür. Filter altta.
Filter(IceCream, Quantity < 10 & OnOrder < 20) Quantity'nin 10'dan ve OnOrder'ın 20'den daha az olduğu kayıtları döndürür. Bu ölçütlerle hiçbir kayıt eşleşmez, bu nedenle boş bir tablo döndürülür. Filter miktarına göre.
Search(IceCream, "choc", Flavor) Büyük veya küçük harflerden bağımsız olarak Flavor adında "choc" dizesinin göründüğü kayıtları döndürür. Search eşya.
Search(IceCream, "", Flavor) Arama terimi boş olduğundan tüm kayıtlar döndürülür. Search ögelerini seçin.
LookUp(IceCream, Flavor = "Chocolate", Quantity) Flavor'ın "Chocolate" değerinde olduğu kayıtları arar. (Bir kayıt vardır.) Bulunan ilk kayıt için kaydın Quantity öğesini döndürür. Kategori 100
LookUp(IceCream, Quantity > 150, Quantity + OnOrder) Quantity değeri 150'den fazla olan kayıtları arar. (Birden çok kayıt vardır.) Bulunan ilk kayıt için ("Vanilla" Flavor) Quantity ve OnOrder sütunlarının toplamını döndürür. 250
LookUp(IceCream, Flavor = "Pistachio", OnOrder) Flavor'ın "Pistachio" değerinde olduğu kayıtları arar. (Hiç kayıt yoktur.) Hiçbir kayıt bulunamadığından Lookup işlevi boş değer döndürür. boş
LookUp(IceCream, Flavor = "Vanilla") Flavor'ın "Vanilla" değerinde olduğu kayıtları arar. (Bir kayıt vardır.) Hiçbir indirgeme formülü sağlanmamış olduğundan kaydın tamamı döndürülür. { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 }

Seçim sütunlarıyla filtreleme

Aşağıdaki örnek, Microsoft Dataverse'te Hesap tablosunu veri kaynağı olarak kullanır. Bu örnek, seçili Birleşik Giriş kutusu denetim değerlerine göre hesapların nasıl Filter listeleyebileceğinizi gösterir:

Adım adım

  1. Boş uygulamayı açın.

  2. Yeni Ekran seçeneğini belirleyerek yeni bir ekran ekleyin.

  3. Ekle sekmesinde, Galeri'yi ve ardından Dikey'i seçin.

  4. Sağ bölmedeki Özellikler sekmesinde, Veri Kaynağı'nı açın ve Hesaplar'ı seçin.

  5. (İsteğe bağlı) Düzen listesinde farklı seçenekler belirleyin.

  6. Ekle sekmesinde, Giriş'i ve ardından Combo box'ı seçin. İki combo box denetimi daha eklemek için adımı yineleyin.

  7. Her bir combo box denetimi için sağ bölmedeki Özellikler sekmesinde, Veri Kaynağı'nı açın ve Hesaplar'ı seçin. Alanlar seçeneğinin yanındaki Düzenle'yi seçin ve ardından Birincil metin ve SearchField değerlerini seçin. Birincil metin açılır kutusuna eklemek istediğiniz seçenekler sütunu olmalıdır. Diğer iki combo box denetimi için adımı yineleyin.

    Açılır kutu değerlerini ayarlama.

  8. Gallery denetimini seçip Items özelliğini şu formül olarak ayarlayın:

    Filter(Accounts,
     'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry),
     'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or
       IsBlank(ComboBox2.Selected.'Relationship Type'),
     'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or
       IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
    

    Firma veri kaynağı.

Search kullanıcı deneyimi

Aşağıdaki örneklerde IceCreamveri kaynağı kullanılmıştır:

Birçok uygulamada, büyük bir veri kümesindeki bir kayıt listesini filtrelemek için arama kutusuna bir veya daha fazla karakter yazabilirsiniz. Siz yazarken liste yalnızca arama ölçütleri ile eşleşen kayıtları gösterir.

Bu makalenin geri kalan kısmındaki örneklerde, şu verileri içeren Müşteriler adlı listedeki arama sonuçları gösterilmektedir:

Search müşterilerini seçin.

Bu veri kaynağını bir koleksiyon olarak oluşturmak için bir Button denetimi oluşturun ve OnSelect özelliğini şu formül olarak ayarlayın:

ClearCollect(Müşteriler, Tablo({ Ad: "Fred Garcia", Şirket: "Northwind Traders" }, { Ad: "Cole Miller", Şirket: "Contoso" }, { Ad: "Glenda Johnson", Şirket: "Contoso" }, { Ad: "Mike Collins", Şirket: "Adventure Works" }, { Ad: "Colleen Jones", Şirket: "Adventure Works" }) )

Bu örnekte olduğu gibi, ekranın alt kısmındaki bir Gallery denetimi ile kayıt listesi gösterebilirsiniz. Ekranın üst kısmına yakın bir konuma SearchInput adlı bir Text input denetimi ekleyebilirsiniz. Böylece, kullanıcılar hangi kayıtlarla ilgilendiklerini belirtebilir.

Search arama girişini kullanarak.

Kullanıcı, SearchInput denetiminde karakterler yazdıkça galerideki sonuçlar otomatik olarak filtrelenir. Bu durumda galeri, SearchInput kısmındaki karakter dizisiyle başlayan müşteri adı (şirket adı değil) için kayıtları göstermek üzere yapılandırılır. Kullanıcı arama kutusuna co yazarsa galeri şu sonuçları gösterir:

Search ile başlar.

Name sütununa göre filtreleme yapmak için gallery denetiminin Items özelliğini şu formüllerden biri olarak ayarlayın:

Formül Description Result
Filter(Customers, StartsWith(Name, SearchInput.Text) ) Arama dizesinin Name sütunun başında göründüğü kayıtlar için Customers veri kaynağını filtreler. Test, büyük/küçük harfe duyarlı değildir. Kullanıcı, arama kutusuna co yazarsa galeri, Colleen Jones ve Cole Miller öğelerini gösterir. Galeri, söz konusu kaydın Name sütunu arama dizesi ile başlamadığından Mike Collins öğesini göstermez. Filter ile başlayın.
Filter(Müşteriler, SearchInput.Text in Name) Arama dizesinin, Name sütununun herhangi bir yerinde göründüğü kayıtlar için Customers veri kaynağını filtreler. Test, büyük/küçük harfe duyarlı değildir. Kullanıcı, arama kutusuna co yazarsa galeri Colleen Jones, Cole Miller ve Mike Collins öğelerini gösterir. Bunun nedeni, bu kayıtların tümünün Name sütununda arama dizesinin görünmesidir. Filter arama girişiyle birlikte.
Search(Müşteriler, SearchInput.Text, Name) in işlecini kullanmaya benzer şekilde işlev, her kaydın SearchAd sütununda herhangi bir yerde eşleşme arar. Sütun adının başında ve sonunda çift tırnak işareti kullanmanız gerekir. Search Müşteri.

Aramanızı Name sütununun yanı sıra Company sütununu da dahil edecek şekilde genişletebilirsiniz:

Formül Description Result
Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) Name veya Company sütununun arama dizesiyle (örneğin, co) başladığı kayıtlar için Customers veri kaynağını filtreler. || işlevi true ise işlecitrue değerini taşır. Filter müşteriler ile başlar.
Filter(Customers, SearchInput.Text in Name || SearchInput. Şirketteki Metin) Name veya Company sütununun herhangi bir yerinde arama dizesinin (örneğin, co) bulunduğu kayıtlar için Customer veri kaynağını filtreler. Filter müşteriler girişi arar.
Search(Müşteriler, SearchInput.Text, Ad, Şirket) in işlecini kullanmaya benzer şekilde işlev, SearchMüşteriler veri kaynağında Ad sütununun veya Şirket sütununun içinde herhangi bir yerde arama dizesi (örneğin, co) bulunduğu kayıtları arar. İşlevi Search okumak ve yazmak, birden çok sütun ve birden çok işleç belirtmek istemekten daha Filter kolaydır. Search arama girişi olan müşteriler.