Sort ve SortByColumns işlevleri

Şunlar için geçerlidir: Tuval uygulamaları Masaüstü akışları Model temelli uygulamalar Power Platform CLI

Bir tabloyu sıralar.

Not

PAC CLI pac power-fx komutları, SortByColumns işlevini desteklemez.

Description

Sort işlevi, formülleri temel alarak tabloları sıralar.

Formül, tablodaki her bir kayıt için değerlendirilir ve sonuçlar kullanılarak tablo sıralanır. Formül bir sayı, dize veya Boole değeri ile sonuçlanmalıdır; tablo veya kayıt ile sonuçlanamaz.

İş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.

İlk önce bir sütuna göre ve ardından başka bir sütuna göre sıralamak isterseniz ikinci sütuna Sort formülünü eklersiniz. Örneğin, İlgili Kişiler tablosunu ilk önce Soyadı sütununa göre ve ardından Ad sütununa göre sıralamak için şu formülü kullanabilirsiniz: Sort( Sort( İlgili Kişiler, Soyadı ), Ad )

Tabloyu bir veya daha fazla sütuna göre sıralamak için SortByColumns işlevi de kullanılabilir.

SortByColumns işlevine ilişkin parametre listesi, sıralama ölçütü olarak kullanılacak sütunların adlarını ve her bir sütuna ilişkin sıralama yönünü de sağlar. Sıralama, parametrelerin sırasına göre gerçekleştirilir (Önce ilk sütuna göre, ardından ikinci sütuna göre sıralama yapılır ve bu şekilde devam eder). Sütun adları, dizeler şeklinde belirtilir ve parametre listesine doğrudan dahil edilirlerse çift tırnak işareti gerekir. Örneğin, SortByColumns( CustomerTable, "Soyadı" ).

Kullanıcıların sıralama ölçütü olarak kullanacakları sütunu seçmelerine olanak sağlamak üzere SortByColumns işlevini, Drop down veya List box denetimiyle birleştirebilirsiniz.

Artan veya azalan düzende sıralamaya ek olarak SortByColumns tek sütunlu bir değer tablosuna göre de sıralama yapabilir. Örneğin, sıralama düzeni olarak [ "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar" ] verilerini sağlayarak kaydı, haftanın günlerinin adlarına göre sıralayabilirsiniz. Pazartesi içeren tüm kayıtlar önde sıralanır; bu kayıtları, Salı içeren kayıtlar takip eder ve sıralama bu düzende devam eder. Sıralama tablosunda görünmediği saptanan kayıtlar, listenin sonuna yerleştirilir.

Tablolar, Power Apps'te dize veya sayı gibi bir değerdir. Tablolar, işlevlere geçirilebilir ve işlevlerden döndürülebilir. Sort ve SortByColumn işlevleri bir tabloyu değiştirmez; bunun yerine tabloyu bir bağımsız değişken olarak ele alır ve sıralanmış yeni bir tablo döndürür. 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. Filtreleme ve sıralama işlevleri azaltılmış kayıt kümesi üzerinde ç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

Sort( Tablo, Formül [, SortOrder ] )

  • Tablo: Gerekli. Sıralanacak tablo.
  • Formül: Gerekli. Bu formül, tablodaki her bir kayıt için değerlendirilir ve sonuçlar kullanılarak tablo sıralanır. Tablodaki sütunlara başvurabilirsiniz.
  • SortOrder: İsteğe bağlı. Tabloyu azalan düzende sıralamak için SortOrder.Descending işlevini belirtin. SortOrder.Ascending, varsayılan değerdir.

SortByColumns( Tablo, SütunAdı1 [, SıralamaSırası1, SütunAdı2, SıralamaSırası2, ... ] )

  • Tablo: Gerekli. Sıralanacak tablo.

  • ColumnName(s) - Gerekli. Dizeler halinde sıralanacak olan sütun adları.

  • SortOrder(s) - İsteğe bağlı. SortOrder.Ascending veya SortOrder.Descending. SortOrder.Ascending varsayılan değerdir. Birden çok SütunAdı değeri sağlanırsa son sütun dışındaki tüm sütunlar SıralamaSırası içermelidir.

    Not

    Boşluklu sütun adları içeren SharePoint ve Excel veri kaynakları için her bir boşluğu "_x0020_" olarak belirtin. Örneğin, "Sütun Adı" öğesini "Sütun_x0020_Adı" olarak belirtin.

SortByColumns( Tablo, SütunAdı, SortOrderTable )

  • Tablo: Gerekli. Sıralanacak tablo.

  • ColumnName - Gerekli. Dizeler halinde sıralanacak olan sütun adı.

  • SortOrderTable: Gerekli. Sıralama ölçütü olarak kullanılacak olan tek sütunlu tablo.

    Not

    Boşluklu sütun adları içeren SharePoint ve Excel veri kaynakları için her bir boşluğu "_x0020_" olarak belirtin. Örneğin, "Sütun Adı" öğesini "Sütun_x0020_Adı" olarak belirtin.

Örnekler

Sonraki örneklerde, aşağıdaki tablodaki verileri içeren IceCreamveri kaynağını kullanacağız:

IceCream örneği.

Formül Açıklama Sonuç
Sort( IceCream, Aroma )

SortByColumns( IceCream, "Aroma" )
IceCream veri kaynağını, bu kaynağa ait Aroma sütununa göre sıralar. Aroma sütununda dizeler olduğundan tablo, alfabetik olarak sıralanır. Varsayılan olarak, sıralama artan düzendedir. Alfabetik olarak sıralanmış.
Sort( IceCream, Miktar )

