แชร์ผ่าน


ภาษาสูตรในการรายงานทางอิเล็กทรอนิกส์

การรายงานทางอิเล็กทรอนิกส์ (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 ของแบบจำลองข้อมูล

ตัวอย่างของพาธสัมบูรณ์บนหน้าตัวออกแบบการแม็ปแบบจำลอง ER

ตัวอย่างในภาพประกอบต่อไปนี้แสดงวิธีการใช้เส้นทางสัมพัทธ์ พาธสัมพัทธ์ @.AccountNum บ่งชี้ว่าฟิลด์ AccountNum ของแหล่งข้อมูล อินทราสแทต (ซึ่งจะปรากฏขึ้นหนึ่งระดับเหนือฟิลด์ AccountNum ในแผนภูมิลำดับชั้นของแบบจำลองข้อมูล) เพื่อใช้ป้อนหมายเลขบัญชีลูกค้าหรือผู้จัดจำหน่ายในฟิลด์ AccountNum ของแบบจำลองข้อมูล

ตัวอย่างของพาธสัมพัทธ์บนหน้าตัวออกแบบการแม็ปแบบจำลอง ER

ส่วนที่เหลือของพาธสัมบูรณ์จะแสดงใน ตัวแก้ไขสูตร ER ด้วย

ส่วนที่เหลือของพาธสัมบูรณ์บนหน้าโปรแกรมออกแบบสูตร 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') 

แหล่งข้อมูลเพิ่มเติม

ภาพรวมการรายงานทางอิเล็กทรอนิกส์

ตัวออกแบบสูตรในการรายงานทางอิเล็กทรอนิกส์

ขยายรายการฟังก์ชันการรายงานทางอิเล็กทรอนิกส์

ชนิดข้อมูลพื้นฐานที่รองรับ

ชนิดข้อมูลแบบรวมที่สนับสนุน