Blank, Coalesce, IsBlank ve IsEmpty işlevleri

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

Bir değerin boş olup olmadığını veya tablonun bir kayıt içerip içermediğini test eder ve boş değerler oluşturmak için bir yol sunar.

Genel bakış

Boş "değer yok" veya "bilinmeyen değer" yerine kullanılan bir yer tutucudur. Örneğin, bir Combo box denetiminin Selected özelliği kullanıcının seçim yapmaması durumunda boş olur. Birçok veri kaynağı, Power Apps'te boş olarak temsil edilen NULL değerleri depolayabilir ve döndürebilir.

Power Apps'teki herhangi bir özellik veya hesaplanan değer boş olabilir. Örneğin, bir Boole değeri normalde şu iki değerden birine sahiptir: true veya false. Ancak bu ikisine ek olarak, durumun bilinmediğini belirtecek şekilde boş da olabilir. Bu, çalışma sayfası hücresinin hiçbir içerik olmadan boş olarak başladığı, ancak TRUE veya FALSE değerlerini tutabileceği (diğerlerinin yanı sıra) Microsoft Excel'e benzer. İstendiği zaman hücrenin içerikleri tekrar kaldırılabilir ve hücre boş durumuna geri döner.

Boş dize, hiç karakter içermeyen bir dizeyi ifade eder. Len işlevi böyle bir dize için sıfır değerini döndürür ve aralarında hiçbir şey olmayan iki çift tırnak "" şeklinde bir formüle yazılabilir. Bazı denetimler ve veri kaynakları bir "değer yok" koşulu belirtmek için boş bir dize kullanır. Uygulama oluşturmayı basitleştirmek için, IsBlank ve Coalesce işlevleri boş değerleri veya boş dizeleri sınar.

IsEmpty işlevi bağlamında, boş kayıt içermeyen tablolara özeldir. Tablo yapısına dokunulmamış olabilir, sütun adlarıyla birlikte değişmeden kalabilir, ancak tabloda bir veri yoktur. Bir tablo boş olarak başlayabilir, kayıtlar alabilir ve artık boş olmayabilir, daha sonra kayıtları kaldırılabilir ve tekrar boş olabilir.

Not

Bir geçiş dönemindeyiz. Şimdiye kadar boş, hataları bildirmek için de kullanıldı ve bu durum geçerli bir "değer yok" ile hata arasında ayrım yapılmasını olanaksız hale getirdi. Bu nedenle, şu anda yalnızca yerel koleksiyonlar için boş değerlerin depolanması desteklenmektedir. Ayarlar>Yaklaşan özellikler>Deneysel altında Formül düzeyinde hata yönetimi deneysel özelliğini etkinleştirirseniz diğer veri kaynaklarında boş değerler saklayabilirsiniz. Bu özelliği tamamlamak ve boş değerlerini hatalardan uygun şekilde ayırmayı sağlamak için etkin şekilde çalışıyoruz.

Boş

Şunlar için geçerlidir: Tuval uygulamaları Model temelli uygulamalar Dataverse formül sütunları

Blank işlevi boş bir değer döndürür. Alandaki değerleri etkin bir şekilde kaldırarak, bu değerleri destekleyen bir veri kaynağında NULL değeri depolamak için bunu kullanın.

IsBlank

Şunlar için geçerlidir: Tuval uygulamaları Model temelli uygulamalar

IsBlank işlevi, boş bir değer veya boş bir dize için sınama yapar. Bazı veri kaynakları ve denetimler bir değer olmadığında boş bir dize kullandığından, sınama uygulama oluşturmayı kolaylaştırmak için boş dizeleri içerir. Özel olarak bir boş değeri sınamak için IsBlank yerine if( Value = Blank(), ... kullanın. IsBlank işlevi boş tabloları boş değil olarak nitelendirir ve bir tabloyu test etmek için IsEmpty işlevinin kullanılması gerekir.

Mevcut uygulamalar için hata işlemeyi etkinleştirirken mevcut uygulama davranışını korumak için IsBlank yerine IsBlankOrError kullanın. Hata işleme eklenmeden önce hem veritabanlarındaki null değerleri hem de hata değerlerini temsil etmek için boş değeri kullanılıyordu. Hata işleme bu iki boş yorumunu ayırır ve dolayısıyla IsBlank kullanmaya devam eden mevcut uygulamaların davranışı değişebilir.

IsBlank için döndürülen değer, true veya false şeklinde bir Boole değeridir.

Coalesce

Şunlar için geçerlidir: Tuval uygulamaları Model temelli uygulamalar

Coalesce işlevi, bağımsız değişkenlerini sırayla değerlendirir ve boş olmayan ilk değeri veya boş bir dizeyi döndürür. Bu işlevi boş bir değeri veya boş dizeyi farklı bir değerle değiştirmek için kullanın ancak boş olmayan değer veya boi olmayan dize değerlerinde değişiklik yapmayın. Tüm bağımsız değişkenler boş veya boş dizeler ise işlev boş değerini döndürür ve Coalesce işlevi boş dizeleri boş değerlere dönüştürmenin iyi bir yoludur.

Coalesce( value1, value2 ), If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 )'nin en kısa eşdeğeridir ve value1 ve value2 değerinin iki defa değerlendirilmesini gerektirmek. Burada olduğu gibi, "else" formülü yoksa If işleviboş değeri döndürür.

