SAP HANA Calculation View: ประเภทและวิธีการสร้าง
⚡ สรุปอย่างชาญฉลาด
มุมมองการคำนวณใน SAP HANA คือเครื่องมือแสดงข้อมูลที่มีประสิทธิภาพสูงสุด มันรวมตาราง มุมมองคอลัมน์ มุมมองวิเคราะห์ และมุมมองการคำนวณอื่นๆ เข้าด้วยกันผ่านโหนดการเชื่อมต่อ การรวม การฉายภาพ การรวมกลุ่ม และการจัดอันดับ

มุมมองการคำนวณคืออะไร
SAP มุมมองการคำนวณ HANA เป็นมุมมองข้อมูลอันทรงพลัง
SAP สามารถเลือกการวัดมุมมองการวิเคราะห์ของ HANA ได้จากตารางข้อเท็จจริงเพียงตารางเดียวเท่านั้น เมื่อจำเป็นต้องมีตารางข้อเท็จจริงเพิ่มเติมในมุมมองข้อมูล มุมมองการคำนวณก็เข้ามาช่วย มุมมองการคำนวณรองรับการคำนวณที่ซับซ้อน
รากฐานข้อมูลของมุมมองการคำนวณสามารถรวมตาราง มุมมองคอลัมน์ มุมมองการวิเคราะห์ และมุมมองการคำนวณ
เราสามารถสร้าง ร่วม, Unions, Aggregation และ Projections บนแหล่งข้อมูล
มุมมองการคำนวณสามารถมีหลายการวัดและสามารถใช้สำหรับการรายงานหลายมิติหรือไม่มีการวัดที่ใช้ในการรายงานประเภทรายการ
ลักษณะของ SAP มุมมองการคำนวณ HANA ดังด้านล่าง –
- รองรับการคำนวณที่ซับซ้อน
- รองรับรุ่น OLTP และ OLAP
- รองรับการจัดการลูกค้า ภาษา การแปลงสกุลเงิน
- สหภาพสนับสนุน การฉายภาพ การรวมกลุ่ม อันดับ ฯลฯ
SAP มุมมองการคำนวณ HANA มีสองประเภท –
- SAP มุมมองการคำนวณแบบกราฟิกของ HANA (สร้างโดย SAP โปรแกรมแก้ไขกราฟิก HANA Studio)
- SAP มุมมองการคำนวณตามสคริปต์ HANA (สร้างโดยสคริปต์ SQL โดย SAP ฮานะ สตูดิโอ).
มุมมองการคำนวณแบบกราฟิกเทียบกับแบบสคริปต์
รสชาติทั้งสองแบบให้ผลลัพธ์เป็นวัตถุประเภทเดียวกัน แต่มีกระบวนการสร้างและบำรุงรักษาที่แตกต่างกันมาก และเป็นการยากที่จะเปลี่ยนใจเมื่อได้เลือกแบบใดแบบหนึ่งไปแล้ว
| พารามิเตอร์ | กราฟิก | สคริปต์ |
|---|---|---|
| สร้างขึ้นด้วย | ลากและวางโหนดในโปรแกรมแก้ไข | SQLScript ในบล็อก CE_ หรือ SQL |
| การเพิ่มประสิทธิภาพ | เอนจินสามารถตัดโหนดที่ไม่ได้ใช้งานออกได้ในระหว่างการทำงาน | ทำงานตามที่เขียนไว้ มีโอกาสในการปรับแต่งน้อยลง |
| การอ่าน | แผนภาพสถานการณ์อธิบายตัวเองได้ | ขึ้นอยู่กับผู้เขียนโดยสิ้นเชิง |
| ความสามารถ | ครอบคลุมความต้องการส่วนใหญ่ | จัดการตรรกะที่การรวมกันของโหนดใดๆ ก็ไม่สามารถแสดงออกมาได้ |
| ซ่อมบำรุง | นักสร้างแบบจำลองคนไหนก็สามารถทำตามได้ | ต้องการผู้ที่มีทักษะด้าน SQLScript |
| แนะนำ | ตัวเลือกเริ่มต้น | เฉพาะในกรณีที่กราฟิกไม่สามารถทำได้จริง ๆ |
ประเด็นเรื่องประสิทธิภาพคือสิ่งสำคัญที่สุด การแสดงผลแบบกราฟิกช่วยให้ HANA สามารถตัดโหนดที่ไม่มีคอลัมน์ใดในผลลัพธ์ของแบบสอบถามต้องการได้ ดังนั้นการเชื่อมต่อที่ไม่ใช้งานจึงไม่เสียค่าใช้จ่ายใดๆ ในขณะที่การแสดงผลแบบสคริปต์จะรันทุกคำสั่งที่มีอยู่โดยไม่คำนึงถึงผลลัพธ์ เริ่มต้นด้วยการแสดงผลแบบกราฟิกก่อน แล้วค่อยย้ายโหนดเดียวไปยังสคริปต์เมื่อจำเป็นเท่านั้น
SAP มุมมองการคำนวณแบบกราฟิกของ HANA
In SAP มุมมองการวิเคราะห์ของ HANAเราสามารถเลือกหน่วยวัดได้จากตารางเดียวเท่านั้น
ดังนั้นเมื่อมีข้อกำหนดสำหรับมุมมองที่มีการวัดจากตารางที่แตกต่างกัน จะไม่สามารถทำได้ด้วยมุมมองการวิเคราะห์ แต่ด้วยมุมมองการคำนวณ
ดังนั้นในกรณีนี้ เราสามารถใช้มุมมองการวิเคราะห์ที่แตกต่างกันสองมุมมองสำหรับแต่ละตาราง และรวมมุมมองเหล่านั้นในมุมมองการคำนวณ
เรากำลังจะสร้างมุมมองการคำนวณแบบกราฟิก “CA_FI_LEDGER” โดยการรวมมุมมองวิเคราะห์ “AN_PURCHASE_ORDER” และ “AN_FI_DOCUMENT” สองมุมมองเข้าด้วยกัน
CA_FI_LEDGER จะแสดงรายละเอียดเอกสารทางการเงินที่เกี่ยวข้องกับใบสั่งซื้อ
ขั้นตอน 1) ในขั้นตอนนี้
- ไปที่แพ็คเกจ (ที่นี่ Modelling) และคลิกขวา
- เลือกตัวเลือกใหม่
- เลือกมุมมองการคำนวณ
ตัวแก้ไขมุมมองการคำนวณจะแสดงขึ้น โดยที่แผงสถานการณ์จะแสดงดังต่อไปนี้
รายละเอียดของแผง Scenario มีดังนี้ –
จานสี: ส่วนนี้ประกอบด้วยโหนดต่างๆ ที่สามารถใช้เป็นแหล่งข้อมูลในการสร้างมุมมองการคำนวณของเราได้ เรามีโหนดอยู่ 5 ประเภท ได้แก่
- เข้าร่วม: โหนดนี้ใช้เพื่อรวมวัตถุต้นทางสองรายการและส่งผลลัพธ์ไปยังโหนดถัดไป ประเภทการรวมสามารถเป็นแบบภายใน ด้านนอกซ้าย ด้านนอกขวา และการรวมข้อความ หมายเหตุ เราสามารถเพิ่มออบเจ็กต์ต้นทางได้เพียงสองรายการในโหนดการรวมเท่านั้น
- ยูเนี่ยน: ใช้เพื่อรวมการทำงานทั้งหมดระหว่างหลายแหล่ง แหล่งสามารถเป็นวัตถุได้ n จำนวน
- ฉาย: ใช้เพื่อเลือกคอลัมน์ กรองข้อมูล และสร้างคอลัมน์เพิ่มเติมก่อนที่เราจะใช้ในโหนดถัดไป เช่น ยูเนี่ยน การรวมกลุ่ม และอันดับ หมายเหตุ เราสามารถเพิ่มออบเจ็กต์ต้นทางได้เพียงรายการเดียวในโหนดการฉายภาพ
- การรวม: ใช้เพื่อดำเนินการรวมคอลัมน์เฉพาะตามคุณลักษณะที่เลือก
- Rank: นี่คือการแทนที่ที่แน่นอนสำหรับฟังก์ชัน RANK ใน SQL เราสามารถกำหนดพาร์ติชันและเรียงลำดับตามข้อตามความต้องการได้
ขั้นตอน 2)
- คลิกโหนดฉายภาพจากจานสีแล้วลากและวางไปยังพื้นที่สถานการณ์จำลองจากมุมมองการวิเคราะห์ใบสั่งซื้อ เปลี่ยนชื่อเป็น “Projection_PO”
- คลิกโหนดการฉายภาพจากจานสีแล้วลากและวางไปยังพื้นที่สถานการณ์สำหรับมุมมองการวิเคราะห์เอกสาร FI เปลี่ยนชื่อเป็น “Projection_FI”
- ลากและวางมุมมองการวิเคราะห์ “AN_PURCHASE_ORDER” และ “AN_FI_DOCUMENT” จากโฟลเดอร์ Content ไปยังโหนด “Projection_PO” และโหนด “Projection_FI” ตามลำดับ
- คลิกเข้าร่วมโหนดจาก Palette แล้วลากและวางไปยังพื้นที่สถานการณ์
- เข้าร่วมโหนด Projection_PO กับโหนด Join_1
- เข้าร่วมโหนด Projection_FI กับโหนด Join_1
- คลิกโหนดการรวมจากจานสีแล้วลากและวางไปยังพื้นที่สถานการณ์
- เข้าร่วมโหนด Join_1 กับโหนดการรวม
เราได้เพิ่มมุมมองการวิเคราะห์สองมุมมองสำหรับการสร้างมุมมองการคำนวณ
ขั้นตอน 3) คลิกที่โหนด Join_1 ภายใต้การรวมข้อมูล และคุณจะเห็นส่วนรายละเอียดแสดงขึ้นมา
- เลือกคอลัมน์ทั้งหมดจาก Projection_PO Node สำหรับเอาต์พุต
- เลือกคอลัมน์ทั้งหมดจากโหนด Projection_FI สำหรับเอาต์พุต
- เชื่อมโหนด Projection_PO กับโหนด Projection_FI โดยใช้คอลัมน์ Projection_PO.PO_Number = Projection_FI.PO_NO
ขั้นตอน 4) ในขั้นตอนนี้
- คลิกที่โหนดการรวม และรายละเอียดจะปรากฏที่ด้านขวาของบานหน้าต่าง
- เลือกคอลัมน์สำหรับเอาท์พุตจาก Join_1 ที่แสดงทางด้านขวาในหน้าต่างรายละเอียด
ขั้นตอน 5) ตอนนี้คลิกที่ Semantics Node
หน้าจอรายละเอียดจะแสดงดังด้านล่าง กำหนดแอตทริบิวต์และประเภทการวัดสำหรับคอลัมน์ และทำเครื่องหมายคีย์สำหรับผลลัพธ์นี้
- กำหนดคุณลักษณะและการวัด
- ทำเครื่องหมาย PO_Number และ COMPANY เป็นคีย์
- ทำเครื่องหมาย ACC_DOC_NO เป็นกุญแจ
ขั้นตอน 6) ตรวจสอบและเปิดใช้งานมุมมองการคำนวณจากแถบด้านบนของหน้าต่าง
- คลิกที่ไอคอนตรวจสอบ
- คลิกที่ไอคอนเปิดใช้งาน
มุมมองการคำนวณจะถูกเปิดใช้งานและจะแสดงภายใต้ Modeling Package ดังต่อไปนี้ –
เลือกมุมมองการคำนวณแล้วคลิกขวา -> ดูตัวอย่างข้อมูล
เราได้เพิ่มมุมมองการวิเคราะห์สองมุมมอง และเลือกการวัด (TAX_AMOUNT, GROSS_AMOUNT) จากมุมมองการวิเคราะห์ทั้งสอง
หน้าจอแสดงตัวอย่างข้อมูลจะแสดงดังต่อไปนี้ –
ฟังก์ชัน CE ในมุมมองแบบสคริปต์
⚠️ หมายเหตุเกี่ยวกับเวอร์ชัน: ตัวดำเนินการแผนของเอนจินการคำนวณ ฟังก์ชัน CE_ ที่อธิบายไว้ด้านล่างนี้ ถูกยกเลิกการใช้งานแล้ว SAPฟังก์ชันเหล่านี้ยังคงถูกบันทึกไว้ที่นี่เนื่องจากโค้ดที่มีอยู่จำนวนมากใช้ฟังก์ชันเหล่านี้ แต่การพัฒนาใหม่ควรใช้ SQL มาตรฐาน ซึ่งตัวปรับแต่งประสิทธิภาพในปัจจุบันสามารถจัดการได้ดีไม่แพ้กัน การผสมฟังก์ชัน CE_ และ SQL ในคำสั่งเดียวกันก็เป็นสาเหตุหนึ่งที่ทำให้แผนการทำงานไม่ดีเช่นกัน
ฟังก์ชัน CE หรือที่เรียกว่าแผนกลไกการคำนวณ Operaทอร์ (CE Operators) เป็นทางเลือกแทนคำสั่ง SQL
ฟังก์ชัน CE มีสองประเภท –
ฟังก์ชันการเข้าถึงแหล่งข้อมูล
ฟังก์ชันนี้ใช้สำหรับผูกตารางคอลัมน์หรือมุมมองคอลัมน์เข้ากับตัวแปรตาราง ด้านล่างนี้คือรายการฟังก์ชันการเข้าถึงแหล่งข้อมูลบางส่วน –
- CE_COLUMN_TABLE
- CE_JOIN_VIEW
- CE_OLAP_VIEW
- CE_CALC_VIEW
เชิงสัมพันธ์ Operaฟังก์ชันทอร์
โดยใช้เชิงสัมพันธ์ Operator ผู้ใช้สามารถข้าม SQL โปรเซสเซอร์ระหว่างการประเมินและสื่อสารกับเครื่องคำนวณโดยตรง ด้านล่างนี้คือตัวอย่างบางส่วนของฐานข้อมูลเชิงสัมพันธ์ Operaรายการฟังก์ชันของทอร์ –
- CE_JOIN (ใช้สำหรับทำการเชื่อมต่อภายในระหว่างสองแหล่งข้อมูล และอ่านคอลัมน์/ข้อมูลที่ต้องการ)
- CE_RIGHT_OUTER_JOIN (ใช้สำหรับทำการเชื่อมต่อแบบ Right Outer Join ระหว่างแหล่งข้อมูลสองแหล่ง และแสดงคอลัมน์ที่ถูกสืบค้นในผลลัพธ์)
- CE_LEFT_OUTER_JOIN (ใช้สำหรับทำการเชื่อมตารางแบบ Left Outer Join ระหว่างแหล่งข้อมูล และแสดงคอลัมน์ที่ถูกสืบค้นในผลลัพธ์)
- CE_PROJECTION (ฟังก์ชันนี้จะแสดงคอลัมน์ที่ระบุจากแหล่งข้อมูลและใช้ตัวกรองเพื่อจำกัดข้อมูล นอกจากนี้ยังมีคุณสมบัติการตั้งชื่อแทนคอลัมน์ด้วย)
- CE_CALC (ใช้สำหรับคำนวณคอลัมน์เพิ่มเติมตามความต้องการทางธุรกิจ ซึ่งเหมือนกับคอลัมน์คำนวณในแบบจำลองกราฟิก)
ด้านล่างเป็นรายการ SQL ด้วยฟังก์ชัน CE พร้อมตัวอย่างบางส่วน -
| ชื่อแบบสอบถาม | แบบสอบถาม SQL | CE-สร้างในฟังก์ชัน |
|---|---|---|
| เลือกแบบสอบถามบนตารางคอลัมน์ | เลือก C, D จาก “COLUMN_TABLE” | CE_COLUMN_TABLE(“COLUMN_TABLE”,[C,D]) |
| เลือกแบบสอบถามในมุมมองคุณลักษณะ | เลือก C, D จาก “ATTRIBUTE_VIEW” | CE_JOIN_VIEW(“ATTRIBUTE_VIEW”,[C,D]) |
| เลือกแบบสอบถามในมุมมองการวิเคราะห์ | เลือก C, D, SUM(E) จากกลุ่ม “ANALYTIC_VIEW” โดย C,D | CE_OLAP_VIEW(“ANALYTIC_VIEW”,[C,D]) |
| เลือกแบบสอบถามในมุมมองการคำนวณ | เลือก C, D, SUM(E) จากกลุ่ม “CALCULATION_VIEW” โดย C,D | CE_CALC_VIEW(“CALCULATION_VIEW”,[C,D]) |
| มีที่ไหน | SELECT C, D, SUM(E) From “ANALYTIC_VIEW” Where C = 'value' | var1 = CE_COLUMN_TABLE(“COLUMN_TABLE”); CE_PROJECTION(:var1,[C,D],'”C” = ”value”') |
ประเภทการแสดงผลการคำนวณ: มิติ, ลูกบาศก์ และลูกบาศก์ที่มีการเชื่อมต่อแบบดาว
ปัจจุบัน SAP ในเวอร์ชัน HANA ใหม่ จะมีการกำหนดหมวดหมู่ข้อมูลเมื่อสร้างมุมมองการคำนวณ และการเลือกหมวดหมู่ข้อมูลนี้จะเป็นตัวกำหนดว่ามุมมองนั้นสามารถทำอะไรได้บ้าง และเครื่องมือการรายงานจะจัดการกับมุมมองนั้นอย่างไร
| หมวดหมู่ข้อมูล | ประกอบด้วยมาตรการต่างๆ | Star เข้าร่วมได้เลย | แทนที่ |
|---|---|---|---|
| Dimension | ไม่ | ไม่ | มุมมองคุณลักษณะ |
| ลูกบาศก์ | มี (ใบกำกับภาษีเต็มรูปแบบ) | ไม่ | สถานการณ์การวิเคราะห์แบบง่ายๆ |
| ลูกบาศก์ที่มีข้อต่อรูปดาว | มี (ใบกำกับภาษีเต็มรูปแบบ) | มี (ใบกำกับภาษีเต็มรูปแบบ) | มุมมองเชิงวิเคราะห์ |
นี่คือเหตุผลที่โครงการปัจจุบันมักสร้างเฉพาะมุมมองการคำนวณเท่านั้น มุมมองของหมวดหมู่มิติทำหน้าที่แทน... การดูคุณลักษณะและ Cube ที่มี Star Join ทำหน้าที่แทน... มุมมองเชิงวิเคราะห์ดังนั้นประเภทวัตถุเดียวจึงครอบคลุมโมเดลทั้งหมด มุมมองคุณลักษณะและการวิเคราะห์ที่มีอยู่ยังคงใช้งานได้ และแนวคิดต่างๆ จะสอดคล้องกับหมวดหมู่ข้างต้นโดยตรง
เคล็ดลับการแสดงผลการคำนวณ
มุมมองการคำนวณมีความยืดหยุ่นมากพอที่จะสร้างได้อย่างไม่ดีนัก และสถานการณ์เดียวกันอาจใช้เวลาเพียงหนึ่งวินาทีหรือหนึ่งนาที ขึ้นอยู่กับการจัดเรียงโหนด กฎหกข้อครอบคลุมความแตกต่างส่วนใหญ่แล้ว
- ควรทำการกรองตั้งแต่เนิ่นๆ ใส่ตัวกรองในส่วนที่ฉายภาพใกล้กับแหล่งที่มามากที่สุด การกรองหลังจากรวมข้อมูลแล้วหมายความว่าชุดข้อมูลทั้งหมดถูกรวมเข้าด้วยกันก่อน จากนั้นจึงทิ้งข้อมูลส่วนใหญ่ไป
- ควรทำการรวบรวมข้อมูลก่อนทำการรวมเข้าด้วยกันหากเป็นไปได้ การรวมชุดข้อมูลรายละเอียดขนาดใหญ่สองชุดเข้าด้วยกันแล้วทำการรวมข้อมูลในภายหลัง จะทำให้จำนวนแถวที่เปลี่ยนแปลงไปมากกว่าการรวมข้อมูลแต่ละด้านก่อนเป็นอย่างมาก
- เลือกเฉพาะคอลัมน์ที่คุณต้องการ คอลัมน์ทุกคอลัมน์ที่ส่งผ่านโหนดจะถูกเก็บไว้ในหน่วยความจำตลอดการทำงาน และคอลัมน์ที่ไม่ได้ใช้งานจะขัดขวางการตัดแต่งโหนด
- ควรเลือกใช้ Union เพื่อรวมข้อมูลที่คล้ายคลึงกัน การนำข้อมูลจริงและแผนมาซ้อนกันเป็นการรวมกัน การแสดงผลในรูปแบบของการเชื่อมต่อจะทำให้จำนวนแถวเพิ่มขึ้น และจำเป็นต้องใช้ตัวกรองเพื่อแก้ไขผลที่เกิดขึ้น
- สังเกตจำนวนสมาชิกในการเชื่อมต่อ (join cardinality) การกำหนดตัวแปร 1..1 ในตำแหน่งที่ข้อมูลเป็น 1..N จะทำให้เกิดการซ้ำซ้อนของแถวและเพิ่มค่าการวัดทุกค่า ซึ่งเป็นสาเหตุที่พบบ่อยที่สุดที่ทำให้ผลรวมไม่ถูกต้อง
- หลีกเลี่ยงการซ้อนมุมมองลึกเกินไป การสร้าง Calculation View ซ้อน Calculation View ซ้อน Analytic View นั้นถูกต้องตามกฎ แต่ยากต่อการปรับให้เหมาะสมและยากต่อการแก้ไขข้อผิดพลาด โดยทั่วไปแล้ว สองระดับก็เพียงพอแล้ว
ใช้เครื่องมือวิเคราะห์ประสิทธิภาพในโปรแกรมแก้ไขแทนการคาดเดา วางแผนViz แสดงให้เห็นว่าโหนดใดใช้เวลามากที่สุด และคำตอบมักจะเป็นตัวกรองที่วางไว้ช้าไปหนึ่งโหนด แนวทางที่ครอบคลุมมากขึ้นได้อธิบายไว้ในส่วนต่อไป SAP การสร้างแบบจำลอง HANA บทช่วยสอน และทางเลือกเชิงขั้นตอนใน สคริปต์ SQL.








