AddColumns, DropColumns, RenameColumns ve ShowColumns işlevleri

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

Tabloyu, sütunlarını ekleyerek, bırakarak, yeniden adlandırarak ve seçerek şekillendirir.

Genel bakış

Bu işlevler, sütunlarını ayarlayarak bir tabloyu şekillendirir:

  • Lower veya Abs gibi tek sütunlu işlevler ile kullanmak için birden çok sütunlu tabloyu tek sütunlu bir tabloya indirger.
  • Tabloya hesaplanmış bir sütun ekleyin (örneğin, Miktar ile Birim Fiyat sütunlarının çarpımını gösteren Toplam Fiyat sütunu).
  • Kullanıcılara göstermek veya formüllerde kullanmak için daha anlamlı olacak şekilde sütunu yeniden adlandırın.

Power Apps'te tablo, tıpkı dize veya sayı gibi bir değerdir. Formülde tabloyu bir bağımsız değişken olarak belirtebilirsiniz ve işlevler tabloyu sonuç olarak döndürebilir.

Not

Bu konu başlığında açıklanan işlevler özgün tabloyu değiştirmez. Bunun yerine, tabloyu bir bağımsız değişken olarak kabul edip dönüştürme uygulanmış yeni bir tablo döndürür. Daha fazla ayrıntı için bkz. tablolarla çalışma.

Bu işlevleri kullanarak bir veri kaynağının sütunlarını değiştiremezsiniz. Veriyi kaynağında değiştirmelisiniz. Collect işlevini kullanarak bir koleksiyona sütun ekleyebilirsiniz. Daha fazla ayrıntı için bkz. Veri kaynakları ile çalışma.

Açıklama

AddColumns işlevi tabloya bir sütun ekler ve bir formül, bu sütundaki değerleri tanımlar. Mevcut sütunlar değiştirilmemiş olarak kalır.

Formül, tablonun her bir kaydı için değerlendirilir.

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

DropColumns işlevi bir tablodan sütunları dışlar. Diğer tüm sütunlar değiştirilmemiş olarak kalır. DropColumns, sütunları dışlar ve ShowColumns, sütunları ekler.

RenameColumns işlevini kullanarak bir tablonun bir veya daha fazla sütununu; işleve tablonun içerdiği bir sütun adını (değiştirmek istediğiniz eski adı) ve tablonun içermediği bir sütun adını (kullanmak istediğiniz yeni adı) girerek yeniden adlandırabilirsiniz. Eski ad tabloda daha önceden mevcut olmalı, yeni ad ise mevcut olmamalıdır. Her sütun adı, bağımsız değişken listesinde eski ya da yeni sütun adı olarak yalnızca bir kez geçmelidir. Bir sütunu mevcut bir sütunun adıyla yeniden adlandırmak için önce DropColumns işlevini kullanın veya RenameColumns işlevini bir başkasıyla iç içe geçirerek eski sütun adını değiştirin.

ShowColumns işlevi bir tablonun sütunlarını ekler ve diğer tüm sütunları bırakır. Çok sütunlu bir tablodan tek sütunlu tablo oluşturmak için ShowColumns işlevini kullanabilirsiniz. ShowColumns, sütunları ekler ve DropColumns, sütunları dışlar.

Tüm bu işlevler için sonuç, dönüştürme uygulanmış yeni bir tablodur. Özgün tablo değiştirilmez. Var olan bir tabloda formül kullanarak değişiklik yapamazsınız. SharePoint, Microsoft Dataverse, SQL Server ve diğer veri kaynakları, genellikle şema olarak ifade edilen listelerin ve tabloların sütunlarını değiştirmek için araçlar sağlar. Bu konudaki işlevler, yalnızca özgün tabloyu değiştirmeden bir giriş tablosunu daha sonra kullanmak üzere bir çıkış tablosuna dönüştürür.

Bu işlevlerin bağımsız değişkenleri, temsilci atamayı destekler. Örneğin, '[dbo].[AllListings]' veri kaynağı bir milyon satır içerse bile bir Filter işlevi tüm listelerde arama yaparak ilgili kayıtları çekmek için bağımsız değişken olarak kullanılır:

AddColumns( RealEstateAgents,
   "Listings",
   Filter(  '[dbo].[AllListings]', ListingAgentName = AgentName )
)

