แนวทางปฏิบัติที่ดีที่สุดสำหรับการออกแบบรายงาน

หัวข้อนี้จะอธิบายถึงปัจจัยหลักที่ต้องพิจารณาเมื่อใช้ Application Studio ในการเขียนรายงานบนคิวบ์ OLAP

ข้อควรพิจารณาเกี่ยวกับส่วนหน้า

ตารางนี้แสดงข้อควรพิจารณาหลักสำหรับการออกแบบรายงานส่วนหน้า:

ข้อควรพิจารณา คำอธิบาย
รายงานของคุณมีไฮเปอร์บล็อกที่ซ้อนกันหรือไม่ รายงานที่อิงตามสไลซ์และที่มีการกรองไฮเปอร์บล็อก เช่น เพื่อไม่รวมค่าโมฆะ จะมีประสิทธิภาพดีกว่า มีเส้นโค้งการเรียนรู้ที่เชื่อมโยงกับการใช้สไลซ์และยังฟังก์ชันที่ต้องการบางอย่าง แต่ฟังก์ชันที่มีอยู่ก็ตอบสนองกรณีการใช้งานได้ 80%
รายงานจำเป็นต้องมีการเลื่อนแนวตั้งใช่หรือไม่ หากใช่ ให้รวมส่วนขยายเว็บการแบ่งหน้าในส่วนท้ายรายงานของคุณ ซึ่งจะช่วยปรับปรุงประสบการณ์ผู้ใช้และประสิทธิภาพการใช้งาน
รายงานมีการใช้การจัดรูปแบบตามเงื่อนไขใช่หรือไม่ การจัดรูปแบบตามเงื่อนไขเป็นคุณลักษณะที่มีประสิทธิภาพ แต่ควรใช้เท่าที่จำเป็น เนื่องจากจะส่งผลต่อประสิทธิภาพการทำงานเมื่อมีการประเมินเงื่อนไข คุณจะหลีกเลี่ยงการจัดรูปแบบตามเงื่อนไข เมื่อคุณใช้รูปแบบตัวเลขและอาศัยรูปแบบตัวเลขที่กำหนดไว้ในฐานข้อมูล Application Studio จัดคลัสเตอร์คำขอข้อมูลของสูตรที่ส่งไปยังฐานข้อมูล OLAP ผลลัพธ์คือคิวรีโดยรวมเพียงรายการเดียวแทนที่จะเป็นคิวรีเซลล์เดียวหลายรายการ คิวรีแบบมีการจัดคลัสเตอร์จะเร็วกว่าการเข้าถึงแบบเซลล์เดียว สูตรอ่านข้อมูลในรูปแบบเงื่อนไขและการข้ามรายงานไม่สามารถจัดคลัสเตอร์ได้ โดยจะมีการขอให้เป็นการร้องขอเซลล์เดียวเสมอ
รายงานสไตล์ชีตได้รับการออกแบบมาอย่างดีใช่หรือไม่ ให้คำนึงถึงความเรียบง่ายเมื่อพัฒนาสไตล์ชีตใหม่ และหากเป็นไปได้ อย่าเพิ่มเนื้อหาในสไตล์ชีตที่มีอยู่แล้ว จำนวนสไตล์จะเพิ่มขนาดของรายงาน
คุณได้ระบุการเลือกเริ่มต้นสำหรับเอนทิตีรายงานแล้วหรือไม่ รายงานจะโหลดเร็วขึ้น หากมีการจัดเก็บเอนทิตีที่ผู้ใช้มองเห็นล่าสุดไว้ ตัวอย่างเช่น หากรายงานโหลดในระดับเอนทิตีทั้งหมด ก็จะต้องดึงข้อมูลจำนวนมากขึ้น และรายงานก็จะใช้เวลาโหลดมากขึ้น
คุณกำลังใช้การควบคุมแบบไร้สถานะ เช่น ออบเจ็กต์ค้นหา แทนการควบคุมที่อิงตามมุมมองรายการใช่หรือไม่ การควบคุมที่อิงตามมุมมองรายการ เช่น กล่องคำสั่งผสม จะเรียกข้อมูลรายการองค์ประกอบในเวลาที่โหลดรายงาน การควบคุมแบบไม่มีสถานะจะไม่เรียกข้อมูลรายการองค์ประกอบ ซึ่งทำให้โหลดได้เร็วขึ้น
คุณทดสอบรายงานของคุณอย่างละเอียดถี่ถ้วนใช่หรือไม่ คุณสามารถสร้างรายงานที่เชื่อมโยงสตริงเพื่อให้ได้รหัสองค์ประกอบมา แต่หากคุณส่งการร้องขอไปยังเซิร์ฟเวอร์ OLAP สำหรับองค์ประกอบที่ไม่มีอยู่ คุณอาจเสี่ยงที่จะเกิดข้อผิดพลาดและหมดเวลาได้ การทดสอบควรคำนึงถึงการตั้งค่าความปลอดภัยของผู้ใช้ปลายทางเสมอ
ตัวกรองรายการ ตัวกรองบางประเภทจะช้ากว่าประเภทอื่น เช่น ตัวกรองคุณลักษณะจะช้ากว่าตัวกรองค่า โดยทั่วไปตัวกรองจะช้ากว่าการเลือกโครงสร้าง หลีกเลี่ยงพื้นที่ข้อมูลขนาดใหญ่ในตัวกรอง ยิ่งคุณเลือกองค์ประกอบต่อมิติมากขึ้นเท่าใด ตัวกรองก็จะยิ่งทำงานช้าลงเท่านั้น
การดำเนินการส่วนกลาง ลองพิจารณาใช้การดำเนินการส่วนกลางเพื่อใช้เวลาการคำนวณจากรายงานเดี่ยว การดำเนินการส่วนกลางจะทำงานระหว่างที่ผู้ใช้เข้าสู่ระบบ หลังจากสร้างรุ่นที่เก็บแล้ว และก่อนที่จะสร้างเอ็นจิ้นใดๆ ค่าตัวแปรส่วนกลางได้รับตั้งค่าแล้วก่อนที่รายงานใดก็ตามจะเริ่มต้นโหลด
ตัวแปรรายงาน หลีกเลี่ยงการมีสตริงขนาดใหญ่ในตัวแปร