Coalesce işlevine yönelik tüm bağımsız değişkenler aynı türde olmalıdır; örneğin, sayıları metin dizeleriyle karışık şekilde kullanamazsınız. Coalesce tarafından döndürülen değer bu ortak türdedir.

IsEmpty

Şunlar için geçerlidir: Tuval uygulamaları Model temelli uygulamalar

IsEmpty işlevi, bir tablonun herhangi bir kayıt içerip içermediğini test eder. CountRows işlevinin kullanılmasına ve sıfır olup olmadığının kontrol edilmesine eşdeğerdir. IsEmpty işlevini Errors işleviyle birleştirerek veri kaynağı hataları olup olmadığını kontrol edebilirsiniz.

IsEmpty için döndürülen değer, true veya false şeklinde bir Boole değeridir.

Sözdizimi

Blank()

Coalesce( Değer1 [, Değer2, ... ] )

  • Değerler: Gerekli. Test edilecek değerler. Her değer boş olmayan bir değer ve boş olmayan bir dize bulunana kadar değerlendirilir. Bu noktadan sonraki değerler değerlendirilmez.

IsBlank( Değer )

  • Değer: Gerekli. Bir boş değeri veya boş dize için test edilecek değer.

IsEmpty( Tablo )

  • Tablo: Gerekli. Kayıtları test edilecek tablo.

Örnekler

Boş

Not

Bu aşamada, aşağıdaki örnek yalnızca yerel koleksiyonlarda çalışır. Ayarlar>Yaklaşan özellikler>Deneysel altında Formül düzeyinde hata yönetimi deneysel özelliğini etkinleştirirseniz diğer veri kaynaklarında boş değerler saklayabilirsiniz. Bu özelliği tamamlamak ve boş değerlerini hatalardan ayırmayı sağlamak için etkin şekilde çalışıyoruz.

  1. Sıfırdan bir uygulama oluşturun ve Button denetimi ekleyin.

  2. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Uygulamanızı önizleyin, eklediğiniz düğmeye tıklayın veya dokunun ve ardından Önizlemeyi kapatın.

  4. Dosya menüsünde Koleksiyonlar'a tıklayın veya dokunun.

    Cities koleksiyonu görüntülenerek "Seattle" ve "Rainy" içeren tek bir kayıt gösterilir:

    Rainy hava durumu ile Seattle'ı gösteren koleksiyon.

  5. Varsayılan çalışma alanına geri dönmek için geri okuna tıklayın veya dokunun.

  6. Bir Label denetimi ekleyin ve denetimin Text özelliğini şu formül olarak ayarlayın:

    IsBlank( First( Cities ).Weather )
    

    Weather alanı bir değer ("Rainy") içerdiğinden etiket false değerini gösterir.

  7. İkinci bir düğme ekleyin ve düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Uygulamanızı önizleyin, eklediğiniz düğmeye tıklayın veya dokunun ve ardından Önizlemeyi kapatın.

    Cities koleksiyonundaki ilk kaydın Weather alanı, boş bir değerle değiştirilerek önceki "Rainy" değeri kaldırılır.

    Boş bir Weather alanı ile Seattle'ı gösteren koleksiyon.

    Weather alanı artık bir değer içermediğinden etiket true değerini gösterir.

Coalesce

