Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Function | Applies to |
|---|---|
| AsType |
|
| IsType |
|
Kayıt başvurusunun belirli bir tablo türü (IsType) olup olmadığını denetler ve başvuruyu bu tür (AsType) olarak değerlendirir.
Note
PAC CLI pac power-fx komutları desteklemez IsType.
Description
AsType ve IsType işlevleri, kayıt başvurularını (örneğin Dataverse'deki çok biçimli aramalar) ve dinamik değerleri doğrudan kullanılabilecek yazılan değerlere dönüştürmek için kullanılabilir.
Record References
Daha geniş bir tanıtım ve daha fazla ayrıntı için Kayıt başvurularını ve polimorfik aramaları anlama bölümünü okuyun.
Arama alanı genellikle belirli bir tablodaki kayıtlara başvurur. Tablo türü iyi bilindiğinden, arama alanlarına basit nokta gösterimini kullanarak erişin. Örneğin, First( Firmalar ).'Birincil İlgili Kişi'.'Tam Ad' gösterimi Firmalar tablosundan İlgili Kişiler tablosundaki Birincil İlgili Kişi kaydına gidip Tam Ad alanını ayıklar.
Bu örneklerde olduğu gibi, Microsoft Dataverse, bir dizi tablonun kayıtlarına başvurabilen çok biçimli arama alanlarını da destekler.
| Lookup field | Şuna başvurabilir |
|---|---|
| Owner | Kullanıcılar veya Takımlar |
| Customer | Firmalar veya İlgili Kişiler |
| Regarding | Firmalar, İlgili Kişiler, Bilgi Bankası Makaleleri, vb. |
Tuval uygulaması formüllerinde, polimorfik aramalarla çalışmak için kayıt başvurularını kullanın. Kayıt başvurusu farklı tablolara başvurabildiğinden, bir formül yazarken çalışma zamanında hangi alanların kullanılabilir olduğunu bilemezsiniz. Record.Fieldgösterimi kullanılamıyor. Bu formüllerin, uygulamanın çalıştığında karşılaştığı kayıtlara uyum sağlaması gerekir.
İşlev, IsType kayıt başvurusunun belirli bir tablo türüne başvurup başvurmadiğini denetler. İşlev DOĞRU veya YANLIŞ bir Boole değeri döndürür.
İşlev, AsType kayıt başvurularını atama olarak da adlandırılan belirli bir tablo türü olarak değerlendirir. Sonucu tablonun kaydı gibi kullanırsınız ve kaydın tüm alanlarına erişmek için Record.Field gösterimini kullanırsınız. Başvuru belirli türde değilse bir hata oluşur.
Önce bir kaydın tablo türünü denetlemek ve ardından alanların kullanılabilir olması için bu türdeki bir kayıt olarak işlemek için bu işlevleri birlikte kullanın:
If( IsType( First( Accounts ).Owner, Users ),
AsType( First( Accounts ).Owner, Users ).'Full Name',
AsType( First( Accounts ).Owner, Teams ).'Team Name'
)
Bu işlevlere yalnızca bir kayıt başvurusunun alanlarına erişiyorsa ihtiyacınız vardır. Örneğin, filter işlevinde veya IsTypeolmadan AsType kayıt başvurularını kullanırsınız:
Filter( Accounts, Owner = First( Users ) )
Benzer olarak, Patch işleviyle kayıt başvurularını kullanabilirsiniz:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Bu işlevleri galeri veya Düzenleme formu denetimi gibi bir kayıt bağlamında kullandığınızda, tablo türüne başvurmak için genel kesinleştirme işlecine ihtiyacınız olabilir. Örneğin, bu formül , Şirket Adı'nınMüşteri araması olduğu kişilerin listesini görüntüleyen bir galeride çalışır:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Her iki işlev için de, tabloya bağlı veri kaynağının adını kullanarak türünü belirtin. Formülün çalışması için, denetlemek veya oluşturmak istediğiniz türler için uygulamaya bir veri kaynağı ekleyin. Örneğin, bir Sahip araması ve IsType bu tablodan kayıtlarla kullanmak AsType istiyorsanız Kullanıcılar tablosunu veri kaynağı olarak ekleyin. Yalnızca uygulamanızda kullandığınız veri kaynaklarını ekleyin; Aramanın başvurabileceği tüm tabloları eklemeniz gerekmez.
Kayıt başvurusu boşsa YANLIŞ IsType döndürür ve AsTypeboş döndürür. Boş kaydın tüm alanları da boş olur.
Dynamic values
Power Fx'te kullanabilmeniz için önce bir web API'sinden veya [ParseJSON işlevinden] dinamik değerin belirli bir türlenmiş değere dönüştürülmesi gerekir. Aşağıda bazı seçenekleri görebilirsiniz:
- Alanı, kullandığınız noktaya örtük olarak yazın. Örneğin, işleciyle
+kullanırsanız, bir sayıya dönüştürülebilirse nesne sayıya dönüştürülür. Bu seçenek beklenmeyen dönüştürmelere neden olabilir ve kayıtları ve tabloları bir bütün olarak dönüştüremez. - Her alanı Ondalık, Metin, Tarih ve Saat, GUID ve diğer tür oluşturucu işlevleriyle ayrı ayrı açıkça yazın. Her alanı ayrı ayrı yapmanız gerektiğinden, formüllerinize en çok bu seçenek eklenir.
- ParseJSON fonksiyonunun ikinci argümanıyla JSON'u açıkça yazın. Bu seçenek kolaydır ve Dinamik değere ihtiyaç duymaktan kaçınılır.
- işlevini kullanarak AsType yazın. Dönüştürmeyi işlevle IsType denemeden önce türü de de de kontrol edebilirsiniz.
Syntax
AsType( Kayıt Referansı, Tablo Tipi )
- RecordReference: Gerekli. Kayıt başvurusu, genellikle çeşitli tablolardan herhangi birinde bir kayda başvuran arama alanıdır.
- TableType - Gereklidir. Kaydın döküm kaydedilecek tablo.
AsType( DinamikDeğer, TipSpesifikasyon )
- DynamicValue - Gerekli. ParseJSON işlevinden veya API çağrısından dinamik bir değer.
- TypeSpecification - Gerekli. Tür işleviyle tanımladığınız bir tür adı veya tür belirtimi.
IsType( Kayıt Referansı, Tablo Tipi )
- RecordReference: Gerekli. Kayıt başvurusu genellikle birden çok tabloda bulunan bir kayda başvurabilen bir arama alanıdır.
- TableType - Gereklidir. Test etmek için belirli bir tablo.
IsType( DinamikDeğer, TipSpesifikasyon )
- DynamicValue - Gerekli. ParseJSON işlevinden veya API çağrısından dinamik bir değer.
- TypeSpecification - Gerekli. Tür fonksiyonu ile tanımlanan bir tür adı veya tür belirtimi.
Examples
Record References
Kayıt başvurularını ve polimorfik aramaları anlama konusu kapsamlı örnekler içerir.
Tabletler için boş bir tuval uygulaması oluşturun.
Sol bölmede Veri> seçin ve ardından Hesaplar ve Kişiler tabloları ekleyin.
Sol bölmede (Ekle) +>> seçin .
Verilere bağlan'ı ve ardından veri kaynağı olarak İlgili Kişiler'i seçin.
Galeri düzenini Başlık ve alt başlık olarak ayarlayın.
Veri bölmesinde, Başlık1 listesini açın ve sonra Tam Ad'ı seçin.
Alt Başlık1 label denetimini seçin.
Alt Başlık1 denetiminin Text özelliğini şu formül olarak ayarlayın:
If( IsBlank( ThisItem.'Company Name' ), "--", IsType( ThisItem.'Company Name', Accounts ), "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name', "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name' )
Galerideki alt başlık şu değerleri gösterir:
- 'Şirket Adı'boş ise "--".
- Şirket Adı alanı bir hesaba başvuruyorsa , Hesaplar tablosundaki "Hesap: " ve Hesap Adı alanı.
- Şirket Adı alanı bir kişiye başvuruyorsa, Kişiler tablosundaki "İlgili Kişi: " ve Tam Ad alanı.
Örnek veriler daha fazla sonuç türünü gösterecek şekilde değiştirilebildiği için sonuçlarınız farklılık gösterebilir.
Dynamic values
Aşağıdaki örneklerde , ParseJSON, AsTypeve IsTypePac CLI Power Fx REPL tarafından çeşitli şekillerde yorumlanan basit bir JSON kaydı gösterilmektedir.
Bu ilk örnekte ParseJSON'a tür bilgisi sağlanmadı, bu nedenle dinamik bir değer döndürür.
>> Set( rec, ParseJSON( "{""a"":1}" ) )
rec: <Dynamic: Use Value, Text, Boolean, or other functions to establish the type>
Alan, sayısal bir bağlamda kullanıldığında örtük olarak bir sayıya dönüştürülür.
>> 1 + rec.a
2
Alternatif olarak, bu örnek kaydı açıkça ikinci argümanı ParseJSON olan yazılmış bir Power Fx kaydına dönüştürür.
>> ParseJSON( "{""a"":1}", Type( {a: Number} ) )
{a:1}
Bir diğer alternatif de, bu örnek kullanarak AsTypekaydı açıkça yazılan bir Power Fx kaydına dönüştürür.
>> AsType( ParseJSON( "{""a"":1}" ), Type( {a: Number} ) )
{a:1}
Son olarak, emin değilseniz, bu örnek türü işleviyle dönüştürmeden önce test eder IsType .
>> IsType( ParseJSON( "{""a"":1}" ), Type( {a: Number} ) )
true