SortByColumns( IceCream, "Miktar" )
IceCream veri kaynağını, Miktar sütununa göre sıralar. Miktar sütununda sayılar olduğundan tablo, sayısal olarak sıralanır. Varsayılan olarak, sıralama artan düzendedir. Sayısal olarak sıralanmış.
Sort( IceCream, Miktar, SortOrder.Descending )

SortByColumns( IceCream, "Miktar", SortOrder.Descending )
IceCream veri kaynağını, Miktar sütununa göre sıralar. Miktar sütununda sayılar olduğundan sıralama, sayısal olarak yapılır. Sıralama, azalan düzende gerçekleşecek şekilde belirtilmiştir. Sayısal olarak ve azalan düzende sıralanmış.
Sort( IceCream, Miktar + OnOrder ) IceCream veri kaynağını, ayrı ayrı her bir kayda ilişkin Miktar ve OnOrder sütunlarının toplamına göre sıralar. Toplam bir sayı olduğundan tablo, sayısal olarak sıralanır. Varsayılan olarak, sıralama artan düzendedir. Ham sütun değerleri yerine formüle göre sıralama yaptığımızdan SortByColumns işlevini kullanarak eşdeğer bir sonuç elde edemeyiz. Sayısal olarak ve artan düzende sıralanmış.
Sort( Sort( IceCream, OnOrder ), Miktar )

SortByColumns( IceCream, "OnOrder", SortOrder.Ascending, "Quantity", SortOrder.Ascending )
IceCream veri kaynağını, ilk olarak OnOrder sütununa ve ardından Miktar sütununa göre sıralar. OnOrder sütununa göre yapılan ilk sıralamada "Antep Fıstığı" verisinin "Vanilya" verisinin üstünde yer aldığını ve ardından Miktar sütununa göre yapılan sıralamada ikisinin de kendilerine göre uygun yerlere gelecek şekilde sıralandıklarını önünde bulundurun. Vanilla üzerinde Pistachio ile sıralanmış.
SortByColumns( IceCream, "Flavor", [ "Pistachio", "Strawberry" ] ) IceCream veri kaynağını, "Antep Fıstığı" ve "Çilek" verilerini içeren tek sütunlu tabloyu temel alarak bu veri kaynağına ait Aroma sütununa göre sıralar. Aroma değeri "Antep Fıstığı" olan kayıtlar, sonuçta ilk olarak görünür ve bunları "Çilek" içeren kayıtlar takip eder. Aroma sütunundaki eşleşmeyen değerler ("Vanilya" gibi), eşlenen değerlerden sonra yer alır. Strawberry üzerinde Pistachio ile sıralanmış.

Adım adım

Bu örnekleri kendi başınıza çalıştırmak için IceCream veri kaynağını bir koleksiyon olarak oluşturun:

  1. Bir düğme ekleyin ve düğmenin OnSelect özelliğini şu formül olarak ayarlayın:
    ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100, OnOrder: 150 }, { Flavor: "Vanilla", Quantity: 200, OnOrder: 20 }, { Flavor: "Strawberry", Quantity: 300, OnOrder: 0 }, { Flavor: "Mint Chocolate", Quantity: 60, OnOrder: 100 }, { Flavor: "Pistachio", Quantity: 200, OnOrder: 10 } )
  2. Uygulamayı önizleyin, düğmeyi seçin ve ardından varsayılan çalışma alanına dönmek için Esc tuşuna basın.
  3. Oluşturduğunuz koleksiyonu görüntülemek için Dosya menüsünde Koleksiyonlar seçeneğini belirleyin ve ardından varsayılan çalışma alanına dönmek için Esc tuşuna basın.

Sort

  1. Başka bir düğme ekleyin ve düğmenin OnSelect özelliğini şu formül olarak ayarlayın:
    ClearCollect( SortByFlavor, Sort( IceCream, Aroma ) )

    Bir önceki formül, Dondurma veri kaynağıyla aynı verileri içeren SortByFlavor adlı ikinci bir koleksiyon oluşturur. Ancak yeni koleksiyon, Aroma sütunu tarafından artan düzende alfabetik olarak sıralanmış verileri içerir.

  2. F5 tuşuna basın, yeni düğmeyi seçin ve ardından Esc tuşuna basın.

  3. Her iki koleksiyonu da görüntülemek için Dosya menüsünde Koleksiyonlar seçeneğini belirleyin ve ardından çalışma alanınıza dönmek için Esc tuşuna basın.

  4. Son üç adımı yineleyin ancak oluşturmak istediğiniz koleksiyonun adını değiştirin ve Sort formülünü, bu bölümün önceki kısımlarında bulunan ve Sort formülünü kullanan örnek tablosundaki farklı bir formülle değiştirin.

SortByColumns

  1. Başka bir düğme ekleyin ve düğmenin OnSelect özelliğini şu formül olarak ayarlayın:
    ClearCollect( SortByQuantity, SortByColumns( IceCream, "Quantity", SortOrder.Ascending, "Flavor", SortOrder.Descending ) )

    Bir önceki formül, Dondurma veri kaynağıyla aynı verileri içeren SortByQuantity adlı üçüncü bir koleksiyon oluşturur. Ancak yeni koleksiyon, Miktar sütununa göre sayısal olarak artan düzende ve ardından Aroma sütununa göre azalan düzende sıralanır.

  2. F5 tuşuna basın, yeni düğmeyi seçin ve ardından Esc tuşuna basın.

  3. Her üç koleksiyonu da görüntülemek için Dosya menüsünde Koleksiyonlar seçeneğini belirleyin ve ardından çalışma alanına dönmek için Esc tuşuna basın.

  4. Son üç adımı yineleyin ancak oluşturmak istediğiniz koleksiyonun adını değiştirin ve SortByColumns formülünü, bu bölümün önceki kısımlarında bulunan ve SortByColumns formülünü kullanan örnek tablosundaki farklı bir formülle değiştirin.