ภาษาสูตรในการรายงานทางอิเล็กทรอนิกส์
การรายงานทางอิเล็กทรอนิกส์ (ER) ให้ประสบการณ์การเปลี่ยนแปลงข้อมูลที่มีประสิทธิภาพ ภาษาที่ใช้ในการแสดงการจัดการข้อมูลที่จำเป็นใน โปรแกรมออกแบบสูตร ERr คล้ายกับภาษาสูตรใน Microsoft Excel
ไวยากรณ์พื้นฐาน
นิพจน์ ER สามารถประกอบองค์ประกอบใดๆ หรือทั้งหมดต่อไปนี้:
ค่าคงที่
เมื่อคุณออกแบบนิพจน์ คุณสามารถใช้ข้อความและค่าคงที่ตัวเลข (ซึ่งคือ ค่าที่ไม่ได้มีการคำนวณ) ตัวอย่างเช่น นิพจน์ VALUE ("100") + 20
ใช้ค่าคงที่แบบตัวเลข 20 และค่าคงของสตริงเท่ากับ "100" และส่งกลับค่าตัวเลขเป็น 120
โปรแกรมออกแบบสูตรสนับสนุนลำดับหลีก ดังนั้น คุณสามารถระบุสตรินิพจน์ที่ควรได้รับการจัดการอย่างแตกต่างได้ ตัวอย่างเช่น นิพจน์ "Leo Tolstoy ""War and Peace"" Volume 1"
ส่งกลับสตริงข้อความ Leo Tolstoy "War and Peace" Volume 1
ตัวดำเนินการ
ตารางต่อไปนี้แสดงการดำเนินการทางคณิตศาสตร์ที่คุณสามารถใช้ทำการดำเนินการพื้นฐานเชิงคณิตศาสตร์ เช่น การบวก การลบ การคูณ และการหาร
ผู้ปฏิบัติการ | ความหมาย | ตัวอย่าง |
---|---|---|
+ | การเพิ่มขึ้น | 1+2 |
- | การลบ การปฏิเสธ | 5-2 , -1 |
* | คูณ | 7\*8 |
/ | แผนก | 9/3 |
ตารางต่อไปนี้แสดงตัวดำเนินการการเปรียบเทียบที่ได้รับการสนับสนุน คุณสามารถใช้ตัวดำเนินการเหล่านี้เพื่อเปรียบเทียบค่าสองค่าได้
ผู้ปฏิบัติงาน | ความหมาย | ตัวอย่าง |
---|---|---|
= | Equal | X=Y |
> | Greater than | X>Y |
< | Less than | X<Y |
>= | มากกว่าหรือเท่ากับ | X>=Y |
<= | น้อยกว่าหรือเท่ากับ | X<=Y |
<> | ไม่เท่ากับ | X<>Y |
นอกจากนี้ คุณสามารถใช้เครื่องหมายและ (&) เป็นตัวดำเนินการเรียงต่อกันของข้อความได้ ด้วยวิธีนี้ คุณสามารถเข้าร่วม หรือเชื่อมสตริงข้อความหนึ่งอักขระหรือมากกว่าลงในข้อความชิ้นส่วนเดียว
ผู้ปฏิบัติการ | ความหมาย | ตัวอย่าง |
---|---|---|
& | เชื่อมเข้าด้วยกัน | "Nothing to print:" & " " & "no records found" |
ความสำคัญของตัวดำเนินการ
ใบสั่งที่ประเมินส่วนของนิพจน์ที่ซับซ้อนมีความสำคัญ ตัวอย่างเช่น ผลลัพธ์ของนิพจน์ 1 + 4 / 2
แปรผัน โดยขึ้นอยู่กับว่ามีการดำเนินการบวกหรือการหารเป็นอันดับแรก คุณสามารถใช้เครื่องหมายวงเล็บเพื่อกำหนดวิธีประเมินนิพจน์อย่างชัดเจน ตัวอย่างเช่น เพื่อบ่งชี้ว่าควรมีการดำเนินการบวกก่อน คุณสามารถเปลี่ยนนิพจน์ที่เกิดขึ้นก่อนหน้าได้เป็น (1 + 4) / 2
ถ้าไม่ได้บ่งชี้ลำดับการดำเนินงานในนิพจน์ไว้อย่างชัดเจน ลำดับจะจัดตามความสำคัญเริ่มต้นที่ถูกกำหนดให้กับตัวดำเนินการที่ได้รับการสนับสนุน ตารางต่อไปนี้แสดงลำดับความสำคัญที่ถูกกำหนดให้กับแต่ละตัวดำเนินการ ตัวดำเนินการที่มีลำดับความสำคัญสูงกว่า (ตัวอย่างเช่น 7) จะถูกประเมินก่อนตัวดำเนินการที่มีลำดับความสำคัญต่ำกว่า (ตัวอย่างเช่น 1)
ความสำคัญ | ตัวดำเนินการ | ไวยากรณ์ |
---|---|---|
7 | การจัดกลุ่ม | ( … ) |
6 ชั่วโมง | การเข้าถึงสมาชิก | … … |
5 | ฟังก์ชันการโทร | … ( … ) |
4 | คูณ | … * … … / … |
3 | ที่เพิ่มเข้าไป | … + … … - … |
2 | การเปรียบเทียบ | … < … … <= … … => … … > … … = … … <> … |
1 | การแยก | … , … |
ถ้านิพจน์ที่รวมผู้ปฏิบัติงานที่ต่อเนื่องกันหลายรายการที่มีลำดับความสำคัญเท่ากัน การดำเนินการดังกล่าวจะถูกประเมินจากซ้ายไปขวา ตัวอย่างเช่น นิพจน์ 1 + 6 / 2 \* 3 > 5
ส่งกลับค่าเป็น จริง เราขอแนะนำให้คุณใช้เครื่องหมายวงเล็บเพื่อบ่งชี้ลำดับที่ต้องการของการดำเนินการในนิพจน์อย่างชัดเจน เพื่อทำให้นิพจน์ง่ายต่อการอ่านและรักษามากขึ้น
บุคคลอ้างอิง
แหล่งข้อมูลทั้งหมดของส่วนประกอบ ER ปัจจุบันที่พร้อมใช้งานในระหว่างการออกแบบของนิพจน์ สามารถถูกใช้เป็นข้อมูลอ้างอิงที่มีการตั้งชื่อ ส่วนประกอบ ER ปัจจุบันสามารถเป็นได้ทั้งการแม็ปแบบจำลองหรือรูปแบบ ตัวอย่างเช่น การแม็ปแบบจำลอง ER ปัจจุบันประกอบด้วยแหล่งข้อมูล ReportingDate ที่ส่งคืนค่าของชนิดข้อมูล วันที่และเวลา เพื่อจัดรูปแบบค่าในเอกสารที่สร้างอย่างถูกต้อง คุณสามารถอ้างอิงแหล่งข้อมูลในนิพจน์ได้เป็น DATETIMEFORMAT (ReportingDate, "dd-MM-yyyy")
อักขระทั้งหมดในชื่อของแหล่งข้อมูลอ้างที่ไม่แสดงตัวอักษร ต้องนำหน้าด้วยเครื่องหมายอัญประกาศเดี่ยว (') ถ้าชื่อของแหล่งข้อมูลอ้างอิงประกอบด้วยสัญลักษณ์อย่างน้อยหนึ่งรายการที่ไม่ใช่ตัวอักษร ชื่อต้องอยู่ภายในเครื่องหมายอัญประกาศเดี่ยว ตัวอย่างเช่น สัญลักษณ์ที่ไม่ใช่ตัวอักษรเหล่านี้อาจมีเครื่องหมายวรรคตอนหรือสัญลักษณ์ที่เป็นลายลักษณ์อักษรอื่นๆ ยกตัวอย่างเช่น
- แหล่งข้อมูล วันที่และเวลาของวันนี้ ต้องถูกอ้างอิงไปยังนิพจน์ ER เป็น
'Today''s date & time'
- วิธีการ ชื่อ() ของแหล่งข้อมูล ลูกค้า ต้องมีการอ้างอิงในนิพจน์ ER เป็น
Customers.'name()'
ถ้าขั้นตอนของแหล่งข้อมูลของแอพพลิเคชั่นมีพารามิเตอร์ ไวยากรณ์ต่อไปนี้จะใช้ในการเรียกใช้วิธีการดังกล่าว:
- ถ้าวิธี isLanguageRTL ของแหล่งข้อมูล ระบบ มีพารามิเตอร์ EN-US ของชนิดข้อมูลแบบ สตริง วิธีนี้ต้องถูกอ้างอิงถึงในนิพจน์ ER เป็น
System.isLanguageRTL("EN-US")
- ไม่จำเป็นต้องมีเครื่องหมายอัญประกาศ เมื่อชื่อของวิธีการประกอบด้วยสัญลักษณ์ที่เป็นอักษรและตัวเลขเท่านั้น อย่างไรก็ตาม สิ่งเหล่านั้นจำเป็นสำหรับวิธีการของตาราง เมื่อชื่อประกอบด้วยวงเล็บ
เมื่อมีการเพิ่มแหล่งข้อมูลของ ระบบ ไปยังการแม็ป ER ซึ่งอ้างถึงลำดับชั้นของแอปพลิเคชั่น ส่วนกลาง นิพจน์ System.isLanguageRTL("EN-US ")
จะแปลงค่า Boolean เป็น FALSE นิพจน์ System.isLanguageRTL("AR")
ที่ถูกปรับเปลี่ยน ส่งกลับค่า บูลีน เป็น TRUE
คุณสามารถจำกัดวิธีที่ค่าถูกส่งผ่านไปยังพารามิเตอร์ของชนิดของวิธีนี้:
- ค่าคงที่เท่านั้นที่สามารถถูกส่งผ่านวิธีชนิดนี้ ค่าของค่าคงที่ถูกกำหนดไว้ในขณะออกแบบ
- ชนิดข้อมูล ดั้งเดิม (พื้นฐาน) เท่านั้นที่ได้รับการสนับสนุนสำหรับพารามิเตอร์ของชนิดนี้ ชนิดข้อมูลพื้นฐานรวมถึง จำนวนเต็มจำนวนจริงบูลีน และ สตริง
พาธ
เมื่อนิพจน์อ้างอิงแหล่งข้อมูลที่มีโครงสร้าง คุณสามารถใช้คำนิยามพาธเพื่อเลือกเฉพาะองค์ประกอบพื้นฐานของแหล่งข้อมูลนั้น อักขระจุด (.) ใช้ในการแบ่งแต่ละองค์ประกอบของแหล่งข้อมูลที่มีโครงสร้าง ตัวอย่างเช่น การแม็ปแบบจำลองข้อมูล ER ปัจจุบันประกอบด้วยแหล่งข้อมูล InvoiceTransactions และแหล่งข้อมูลนี้ส่งคืนค่าของรายการของเรกคอร์ด โครงสร้างเรกคอร์ด InvoiceTransactions ประกอบด้วยฟิลด์ AmountDebit และ AmountCredit และฟิลด์ทั้งสองนี้ส่งคืนค่าที่เป็นตัวเลข ดังนั้นคุณสามารถออกแบบนิพจน์ต่อไปนี้เพื่อคำนวณยอดเงินที่ออกใบแจ้งหนี้: InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit
การก่อสร้าง InvoiceTransactions.AmountDebit
ในนิพจน์นี้คือเส้นทางที่ใช้ในการเข้าถึงฟิลด์ AmountDebit ของแหล่งข้อมูล InvoiceTransactions ของชนิด รายการเรกคอร์ด
พาธสัมพัทธ์
ถ้าพาธของแหล่งข้อมูลที่มีโครงสร้างเริ่มต้นด้วยเครื่องหมาย "at" (@) นั่นคือพาธสัมพัทธ์ เครื่องหมาย "ที่" จะแสดงแทนที่เป็นส่วนที่เหลือของพาธสัมบูรณ์ของโครงสร้างแผนภูมิตามลำดับชั้นที่ใช้ ในแผนภาพต่อไปนี้แสดงตัวอย่าง ที่นี่ พาธสัมบูรณ์ Ledger.'accountingCurrency()'
บ่งชี้ว่าค่าสกุลเงินทางบัญชีจากแหล่งข้อมูล บัญชีแยกประเภท ถูกป้อนในฟิลด์ AccountingCurrency ของแบบจำลองข้อมูล
ตัวอย่างในภาพประกอบต่อไปนี้แสดงวิธีการใช้เส้นทางสัมพัทธ์ พาธสัมพัทธ์ @.AccountNum
บ่งชี้ว่าฟิลด์ AccountNum ของแหล่งข้อมูล อินทราสแทต (ซึ่งจะปรากฏขึ้นหนึ่งระดับเหนือฟิลด์ AccountNum ในแผนภูมิลำดับชั้นของแบบจำลองข้อมูล) เพื่อใช้ป้อนหมายเลขบัญชีลูกค้าหรือผู้จัดจำหน่ายในฟิลด์ AccountNum ของแบบจำลองข้อมูล
ส่วนที่เหลือของพาธสัมบูรณ์จะแสดงใน ตัวแก้ไขสูตร ER ด้วย
สำหรับข้อมูลเพิ่มเติม ให้ดูที่ ใช้พาธสัมพัทธ์ในการผูกข้อมูลของแบบจำลองและรูปแบบ ER
ฟังก์ชัน
ฟังก์ชันในตัว ER สามารถใช้ในนิพจน์ ER แหล่งข้อมูลทั้งหมดของบริบทนิพจน์ (ที่เป็นแบบจำลองข้อมูล ER ปัจจุบันหรือรูปแบบ ER) สามารถใช้เป็นพารามิเตอร์ของฟังก์ชันการเรียกใช้ ที่สอดคล้องกับรายการของอาร์กิวเมนต์ของฟังก์ชันการเรียกใช้ ค่าคงที่สามารถถูกใช้เป็นพารามิเตอร์ของการเรียกใช้ฟังก์ชันได้ ตัวอย่างเช่น การแม็ปแบบจำลองข้อมูล ER ปัจจุบันประกอบด้วยแหล่งข้อมูล InvoiceTransactions และแหล่งข้อมูลนี้ส่งคืนค่าของรายการของเรกคอร์ด โครงสร้างเรกคอร์ด InvoiceTransactions ประกอบด้วยฟิลด์ AmountDebit และ AmountCredit และฟิลด์ทั้งสองนี้ส่งคืนค่าที่เป็นตัวเลข ดังนั้น ในการคำนวณยอดเงินที่มีการออกใบแจ้งหนี้ คุณสามารถออกแบบนิพจน์ต่อไปนี้ที่ใช้ฟังก์ชันการปัดเศษ ER ที่มีอยู่ได้: ROUND (InvoiceTransactions.AmountDebit - InvoiceTransactions.AmountCredit, 2)
เมื่อคุณออกแบบการแม็ปแบบจำลอง ER และรายงาน ER คุณสามารถใช้ฟังก์ชัน ER จากประเภทต่อไปนี้:
- ฟังก์ชันวันที่และเวลา
- ฟังก์ชันรายการ
- ฟังก์ชันตรรกะ
- ฟังก์ชันคณิตศาสตร์
- ฟังก์ชันเรกคอร์ด
- ฟังก์ชันข้อความ
- ฟังก์ชันการรวบรวมข้อมูล
- ฟังก์ชันอื่นๆ (เฉพาะโดเมนธุรกิจ)
- ฟังก์ชันการแปลงของชนิด
ส่วนขยายรายการของฟังก์ชัน
ER ให้ความสามารถในการขยายรายการของฟังก์ชันที่ใช้ในนิพจน์ ER จำเป็นต้องใช้ความพยายามทางด้านวิศวกรรมบางอย่าง สำหรับข้อมูลรายละเอียด ดูที่ ขยายรายการของฟังก์ชันการรายงานทางอิเล็กทรอนิกส์ (ER)
นิพจน์ผสม
คุณสามารถสร้างนิพจน์ผสมที่ใช้ฟังก์ชันจากประเภทต่างๆ ได้โดยระบุว่าชนิดข้อมูลตรงกัน เมื่อคุณใช้ฟังก์ชันร่วมกัน ให้จับคู่ชนิดข้อมูลของผลลัพธ์จากฟังก์ชันหนึ่งไปยังชนิดข้อมูลป้อนเข้าที่ต้องการโดยฟังก์ชันอื่น ตัวอย่างเช่นเมื่อ ต้องการหลีกเลี่ยงข้อผิดพลาด "รายการที่ว่างเปล่า" ที่เป็นไปได้ในการผูกเขตข้อมูลกับองค์ประกอบรูปแบบ ER รวมฟังก์ชันจากประเภท รายการ ด้วยฟังก์ชันจากประเภท ตรรกะ ตามที่ตัวอย่างต่อไปนี้แสดง ที่นี่ สูตรใช้ฟังก์ชัน IF เพื่อทดสอบว่ารายการ IntrastatTotals ว่างเปล่าก่อนที่จะส่งกลับค่าของการรวมที่จำเป็นจากรายการนั้น ถ้ารายการ intrastattotals ว่างเปล่า สูตรจะส่งกลับค่า 0 (ศูนย์)
IF(ISEMPTY(IntrastatTotals), 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded')
โซลูชั่นหลายรายการ
บ่อยครั้งคุณจะได้รับผลการเปลี่ยนแปลงข้อมูลเดียวกันในหลายวิธีโดยใช้ฟังก์ชันจากประเภทที่แตกต่างกันหรือฟังก์ชันต่างๆ จากประเภทเดียวกัน ตัวอย่างเช่น นิพจน์ก่อนหน้ายังสามารถกำหนดค่าโดยใช้ฟังก์ชัน COUNT จากประเภท รายการ
IF(COUNT (IntrastatTotals)=0, 0.0, IntrastatTotals.aggregated.'$AmountMSTRounded')
แหล่งข้อมูลเพิ่มเติม
ภาพรวมการรายงานทางอิเล็กทรอนิกส์
ตัวออกแบบสูตรในการรายงานทางอิเล็กทรอนิกส์