Ancak bu işlevlerin çıkışı temsilci olmayan kayıt sınırına tabidir. Bu örnekte, RealEstateAgents veri kaynağında 501 veya daha fazla kayıt olsa bile yalnızca 500 kayıt döndürülür.

AddColumns işlevini bu şekilde kullanırsanız Filter işlevinin, RealEstateAgents'daki ilk kayıtların her birinin veri kaynağı için ayrı çağrılar yapması gerekir, bu da ağda çok fazla trafiğe neden olur. [dbo](.[AllListings], yeterince küçükse ve sık sık değişmiyorsa uygulamanızdaki veri kaynağını uygulamanız başladığında önbelleğe almak için OnStart özelliğindeki Collect işlevini çağırabilirsiniz. Alternatif olarak, uygulamanızı yalnızca kullanıcı istediği zaman ilgili kayıtları alacak şekilde yeniden yapılandırabilirsiniz.

Sözdizimi

AddColumns( Tablo, SütunAdı1, Formül1 [, SütunAdı2, Formül2, ... ] )

  • Tablo: Gerekli. Üzerinde çalışılacak tablo.
  • ColumnName(s) - Gerekli. Eklenecek sütunların adları. Bu bağımsız değişken için bir dize (örneğin, tırnak işareti içinde "Ad") belirtmeniz gerekir. Mantıksal adını kullanarak sütun adlarını belirtmelisiniz. Intellisense yalnızca mantıksal adlar önerir. Mantıksal ad büyük/küçük harf duyarlıdır.
  • Formüller - Gerekli. Her bir kayıt için değerlendirilecek formüller. Sonuç, karşılık gelen yeni sütunun değeri olarak eklenir. Bu formülde, tablonun diğer sütunlarına başvurabilirsiniz.

DropColumns( Tablo, SütunAdı1 [, SütunAdı2, ... ] )

  • Tablo: Gerekli. Üzerinde çalışılacak tablo.
  • ColumnName(s) - Gerekli. Dışlanacak sütunların adları. Bu bağımsız değişken için bir dize (örneğin, tırnak işareti içinde "Ad") belirtmeniz gerekir. Mantıksal adını kullanarak sütun adlarını belirtmelisiniz. Intellisense yalnızca mantıksal adlar önerir. Mantıksal ad büyük/küçük harf duyarlıdır.

RenameColumns( Tablo, EskiSütunAdı1, YeniSütunAdı1 [, EskiSütunAdı2, YeniSütunAdı2, ... ] )

  • Tablo: Gerekli. Üzerinde çalışılacak tablo.
  • OldColumnName - Gerekli. Özgün tablodaki yeniden adlandırılacak sütunun adı. Bu öğe, bağımsız değişken çiftinde (veya formülde birden fazla bağımsız değişken çifti varsa her bağımsız değişken çiftinde) ilk olarak görünür. Bu ad, bir dize olmalıdır (örneğin, tırnak işaretleri içinde "Ad"). Mantıksal adını kullanarak sütun adlarını belirtmelisiniz. Intellisense yalnızca mantıksal adlar önerir. Mantıksal ad büyük/küçük harf duyarlıdır.
  • NewColumnName - Gerekli. Yerini alacak ad. Bu öğe, bağımsız değişken çiftinde (veya formülde birden fazla bağımsız değişken çifti varsa her bağımsız değişken çiftinde) en son görünür. Bu bağımsız değişken için bir dize (örneğin, tırnak işaretleri içinde "Müşteri Adı") belirtmelisiniz. Mantıksal adını kullanarak sütun adlarını belirtmelisiniz. Intellisense yalnızca mantıksal adlar önerir. Mantıksal ad büyük/küçük harf duyarlıdır.

ShowColumns( Tablo, SütunAdı1 [, SütunAdı2, ... ] )

  • Tablo: Gerekli. Üzerinde çalışılacak tablo.
  • ColumnName(s) - Gerekli. Dahil edilecek sütunların adları. Bu bağımsız değişken için bir dize (örneğin, tırnak işareti içinde "Ad") belirtmeniz gerekir. Mantıksal adını kullanarak sütun adlarını belirtmelisiniz. Intellisense yalnızca mantıksal adlar önerir. Mantıksal ad büyük/küçük harf duyarlıdır.