ข้อควรพิจารณาด้านส่วนหลัง สภาพแวดล้อม และความสัมพันธ์ระหว่างบุคคล

ในโครงการที่ประสบความสำเร็จนั้น จะมีลูปข้อเสนอแนะระหว่างผู้พัฒนารายงานกับผู้เขียนคิวบ์ การออกแบบคิวบ์ที่ไม่ดีอาจเป็นปัจจัยสำคัญที่สุดที่ทำให้ประสิทธิภาพลดลง ตารางนี้แสดงให้เห็นปัจจัยสำคัญที่ต้องพิจารณา:

ข้อควรพิจารณา คำอธิบาย
การเขียนและการทดสอบรายงานด้วยการตั้งค่าข้อมูลที่สมจริง รายงานที่มิติรวมองค์ประกอบสูงสุด 30 รายการและคิวบ์รวมจุดข้อมูลหลายร้อยรายการอาจทำงานได้ดี แต่ยากต่อการบำรุงรักษา เนื่องจากมีการตั้งค่าข้อมูลขนาดใหญ่ การทดสอบโดยใช้ชุดข้อมูลที่สมจริงถือเป็นสิ่งสำคัญ
การเขียนกฎ OLAP ที่ถูกต้อง ตัวอย่างกฎที่เขียนไม่ดี: [รายได้] = [ราคา] * [ปริมาณ] หรือ [บัญชี 1] = [Account2} + [Account3] + [Account4] ทำความคุ้นเคยกับแนวทางปฏิบัติที่ดีที่สุดในการเขียนกฎ OLAP ดูแนวทางในเอกสารออนไลน์
มิติที่มีโครงสร้างไม่ดี พิจารณามิติผลิตภัณฑ์ที่มีองค์ประกอบสำคัญของผลิตภัณฑ์ทั้งหมด แต่มีรายการย่อย 10,000 รายการ ในบางจุด ผู้ใช้มีแนวโน้มที่จะกระตุ้นการร้องขอไปยังเซิร์ฟเวอร์ OLAP ซึ่งจำเป็นต้องดึงข้อมูลองค์ประกอบทั้งหมด และอาจต้องแสดงด้วย ระดับกลางทำให้รายงานตามลำดับขั้นมีประสิทธิภาพมากขึ้น
จำนวนผู้ใช้งานสูง หลีกเลี่ยงการเปลี่ยนแปลงมิติในช่วงเวลาทำการเมื่อมีผู้ใช้งานออนไลน์มากที่สุด
ขาดองค์ประกอบหลักในมิติ เช่น องค์ประกอบรวมของปี รายงานที่เรียกข้อมูลรายวันในคอลัมน์ที่ซ่อนอยู่เพื่อนำมารวมกันและแสดงเป็นผลรวมตลอดทั้งปีนั้น จะช้ากว่ารายงานที่คำนวณผลรวมในฐานข้อมูล OLAP มาก
คุณลักษณะการใช้คุณลักษณะในทางที่ผิด คุณสามารถกำหนดคุณลักษณะและใช้กรองรายงานได้อย่างอิสระ แต่รายงานที่ผ่านการกรองแล้วจะมีประสิทธิภาพน้อยกว่าลำดับขั้นซึ่งจัดกลุ่มองค์ประกอบตามค่าคุณลักษณะที่เป็นไปได้
ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ OLAP มี RAM เพียงพอ OLAP เป็นฐานข้อมูลในหน่วยความจำ การเขียนคิวรีที่ไม่ดีอาจใช้ RAM จำนวนมาก หากเซิร์ฟเวอร์ OLAP ของคุณกำลังแบ่งหน้า คุณอาจพบกับประสิทธิภาพการใช้งานที่ไม่ดี
อย่าใส่ข้อมูลการทำธุรกรรมลงในคิวบ์ Infor OLAP ได้รับการปรับปรุงสำหรับการรายงานระดับงบดุล คุณสามารถสร้าง รายงาน ที่ไม่ได้ทำงานโดยไม่ถูก แอปพลิเคชัน ป้องกันได้ ตัวอย่างเช่น คุณสามารถสร้างคิวบ์โดยละเอียดบนไฟล์บรรทัดคำสั่งซื้อได้ แต่มีแนวโน้มว่าจะทำงานได้ไม่มีประสิทธิภาพ
การเขียนรายงานที่ไม่ดีเป็นการแก้ไขปัญหาระยะสั้น ต้านทานแรงกดดันต่อโครงการ เพื่อทำสิ่งที่อาจก่อให้เกิดรายงานที่ไม่ได้ประสิทธิภาพ เขียนข้อกังวลของคุณลงไปและเสนอทางเลือกอื่นๆ
อย่าเก็บเลขศูนย์ไว้ในคิวบ์ของคุณ ศูนย์เป็นตัวเลขที่ต้องเก็บไว้ในหน่วยความจำ OLAP และต้องมีการประเมินในการคำนวณกฎขณะที่การใช้ค่าว่างเป็นทางเลือกไม่มีความจำเป็น คุณสามารถสร้างกระบวนการ Application Engine ที่สามารถแทนที่เลขศูนย์ในคิวบ์ด้วยค่าว่างได้
จุดที่ดีที่สุดในการคำนวณ ทั้งนี้ขึ้นอยู่กับหลายปัจจัย เช่น ความถี่ที่ต้องการค่าที่คำนวณได้ ต่อไปนี้คือตัวเลือกตัวอย่างสำหรับการคำนวณ โดยเรียงตามลำดับความชอบ:
  • ในระบบแหล่งที่มา
  • เป็นส่วนหนึ่งของกระบวนการโหลดข้อมูล
  • คำนวณและเก็บไว้ใน OLAP โดย Application Engine
  • ใน OLAP โดยใช้กฎแบบไดนามิก
  • เป็นการคำนวณ (สมาชิกเซสชัน) ในที่เก็บของคุณ
  • ใน Application Studio เป็นส่วนหนึ่งของรายงาน
