Aracılığıyla paylaş


Elektronik raporlamada formül dili

Elektronik raporlama (ER), güçlü bir veri dönüştürme deneyimi sağlar. ER formül tasarımcısında gerekli olan veri eklemelerini ifade etmek için kullanılan dil, Microsoft Excel'deki formül diline benzer.

Temel sözdizimi

ER ifadeleri aşağıdaki öğelerden birini veya tümünü içerebilirler:

Sabitler

İfadeleri tasarlarken metin ve sayısal sabitler (hesaplanmayan değerler) içeren ifadeler kullanabilirsiniz. Örneğin VALUE ("100") + 20 ifadesi, sayısal sabit 20 ve dize sabiti "100" kullanır ve 120 sayısal değerini döndürür.

ER formül tasarımcısı kaçış sıralarını destekler. Bu nedenle, farklı şekilde ele alınması gereken bir ifade dizesi belirtebilirsiniz. Örneğin, "Leo Tolstoy ""War and Peace"" Volume 1" deyimi, Leo Tolstoy "Savaş ve barış" 1. Cilt metin dizesini döndürür.

İşleçler

Aşağıdaki tablo, toplama, çıkarma, bölme ve çarpma gibi temel matematik işlemleri gerçekleştirmek için kullanabileceğiniz aritmetik işleçleri gösterir.

İşleç Anlamı Örnek
+ Fark hesap eki 1+2
- Çıkartma, olumsuzluk 5-2, -1
* Çarpma 7\*8
/ Bölüm 9/3

Aşağıdaki tablo desteklenen karşılaştırma işleçlerini göstermektedir. Bu işleçleri iki değeri karşılaştırmak için kullanabilirsiniz.

İşleç Anlamı Örnek
= Equal X=Y
> Greater than X>Y
< Less than X<Y
>= Büyüktür veya eşittir X>=Y
<= Küçüktür veya eşittir X<=Y
<> Eşit değil X<>Y

Ayrıca, bir metin birleştirme işleci olarak (&) işareti kullanabilirsiniz. Bu şekilde, bir veya daha fazla metin dizesini tek bir metin içinde birleştirebilir veya art arda ekleyebilirsiniz.

İşleç Anlamı Örnek
& Art arda eklemek "Nothing to print:" & " " & "no records found"

İşleç önceliği

Bir bileşik ifadenin parçalarının hangi sırada değerlendirilecekleri önemlidir. Örneğin, 1 + 4 / 2 deyiminin sonucu, bölme işleminin mi yoksa toplama işleminin mi önce gerçekleşeceğine göre farklılık göstermektedir. Bir ifadenin nasıl değerlendirileceğini açıkça tanımlamak için parantezleri kullanabilirsiniz. Örneğin, toplama işleminin önce yapılması gerektiğini belirtmek için yukarıdaki ifadeyi şuna değiştirebilirsiniz: (1 + 4) / 2 Bir ifadede gerçekleştirilmesi gereken işleçlerin sırasını özellikle belirtmezseniz sıralama, desteklenen işleçlerin varsayılan önceliğine dayandırılır. Aşağıdaki tablo, işleçlerin her birine atanan önceliği gösterir. Daha yüksek bir önceliğe sahip işleçler (örneğin, 7) daha düşük önceliğe sahip işleçlerden önce değerlendirilirler (örneğin, 1).

Öncelik İşleçler Sözdizimi
7 Gruplama ( … )
6 Üye erişimi … . …
5 İşlev çağrısı … ( … )
4 Çarpımsal … * …
… / …
3 Eklenecek … + …
… - …
2 Karşılaştırma … < …
… <= …
… => …
… > …
… = …
… <> …
1 Ayrılma … , …

Bir ifadenin aynı önceliğe sahip birden çok işleç içeriyorsa, bu işleçler soldan sağa doğru değerlendirilir. Örneğin, 1 + 6 / 2 \* 3 > 5 ifadesi, doğru sonucunu verir. Deyimlerin okunmasını ve bakımını daha kolay hale getirmek için, deyimlerin ifadedeki arzu edilen işlem sıralarını, parantezler kullanarak açıkça belirtmenizi tavsiye ederiz.