Formül Açıklama Sonuç
Coalesce( Blank(), 1 ) Her zaman boş bir değer döndüren Blank işlevinde döndürülen değeri test eder. İlk bağımsız değişken boş olduğundan değerlendirme, boş olmayan bir değer veya boş olmayan bir dize bulununcaya kadar sonraki bağımsız değişkenle devam eder. 1
Coalesce ( "", "2" ) Boş dize olan ilk bağımsız değişkeni sınar. İlk bağımsız değişken boş bir dize olduğundan değerlendirme, boş olmayan bir değer veya boş olmayan bir dize bulununcaya kadar sonraki bağımsız değişkenle devam eder. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce, bağımsız değişken listesinin başından başlar ve boş olmayan bir değer veya boş olmayan bir dize bulununcaya kadar sırayla her bir değişkeni değerlendirir. Bu durumda ilk dört bağımsız değişken boş değer veya boş bir dize döndürür, böylece değerlendirme beşinci bağımsız değişkenle devam eder. Beşinci bağımsız değişken boş olmayan bir değer veya boş olmayan bir dizedir, bu nedenle değerlendirme burada durdurulur. Beşinci bağımsız değişkenin değeri döndürülür ve altıncı bağımsız değişken değerlendirilmez. 3
Coalesce( "" ) Boş dize olan ilk bağımsız değişkeni sınar. İlk bağımsız değişken boş bir dize olduğundan ve başka bağımsız değişkenler olmadığından işlev boş değeri döndürür. blank

IsBlank

  1. Sıfırdan bir uygulama oluşturun ve metin girişi denetimi ekleyip FirstName olarak adlandırın.

  2. Bir etiket ekleyin ve Text özelliğini şu formül olarak ayarlayın:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Varsayılan olarak bir metin girişi denetiminin Text özelliği, "Text input" olarak ayarlanır. Özellik bir değer içerdiğinden boş değildir ve etiket herhangi bir ileti görüntülemez.

  3. Boşluklar da dahil olmak üzere Metin girişi denetimindeki tüm karakterleri kaldırın.

    Text özelliği artık herhangi bir karakter içermediğinden boş bir dizedir ve IsBlank( FirstName.Text )true olur. Gerekli alan iletisi görüntülenir.

Diğer araçları kullanarak doğrulama gerçekleştirme hakkında bilgi için bkz. Validate işlevi ve veri kaynaklarıyla çalışma.

Diğer örnekler:

Formül Açıklama Sonuç
IsBlank( Blank() ) Her zaman boş bir değer döndüren Blank işlevinde döndürülen değeri test eder. true
IsBlank( "" ) Karakter içermeyen bir dize. true
IsBlank( "Hello" ) Bir veya daha fazla karakter içeren bir dize. false
IsBlank( AnyCollection ) Koleksiyon mevcut olduğundan, herhangi bir kayıt içermese bile boş değildir. Boş bir koleksiyon olup olmadığını kontrol etmek için bunun yerine IsEmpty öğesini kullanın. false
IsBlank( Mid( "Hello", 17, 2 ) ) Mid için başlangıç karakteri, dizenin sonunu aşmaktadır. Sonuç boş bir dizedir. true
IsBlank( If( false, false ) ) ElseResult içermeyen bir If işlevi. Koşul her zaman false olduğundan bu If her zaman boş değer döndürür. true

IsEmpty

  1. Sıfırdan bir uygulama oluşturun ve Button denetimi ekleyin.

  2. Düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. Uygulamanızı önizleyin, eklediğiniz düğmeye tıklayın veya dokunun ve ardından Önizlemeyi kapatın.

    IceCream adlı bir koleksiyon oluşturulur ve şu veriyi içerir:

    300 ve 100 miktarlı Strawberry ve Chocolate aromaları bulunan tablo.

    Bu koleksiyon iki kayda sahiptir ve boş değildir. IsEmpty( IceCream ), false değerini, CountRows( IceCream ) ise 2 değerini döndürür.

  4. İkinci bir düğme ekleyin ve düğmenin OnSelect özelliğini şu formül olarak ayarlayın:

    Clear( IceCream )

  5. Uygulamanızı önizleyin, ikinci düğmeye tıklayın veya dokunun ve ardından Önizlemeyi kapatın.

    Koleksiyon artık boştur:

    Boş koleksiyon olarak Flavor ve Quantity bulunan koleksiyon.

    Clear işlevi bir koleksiyondaki tüm kayıtları kaldırarak boş bir koleksiyon döndürür. IsEmpty( IceCream )true değerini, CountRows( IceCream ) ise 0 değerini döndürür.

Ayrıca aşağıdaki örneklerde gösterildiği gibi, hesaplanan bir tablonun boş olup olmadığını test etmek için IsEmpty işlevini de kullanabilirsiniz:

Formül Açıklama Sonuç
IsEmpty( [ 1, 2, 3 ] ) Tek sütunlu tablo üç kayıt içerir ve bu nedenle boş değildir. false
IsEmpty( [ ] ) Tek sütunlu tablo kayıt içermez ve boştur. true
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) Tek sütunlu tablo, 5'ten büyük bir değer içermez. Filtreden elde edilen sonuç herhangi bir kayıt içermez ve boştur. true