ตั้งค่าองค์ประกอบค่าเริ่มต้นที่เฉพาะเจาะจง หากคุณไม่ได้เลือกองค์ประกอบค่าเริ่มต้นที่เฉพาะเจาะจงสำหรับมิติแบบลำดับขั้น องค์ประกอบสำคัญ จะได้รับการเลือกเป็นค่าเริ่มต้น จะต้องใช้เวลามากขึ้นในการรีเซ็ตองค์ประกอบค่าเริ่มต้น ขณะนี้องค์ประกอบค่าเริ่มต้นได้รับการตั้งค่าในคุณสมบัติที่ถูกขยายของมิติ
การใช้งานอินเทอร์เฟซ XML ช้ากว่าการสื่อสารผ่านอินเทอร์เฟซในตัวในเวอร์ชัน 11 หากต้องเพิ่มความเร็วในการสื่อสาร เราขอแนะนำว่าคุณไม่ควรอ่านค่าด้วยการร้องขอแบบเซลล์เดียว แต่ควรใส่ค่าเหล่านั้นลงในการร้องขอไปยัง OLAP อย่างน้อยหนึ่งรายการ ซึ่งสามารถทำได้ด้วยด้วยการร้องขออ่านคิวบ์โดยการเพิ่มแท็ก CellCoordinate หลายรายการ
ใช้การแบ่งหน้าฝั่งเซิร์ฟเวอร์ในการสร้างรายงานเพื่อคิวรีเฉพาะค่าที่มองเห็นได้เท่านั้น การแบ่งหน้าในหน้าไฮเปอร์บล็อกจะอยู่ที่ด้านไคลเอนต์ เซลล์ทั้งหมดเป็นข้อมูลส่งกลับมาจากเซิร์ฟเวอร์ แต่มีการวาดเฉพาะหน้าเท่านั้น

ในรายการ OLAP ให้ใช้ฟังก์ชันเซตย่อยจัดการหน้าบนฝั่งเซิร์ฟเวอร์

ในรายการเชิงสัมพันธ์ ให้ใช้วิธีการขั้นสูงในการคิวรีสร้างเซ็ตย่อย

กรองคิวรีของคุณเพื่อให้แน่ใจว่าคุณไม่ได้คิวรีองค์ประกอบทั้งหมดจากมิติ ใช้การตัดค่าว่างเพื่อแสดงเฉพาะเซลล์ที่ได้รับการเติมแล้วเท่านั้น แสดงองค์ประกอบทั้งหมดภายใต้รายการหลักใดก็ตามแทนที่จะเป็นมิติทั้งหมด ลดระดับการขยายเริ่มต้นในสไลซ์และรายการ
หลีกเลี่ยงการใส่มิติจำนวนมากให้แก่แกน จำนวนที่เหมาะสมคือสามมิติต่อแกนแถว และหนึ่งมิติต่อแกนคอลัมน์