ทำความเข้าใจเกี่ยวกับเวลาในการสรุปรวมไดเมนชันของแซนด์บ็อกซ์

ตามที่คุณกำหนดโมเดลในสถานการณ์ต่างๆ คุณจะต้องกำหนดว่าต้องการให้มีการคำนวณภายในแต่ละแซนด์บ็อกซ์หรือไม่

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

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

หากคุณจัดเก็บสมาชิกระดับบน ให้จำกัดขอบเขตการคำนวณแซนด์บ็อกซ์ไว้ที่ระดับต่ำสุดที่จำเป็นสำหรับการทำงานของผู้ใช้

ตัวอย่างเช่น: คำนวณสถานการณ์ต่างๆ ด้วยสมาชิกระดับบนแบบไดนามิค

ลำดับชั้นแบบไดนามิค (ทั้งแบบหนาแน่นและแบบพาร์ซ) จะสรุปรวมโดยอัตโนมัติ และผู้ใช้ที่ดำเนินการเปลี่ยนแปลงในแซนด์บ็อกซ์จะเห็นการเปลี่ยนแปลงดังกล่าวได้ทันที

โปรดดูที่ตัวอย่างจากแอปพลิเคชันสาธิตของพื้นที่เก็บข้อมูลบล็อค Sample_Scenario.Basic

สมมติว่าผลิตภัณฑ์และตลาดเป็นลำดับชั้นแบบไดนามิคที่มีข้อมูลที่จัดเก็บอยู่ในระบบศูนย์เท่านั้น และมีการสร้างสถานการณ์ขึ้นโดยใช้สมาชิกไดเมนชันของแซนด์บ็อกซ์ sb0

เมื่อมีการสร้างแซนด์บ็อกซ์ขึ้นใหม่ ค่าสำหรับ sb0 จะเหมือนกับค่าของพื้นฐาน เนื่องจากสมาชิกของแซนด์บ็อกซ์เป็นแบบเสมือน ซึ่งจะแสดงค่าพื้นฐานจนกว่าผู้ใช้จะส่งการเปลี่ยนแปลงค่าดังกล่าว


รูปภาพของสเปรดชีท Excel แสดงค่าสำหรับสมาชิกพืันฐานและ sb0 ของไดเมนชันของแซนด์บ็อกซ์ ค่าสำหรับสมาชิกทั้งสองรายการเหมือนกัน

หลังจากแก้ไขข้อมูล ยอดขาย->งบประมาณ->ม.ค.->Cola ในสมาชิก sb0 แล้ว เราจะสามารถเห็นได้ทันทีว่าสมาชิกของแซนด์บ็อกซ์แบบไดนามิค "ตะวันตก" (ใน D10) จะสรุปรวมเป็นยอดรวมที่ถูกต้องโดยใช้ค่าผสมของสมาชิกที่จัดเก็บไว้จากพื้นฐานและ sb0

ระบบจะจัดเก็บค่าสำหรับ Oregon, Utah และ Nevada ในสมาชิกของแซนด์บ็อกซ์พื้นฐาน มีการส่งค่าสำหรับ California และ Washington โดยผู้เข้าร่วมสถานการณ์ และระบบจะจัดเก็บไว้ในสมาชิกของแซนด์บ็อกซ์ sb0 ยอดรวมทั้งหมดสำหรับ ตะวันตก->Cola->sb0 จะสรุปรวมแบบไดนามิคโดยใช้ค่าที่จัดเก็บไว้เหล่านี้


รูปภาพของสเปรดชีท Excel แสดงค่าสำหรับสมาชิกพืันฐานและ sb0 ของไดเมนชันของแซนด์บ็อกซ์ ค่าต่างๆ จะเหมือนกัน ยกเว้น California และ Washington ซึ่งมีการเปลี่ยนแปลง

นอกจากนี้ คุณยังสามารถใช้สคริปต์การคำนวณในแซนด์บ็อกซ์ได้ สมมติว่า Oregon ได้รับการคาดหมายว่าจะได้รับงบประมาณ 80% ของ California สคริปต์การคำนวณต่อไปนี้สามารถดำเนินการดังนี้

FIX("Jan", "Budget", "Cola", "Sales")
"Oregon"="California"*.8;
ENDFIX

เมื่อผู้เข้าร่วมสถานการณ์เริ่มต้นเวิร์กชีท Excel จากเว็บอินเตอร์เฟซและรันการคำนวณนี้ ระบบจะใช้ sb0 เป็นสมาชิกของแซนด์บ็อกซ์ดีฟอลต์ที่มีการคำนวณ และมีการอัปเดตค่าสำหรับสมาชิก Oregon ดังนี้


รูปภาพของสเปรดชีท Excel แสดงค่าสำหรับสมาชิกพืันฐานและ sb0 ของไดเมนชันของแซนด์บ็อกซ์ ค่าต่างๆ จะเหมือนกัน ยกเว้น California และ Washington และ Oregon ซึ่งมีการเปลี่ยนแปลง ค่าสำหรับ Oregon คือ 720 และแสดงผลลัพธ์ของสคริปต์การคำนวณ

วิวนี้ไม่ได้มาจากชีทที่เริ่มต้นสถานการณ์ แต่มาจากวิวส่วนบุคคลของ Smart View โดยที่สามารถแสดงทั้งพื้นฐานและ sb0 บนชีทได้

ตัวอย่างเช่น: คำนวณสถานการณ์ต่างๆ ด้วยสมาชิกระดับบนที่จัดเก็บไว้

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

การดำเนินการต่อจากกริดล่าสุดของตัวอย่างก่อนหน้า สมมติว่ามีการจัดเก็บสมาชิกระดับบนในไดเมนชันตลาด แทนไดนามิค

หากเราเปลี่ยนค่าสำหรับ Oregon เป็น 250 ดังนั้น สมาชิกของ West จะต้องได้รับการคำนวณอีกครั้ง ก่อนที่เราจะเห็นผลลัพธ์ที่ถูกต้อง ดังนี้


รูปภาพของสเปรดชีท Excel แสดงค่าสำหรับสมาชิกพืันฐานและ sb0 ของไดเมนชันของแซนด์บ็อกซ์ ค่าต่างๆ จะเหมือนกัน ยกเว้น California และ Washington และ Oregon ซึ่งมีการเปลี่ยนแปลง ค่าสำหรับ Oregon คือ 250 ค่าทั้งหมดของ sb0 สำหรับพื้นที่ "ตะวันตก" คือ 2070

คุณสามารถใช้สคริปต์การคำนวณต่อไปนี้เพื่อสรุปรวมไดเมนชัน "ตลาด" ในแซนด์บ็อกซ์ เมื่อรันจากชีท Excel ที่เริ่มต้นสถานการณ์

AGG("Market");
รูปภาพของสเปรดชีท Excel แสดงค่าสำหรับสมาชิกพืันฐานและ sb0 ของไดเมนชันของแซนด์บ็อกซ์ ค่าต่างๆ จะเหมือนกัน ยกเว้น California และ Washington และ Oregon ซึ่งมีการเปลี่ยนแปลง ค่าสำหรับ Oregon คือ 250 ค่าทั้งหมดของ sb0 สำหรับพื้นที่ "ตะวันตก" คือ 1600