เมื่อคุณทํางานกับข้อมูลใน Power Pivot คุณอาจต้องรีเฟรชข้อมูลจากแหล่งข้อมูล คํานวณสูตรใหม่ในคอลัมน์จากการคํานวณ หรืออัปเดต PivotTable ที่ใช้ตัวแบบข้อมูล
บทความนี้อธิบายความแตกต่างระหว่างการรีเฟรชข้อมูลและการคํานวณใหม่ ให้ภาพรวมของวิธีการทริกเกอร์การคํานวณใหม่ และอธิบายตัวเลือกของคุณในการควบคุมการคํานวณใหม่
ทําความเข้าใจการรีเฟรชข้อมูลกับการคํานวณใหม่
Power Pivot จะใช้ทั้งการรีเฟรชข้อมูลและการคํานวณใหม่ ดังนี้
การรีเฟรชข้อมูล หมายถึงการรับข้อมูลล่าสุดจากแหล่งข้อมูลภายนอก Power Pivot จะไม่ตรวจหาการเปลี่ยนแปลงในแหล่งข้อมูลภายนอกโดยอัตโนมัติ เมื่อต้องการนําข้อมูลที่อัปเดตเข้ามา ให้รีเฟรชตัวแบบข้อมูล
การคํานวณใหม่ หมายถึงการอัปเดตคอลัมน์ ตาราง แผนภูมิ และ PivotTable ทั้งหมดในเวิร์กบุ๊กของคุณที่มีสูตร เนื่องจากการคํานวณสูตรใหม่จะส่งผลต่อประสิทธิภาพการทํางาน จึงเป็นสิ่งสําคัญที่จะทําความเข้าใจเกี่ยวกับความสัมพันธ์ที่เกี่ยวข้องกับการคํานวณแต่ละครั้ง
สำคัญ
ไม่บันทึกหรือประกาศเวิร์กบุ๊กจนกว่าจะมีการคํานวณสูตรใหม่
การคํานวณใหม่ด้วยตนเองเทียบกับการคํานวณใหม่
ตามค่าเริ่มต้น Power Pivot จะคํานวณใหม่โดยอัตโนมัติตามที่ต้องการในขณะที่ปรับเวลาที่จําเป็นสําหรับการประมวลผลให้เหมาะสมที่สุด แม้ว่าการคํานวณใหม่อาจใช้เวลา แต่ก็เป็นงานที่สําคัญ ในระหว่างการคํานวณใหม่ Power Pivot จะตรวจสอบการขึ้นต่อกันของคอลัมน์และแจ้งให้คุณทราบถ้ามีการเปลี่ยนแปลง ถ้าข้อมูลไม่ถูกต้อง หรือถ้ามีข้อผิดพลาดปรากฏขึ้นในสูตรที่เคยใช้ได้ อย่างไรก็ตาม คุณสามารถเลือกที่จะละทิ้งการตรวจสอบความถูกต้องและอัปเดตการคํานวณด้วยตนเองเท่านั้น โดยเฉพาะอย่างยิ่งถ้าคุณกําลังทํางานกับสูตรที่ซับซ้อนหรือชุดข้อมูลที่มีขนาดใหญ่มาก และต้องการควบคุมเวลาของการอัปเดต
ทั้งโหมดแมนนวลและอัตโนมัติมีข้อดี อย่างไรก็ตาม ให้ใช้โหมดการคํานวณใหม่อัตโนมัติ โหมดนี้จะซิงโครไนซ์ Metadata ของ Power Pivot และป้องกันปัญหาที่เกิดจากการลบข้อมูล การเปลี่ยนชื่อหรือชนิดข้อมูล หรือการขึ้นต่อกันที่ขาดหายไป
การใช้การคํานวณใหม่อัตโนมัติ
เมื่อคุณใช้โหมดการคํานวณใหม่อัตโนมัติ การเปลี่ยนแปลงข้อมูลใดๆ ที่จะทําให้ผลลัพธ์ของสูตรใดๆ มีการเปลี่ยนแปลงจะทริกเกอร์การคํานวณใหม่ทั้งหมดของคอลัมน์ที่มีสูตร การเปลี่ยนแปลงต่อไปนี้จําเป็นต้องมีการคํานวณสูตรใหม่เสมอ
- ค่าจากแหล่งข้อมูลภายนอกจะถูกรีเฟรช
- เปลี่ยนข้อกําหนดของสูตร
- ชื่อของตารางหรือคอลัมน์ที่ถูกอ้างอิงในสูตรจะเปลี่ยนแปลง
- ความสัมพันธ์ระหว่างตารางจะถูกเพิ่ม ปรับเปลี่ยน หรือลบ
- หน่วยวัดหรือคอลัมน์จากการคํานวณใหม่จะถูกเพิ่ม
- จะมีการเปลี่ยนแปลงสูตรอื่นๆ ภายในเวิร์กบุ๊ก ดังนั้นควรรีเฟรชคอลัมน์หรือการคํานวณที่ขึ้นอยู่กับการคํานวณนั้น
- แถวถูกแทรกหรือถูกลบ
- คุณได้ใช้ตัวกรองที่ต้องมีการดําเนินการคิวรีเพื่ออัปเดตชุดข้อมูล ตัวกรองสามารถนําไปใช้ในสูตรหรือเป็นส่วนหนึ่งของ PivotTable หรือ PivotChart
การใช้การคํานวณใหม่ด้วยตนเอง
ใช้การคํานวณใหม่ด้วยตนเองเพื่อหลีกเลี่ยงการคิดต้นทุนในการคํานวณผลลัพธ์ของสูตรจนกว่าคุณจะพร้อม โหมดแมนนวลมีประโยชน์เป็นพิเศษในสถานการณ์เหล่านี้:
- คุณกําลังออกแบบสูตรโดยใช้เทมเพลต และต้องการเปลี่ยนชื่อของคอลัมน์และตารางที่ใช้ในสูตรก่อนที่คุณจะตรวจสอบความถูกต้อง
- คุณทราบว่าข้อมูลบางอย่างในเวิร์กบุ๊กมีการเปลี่ยนแปลง แต่คุณกําลังทํางานกับคอลัมน์อื่นที่ไม่มีการเปลี่ยนแปลง คุณจึงต้องการเลื่อนการคํานวณใหม่ออกไป
- คุณกําลังทํางานในเวิร์กบุ๊กที่มีการขึ้นต่อกันจํานวนมาก และต้องการเลื่อนการคํานวณใหม่ออกไปจนกว่าคุณจะแน่ใจว่าทําการเปลี่ยนแปลงที่จําเป็นทั้งหมดแล้ว
ถ้าคุณตั้งค่าเวิร์กบุ๊กเป็นโหมดการคํานวณด้วยตนเอง Power Pivot ใน Excel จะไม่ทําการตรวจสอบหรือการตรวจสอบสูตรใดๆ ผลลัพธ์ต่อไปนี้เกิดขึ้น:
- สูตรใหม่ที่คุณเพิ่มลงในเวิร์กบุ๊กจะถูกตั้งค่าสถานะเป็นมีข้อผิดพลาด
- ไม่มีผลลัพธ์ปรากฏในคอลัมน์จากการคํานวณใหม่
เมื่อต้องการกําหนดค่าเวิร์กบุ๊กสําหรับการคํานวนใหม่ด้วยตนเอง
- ใน Power Pivot ให้เลือก ออกแบบ>การคํานวณ>ตัวเลือกการคํานวณ>โหมดการคํานวณด้วยตนเอง
- เมื่อต้องการคํานวณตารางทั้งหมดใหม่ ให้เลือกตัวเลือกการคํานวณ>คํานวณเดี๋ยวนี้
เวิร์กบุ๊กจะตรวจสอบสูตรเพื่อหาข้อผิดพลาด และอัปเดตตารางด้วยผลลัพธ์ เวิร์กบุ๊กอาจไม่ตอบสนองชั่วคราว ทั้งนี้ขึ้นอยู่กับจํานวนข้อมูลและจํานวนของการคํานวณ
สำคัญ
ก่อนที่คุณจะประกาศเวิร์กบุ๊ก ให้เปลี่ยนโหมดการคํานวณกลับไปเป็นอัตโนมัติ การเปลี่ยนแปลงนี้ช่วยป้องกันปัญหาเมื่อออกแบบสูตร
การแก้ไขปัญหาการคํานวณใหม่
การขึ้นต่อกัน
เมื่อคอลัมน์ขึ้นกับคอลัมน์อื่น และเนื้อหาของคอลัมน์นั้นเปลี่ยนแปลงไป คุณอาจต้องคํานวณคอลัมน์ที่เกี่ยวข้องทั้งหมดใหม่ เมื่อใดก็ตามที่คุณทําการเปลี่ยนแปลงเวิร์กบุ๊ก Power Pivot Power Pivot ใน Excel จะวิเคราะห์ข้อมูล Power Pivot ที่มีอยู่เพื่อกําหนดว่าจําเป็นต้องมีการคํานวณใหม่หรือไม่ และจะดําเนินการอัปเดตด้วยวิธีที่มีประสิทธิภาพสูงสุด
ตัวอย่างเช่น สมมติว่าคุณมีตาราง Sales ซึ่งเกี่ยวข้องกับตาราง Product และ ProductCategory และสูตรในตาราง ยอดขาย จะขึ้นอยู่กับตารางอื่นๆ ทั้งสองตาราง การเปลี่ยนแปลงใดๆ กับตาราง Product หรือ ProductCategory จะทําให้คอลัมน์จากการคํานวณทั้งหมดในตาราง ยอดขาย ถูกคํานวณใหม่ ลักษณะการทํางานนี้สมเหตุสมผลเมื่อคุณพิจารณาว่าคุณอาจมีสูตรที่รวมยอดขายตามประเภทหรือตามผลิตภัณฑ์ เพื่อให้แน่ใจว่าผลลัพธ์ถูกต้อง คุณต้องคํานวณสูตรใหม่โดยยึดตามข้อมูล
Power Pivot จะทําการคํานวณใหม่ทั้งหมดสําหรับตารางเสมอ เนื่องจากการคํานวณใหม่ทั้งหมดมีประสิทธิภาพมากกว่าการตรวจสอบค่าที่เปลี่ยนแปลง การเปลี่ยนแปลงที่ทริกเกอร์การคํานวณใหม่อาจรวมถึงการเปลี่ยนแปลงที่สําคัญ เช่น การลบคอลัมน์ การเปลี่ยนชนิดข้อมูลตัวเลขของคอลัมน์ หรือการเพิ่มคอลัมน์ใหม่ อย่างไรก็ตาม การเปลี่ยนแปลงที่ดูเหมือนเล็กน้อย เช่น การเปลี่ยนชื่อคอลัมน์ อาจทริกเกอร์การคํานวณใหม่ได้เช่นกัน ลักษณะดังกล่าวเกิดขึ้นเนื่องจากชื่อของคอลัมน์ถูกใช้เป็นตัวระบุในสูตร
ในบางกรณี Power Pivot จะกําหนดว่าสามารถแยกคอลัมน์ออกจากการคํานวณใหม่ได้ ตัวอย่างเช่น ถ้าคุณมีสูตรที่ค้นหาค่า เช่น [สีผลิตภัณฑ์] จากตารางผลิตภัณฑ์ และคอลัมน์ที่คุณเปลี่ยนแปลงคือ [ปริมาณ] ในตารางยอดขาย คุณก็ไม่จําเป็นต้องคํานวณสูตรดังกล่าวอีกครั้งแม้ว่าตารางยอดขายและผลิตภัณฑ์จะสัมพันธ์กันก็ตาม อย่างไรก็ตาม ถ้าคุณมีสูตรใดๆ ที่ขึ้นอยู่กับ Sales[Quantity] คุณจําเป็นต้องมีการคํานวณใหม่
ลําดับของการคํานวณใหม่สําหรับคอลัมน์ที่อ้างถึง
Power Pivot จะคํานวณการขึ้นต่อกันก่อนที่จะคํานวณคอลัมน์ใหม่ ถ้ามีหลายคอลัมน์ขึ้นต่อกัน Power Pivot จะทําตามลําดับของการขึ้นต่อกัน ลําดับนี้ทําให้แน่ใจว่า Power Pivot ประมวลผลคอลัมน์ตามลําดับที่ถูกต้องและด้วยความเร็วสูงสุด
ธุรกรรม
การดําเนินการที่คํานวณใหม่หรือรีเฟรชข้อมูลจะเกิดขึ้นในรูปแบบทรานแซคชัน ถ้าส่วนใดส่วนหนึ่งของการดําเนินการรีเฟรชล้มเหลว การดําเนินการที่เหลือจะย้อนกลับ ลักษณะการทํางานนี้ช่วยให้แน่ใจว่าข้อมูลจะไม่ตกอยู่ในสถานะที่ประมวลผลบางส่วน คุณไม่สามารถจัดการธุรกรรมเหมือนกับที่คุณทําในฐานข้อมูลเชิงสัมพันธ์ และคุณไม่สามารถสร้างจุดตรวจสอบได้
การคํานวณฟังก์ชันที่เปลี่ยนแปลงได้ใหม่
บางฟังก์ชัน เช่น NOW, หรือ RANDTODAY, ไม่มีค่าคงที่ เพื่อหลีกเลี่ยงปัญหาด้านประสิทธิภาพการทํางาน การดําเนินการคิวรีหรือการกรองมักจะไม่ทําให้ Power Pivot ประเมินฟังก์ชันเหล่านี้ใหม่ถ้าคุณใช้ฟังก์ชันในคอลัมน์จากการคํานวณ Power Pivot จะคํานวณผลลัพธ์ใหม่สําหรับฟังก์ชันเหล่านี้ก็ต่อเมื่อ Power Pivot คํานวณทั้งคอลัมน์ใหม่เท่านั้น สถานการณ์เหล่านี้ ได้แก่ การรีเฟรชจากแหล่งข้อมูลภายนอกหรือการแก้ไขข้อมูลด้วยตนเองทําให้เกิดการประเมินสูตรที่มีฟังก์ชันเหล่านี้ใหม่อีกครั้ง อย่างไรก็ตาม ถ้าคุณใช้ฟังก์ชันที่เปลี่ยนแปลงได้ เช่น NOW, , RANDหรือ TODAY ในข้อกําหนดของเขตข้อมูลจากการคํานวณ Power Pivot จะคํานวณใหม่เสมอ