Örnekler

Bu bölümdeki örneklerde, bu tablodaki verileri içeren IceCreamSales veri kaynağı kullanılır:

IceCream örneği.

Bu örneklerin hiçbiri IceCreamSales veri kaynağını değiştirmez. Her bir işlev, tablo olarak veri kaynağı değerini dönüştürür ve bu değeri sonuç şeklinde döndürür.

Formül Açıklama Sonuç
AddColumns( IceCreamSales, "Gelir", UnitPrice * QuantitySold ) Sonuca Gelir sütunu ekler. Her kayıt için UnitPrice * QuantitySold değerlendirilir ve sonuç yeni bir sütunda verilir. Strawberry, Chocolate ve Vanilla ile sonuç.
DropColumns( IceCreamSales, "UnitPrice" ) UnitPrice sütununu sonuçtan dışlar. Sütunları dışlamak için bu işlevi ve eklemek için ShowColumns işlevini kullanın. Yalnızca QuantitySold sütunu ile birlikte Strawberry, Chocolate, Vanilla sonucu.
ShowColumns( IceCreamSales, "Aroma" ) Yalnızca Aroma sütununu sonuca ekler. Sütunları eklemek için bu işlevi ve dışlamak için DropColumns işlevini kullanın. Yalnızca Flavor sütunu.
RenameColumns( IceCreamSales, "UnitPrice", "Fiyat") Sonuçta UnitPrice sütununu yeniden adlandırır. Flavor, Price ve Revenue sonucu.
RenameColumns( IceCreamSales, "UnitPrice", "Fiyat", "QuantitySold", "Sayı") UnitPrice ve QuantitySold sütunlarını yeniden adlandırır. Flavor, Price, Revenue sütunları ile birlikte 3 IceCream için sonuç.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, "Revenue",
UnitPrice * QuantitySold ),
"UnitPrice", "Price" ),
"Quantity" )
Formülün içinden başlayarak sırasıyla aşağıdaki tablo dönüştürmelerini gerçekleştirir:
  1. Kayıt başına UnitPrice * Miktar hesaplamasına göre Gelir sütununu ekler.
  2. UnitPrice sütununu Fiyat olarak yeniden adlandırır.
  3. Miktar sütununu dışlar.
Sıranın önemli olduğunu unutmayın. Örneğin, UnitPrice yeniden adlandırıldıktan sonra bununla hesaplama yapamayız.
Birim fiyat için IceCream örneği.

Adım adım

Bu konunun önceki bölümlerinden bazı örnekleri deneyelim.

  1. Button denetimi ekleyerek ve OnSelect özelliğini aşağıdaki formüle ayarlayarak bir koleksiyon oluşturun:

    ClearCollect( IceCreamSales,
       Table(
           { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 },
           { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 },
           { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 }
       )
    )
    
  2. Alt tuşunu basılı tutarken düğmeyi seçerek formülü çalıştırın.

  3. İkinci bir Button denetimi ekleyin, OnSelect özelliğini bu formüle ayarlayın ve çalıştırın:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold )
    )
    
  4. Oluşturduğunuz koleksiyonu göstermek için Dosya menüsünde Koleksiyonlar'ı ve ardından IceCreamSales'nı seçin.

    Bu grafikte görüldüğü gibi ikinci formül, bu koleksiyonu değiştirmedi. AddColumns işlevi IceCreamSales'nı salt okunur bir bağımsız değişken olarak kullandı; işlev, bu bağımsız değişkenin başvurduğu tabloyu değiştirmedi.

    Gelir sütunu içermeyen Dondurma Satışları koleksiyonunun üç kaydını gösteren koleksiyon görüntüleyici.

  5. FirstExample öğesini seçin.

    Bu grafikte görüldüğü gibi ikinci formül, eklenen sütunu içeren yeni bir tablo döndürdü. ClearCollect işlevi, FirstExample koleksiyonundaki yeni tabloyu yakaladı ve özgün tabloya, kaynakta değişiklik yapmadan işlev ile geçerken bir şeyler ekledi:

    Yeni bir Gelir sütunu içeren İlk Örnek koleksiyonunun üç kaydını gösteren koleksiyon görüntüleyici.

Bileşen içindeki sütunları eşleme

Bkz. Sütunları eşleme.