Referanslar

Bir ifadenin tasarımında kullanılabilir olan bir mevcut ER bileşeninin tüm veri kaynakları, adlandırılmış referanslar olarak kullanılabilirler. Geçerli ER bileşeni, bir model eşleme veya bir biçim olabilir. Örneğin, mevcut ER model eşlemesi, DateTime veri türünün değerini döndüren ReportingDate veri kaynağını içerir. Oluşturulan belgede bu değeri uygun şekilde biçimlendirmek için ifadedeki veri kaynağına başvurabilirsiniz: DATETIMEFORMAT (ReportingDate, "dd-MM-yyyy").

Referansta bulunan veri kaynağının adında yer alan ve alfabedeki bir harfi temsil etmeyen tüm karakterlerin önünde tek bir tırnak işareti (') olmalıdır. Referans gösterilen veri kaynağı adı alfabede temsil edilmeyen en az bir simgeyi içeriyorsa, adın tekli tırnak işaretleri içerisine alınması gerekir. Örneğin, alfabetik olmayan simgeler noktalama işaretleri veya diğer yazılı simgeleri olabilir. Burada bazı örnekler verilmiştir:

  • Bugünün tarihi & saati veri kaynağının bir ER deyiminde şu şekilde referans gösterilmiş olması gerekir: 'Today''s date & time'.
  • Müşteriler veri kaynağının name() yöntemi, bir ER deyimi içerisinde aşağıdaki gibi referans gösterilmelidir: Customers.'name()'.

Uygulama veri kaynaklarının yöntemlerinde parametreler varsa, yöntemleri çağırmak için aşağıdaki sözdizimi kullanılır:

  • Sistem veri kaynağının isLanguageRTL yönteminde Dize veri türünün EN-US parametresi varsa, bu yönteme bir ER deyiminde System.isLanguageRTL("EN-US") olarak referans verilmelidir.
  • Bir yöntem adı yalnızca alfasayısal simgelerden oluşuyorsa tırnak işaretleri zorunlu değildir. Ancak, bir tablonun bir yönteminin adı köşeli parantez içerdiğinde zorunludur.

Sistem veri kaynağı Global uygulama sınıfına referansta bulunan bir ER eşlemesine eklendiğinde, System.isLanguageRTL("EN-US ") ifade YANLIŞBoole değerini döndürür. Değiştirilen ifade System.isLanguageRTL("AR"), DOĞRUBoole değerini döndürür.

Değerlerin bu yöntem türünün parametrelerine geçiş şeklini sınırlandırabilirsiniz:

  • Bu tür yöntemlere yalnızca sabitler geçirilebilir. Sabitlerin değerleri tasarım zamanında tanımlanır.
  • Yalnızca basit (temel) veri türleri bu tür parametreler için desteklenir. Temel veri türleri şunlardır: tamsayı, gerçek, Boole ve dize.

Yollar

Bir ifade yapılandırılmış bir veri kaynağına başvurduğunda, bu veri kaynağının belirli bir temel öğesini seçmek için bir yol tanımı kullanabilirsiniz. Yapılandırılmış veri kaynağının öğelerini tek tek ayırmak için bir nokta karakteri (.) kullanılır. Örneğin, mevcut ER model eşlemesi InvoiceTransactions veri kaynağını içerir ve bu veri kaynağı kayıtların listesini döndürür. InvoiceTransactions kayıt yapısı her ikisi de sayısal değerler döndüren AmountDebit ve AmountCredit alanlarını içerir. Bu nedenle, faturalanan tutarı hesaplamak için aşağıdaki ifadeyi tasarlayabilirsiniz: InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit. Bu InvoiceTransactions.AmountDebit ifadedeki yapım, kayıt listesi türünün Faturalamaİşlemleri veri kaynağının TutarBorç alanına erişmek için kullanılan yoldur.

Göreli yol

Yapılandırılmış bir veri kaynağının yolu "et" işareti (@) ile başlıyorsa, bu göreli bir yoldur. Kullanılan sıradüzenli ağaç yapısının mutlak yolunun kalan bölümü yerine, "et" işareti gösterilir. Aşağıdaki şekilde bir örneği gösterilmiştir. Burada, Ledger.'accountingCurrency()' mutlak yol, muhasebe veri kaynağından alınan muhasebe para birimi değerinin, veri modelinin MuhasebeParaBirimi alanına girildiğini gösterir.

ER model eşleme Tasarımcısı sayfasındaki mutlak yol örneği.

Aşağıdaki çizimdeki örnek, göreli bir yolun nasıl kullanıldığını göstermektedir. @.AccountNum göreli yolu, Intrastat veri kaynağının AccountNum alanının (veri modelinin hiyerarşik ağacındaki AccountNum alanının bir üst düzeyde görüntülenir) müşteri veya satıcı hesap numarasını girmek için veri kaynağının AccountNum alanı kullanılacağını belirtir.

ER model eşleme Tasarımcısı sayfasındaki göreli yol örneği.

Mutlak yolun kalan bölümü de ER formül düzenleyicisinde gösterilir.

ER formül Tasarımcısı sayfasında, mutlak yolun kalan bölümü.

Daha fazla bilgi için bkz. ER model ve biçimlerinin veri bağlamalarında göreli yol kullanma.

İşlevler

ER yerleşik işlevler ER deyimlerinde kullanılabilir. İfade bağlamının tüm veri kaynakları (geçerli ER model eşlemesi ya da ER biçimi ) çağırma işlevlerinin bağımsız değişkenleri listesine uygun işlevleri çağırma parametreleri olarak kullanılabilir. Sabitler çağırma işlevleri parametreleri olarak da kullanılabilir. Örneğin, mevcut ER model eşlemesi InvoiceTransactions veri kaynağını içerir ve bu veri kaynağı kayıtların listesini döndürür. InvoiceTransactions kayıt yapısı her ikisi de sayısal değerler döndüren AmountDebit ve AmountCredit alanlarını içerir. Bu sebeple, faturalanan tutarı hesaplamak için, dahili ER yuvarlama işlevini kullanan şu deyimi tasarlayabilirsiniz: ROUND (InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit, 2).

ER model eşlemeleri ve ER raporları tasarladığınızda, aşağıdaki kategorilerdeki ER işlevlerini kullanabilirsiniz:

Liste uzantı işlevleri

ER, ER ifadelerinde kullanılan işlevlerin listesini genişletmenize olanak sağlar. Bazı mühendislik çabaları gereklidir. Ayrıntılı bilgi için bkz. Elektronik raporlama (ER) işlev listesini genişletme.

Bileşik ifadeler

Veri türlerinin eşleşmesi koşuluyla, farklı kategorilerdeki işlevleri kullanan bileşik ifadeler oluşturabilirsiniz. İşlevleri birlikte kullandığınızda, bir işlevdeki çıkış veri türünü başka bir işlev için gerekli olan giriş veri türüne eşleştirin. Örneğin, bir alanı bir ER biçim öğesine bağlamakta olası bir "liste-sahip-boş" hatasının oluşmaması için, aşağıdaki örnekte görüldüğü gibi, liste kategorisinden işlevleri mantıksal kategorideki bir işlevle birleştirin. Burada, formül, ilgili listeden gerekli toplama değerini vermeden önce IntrastatTotals listesinin boş olup olmadığını test etmek için Eğer işlevini kullanır. IntrastatTotals listesi boşsa, formül 0 (sıfır) değerini döndürür.

IF(ISEMPTY(IntrastatTotals), 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded') 

Çoklu çözüm

Genellikle, farklı kategorilerdeki işlevleri veya aynı kategorideki farklı işlevleri kullanarak aynı veri dönüştürme sonucunu birden çok yolla elde edebilirsiniz. Örneğin, önceki ifade liste kategorisinden COUNT işlevi kullanılarak da yapılandırılabilir.

IF(COUNT (IntrastatTotals)=0, 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded') 

Ek kaynaklar

Elektronik Raporlamaya genel bakış

Elektronik raporlamada formül tasarımcısı

Elektronik raporlama işlev listesini genişletme

Desteklenen temel veri türleri

Desteklenen bileşik veri türleri