จัดการโหมดที่เก็บข้อมูลใน Power BI Desktop
ใน Microsoft Power BI Desktop คุณสามารถระบุโหมดที่เก็บข้อมูลของตารางได้ โหมดที่เก็บข้อมูลช่วยให้คุณสามารถควบคุมว่า Power BI Desktop แคชข้อมูลตารางในหน่วยความจําสําหรับรายงานหรือไม่ การแคชหมายถึงการจัดเก็บข้อมูลชั่วคราวในหน่วยความจํา
การตั้งค่าโหมดที่เก็บข้อมูลมีข้อดีหลายอย่าง คุณสามารถตั้งค่าโหมดที่เก็บข้อมูลสําหรับแต่ละตารางแยกต่างหากในโมเดลของคุณได้ การดําเนินการนี้จะเปิดใช้งานแบบจําลองความหมายเดียวซึ่งมีประโยชน์ดังต่อไปนี้:
ประสิทธิภาพคิวรี : เมื่อผู้ใช้โต้ตอบกับวิชวลในรายงาน Power BI คิวรี Data Analysis Expressions (DAX) จะถูกส่งไปยังแบบจําลองความหมาย การแคชข้อมูลลงในหน่วยความจําด้วยการตั้งค่าโหมดที่เก็บข้อมูลอย่างเหมาะสมสามารถเพิ่มประสิทธิภาพคิวรีและการโต้ตอบของรายงานได้
แบบจําลองความหมายขนาดใหญ่: ตารางที่ไม่ได้ถูกแคชจะไม่ใช้หน่วยความจําเพื่อวัตถุประสงค์ในการแคช คุณสามารถเปิดใช้งานการวิเคราะห์แบบโต้ตอบผ่านแบบจําลองความหมายขนาดใหญ่ที่มีขนาดใหญ่หรือแพงเกินไปที่จะแคชลงในหน่วยความจําโดยสมบูรณ์ คุณสามารถเลือกว่าตารางใดที่ควรแคชและตารางใดที่ไม่ควร
การปรับการรีเฟรชข้อมูลให้เหมาะสม: คุณไม่จําเป็นต้องรีเฟรชตารางที่ไม่ได้ถูกแคช คุณสามารถลดเวลารีเฟรชได้โดยการแคชเฉพาะข้อมูลที่จําเป็นต่อการทําตามข้อตกลงระดับบริการและข้อกําหนดทางธุรกิจของคุณ
ข้อกําหนดแบบ Near Real Time: ตารางที่มีข้อกําหนดแบบ Near Real Time อาจได้รับประโยชน์จากการไม่ถูกแคช เพื่อลดเวลาแฝงของข้อมูล
การเขียนกลับ : การเขียนกลับ ช่วยให้ผู้ใช้ทางธุรกิจสามารถสํารวจสถานการณ์แบบ What-If ด้วยการเปลี่ยนแปลงค่าเซลล์ แอปพลิเคชันแบบกําหนดเองสามารถทําการเปลี่ยนแปลงไปยังแหล่งข้อมูลได้ ตารางที่ไม่ได้ถูกแคชสามารถแสดงการเปลี่ยนแปลงได้ทันที ซึ่งช่วยให้ทําการวิเคราะห์ผลกระทบได้ทันที
การตั้งค่าโหมดที่เก็บข้อมูลใน Power BI Desktop เป็นหนึ่งในสามคุณลักษณะที่เกี่ยวข้อง:
แบบจําลองแบบรวม: อนุญาตให้รายงานมีการเชื่อมต่อข้อมูลตั้งแต่สองแบบขึ้นไป รวมถึงการเชื่อมต่อ DirectQuery หรือการนําเข้าในรูปแบบใดๆ ก็ตาม สําหรับข้อมูลเพิ่มเติม โปรดดู ใช้โมเดลแบบรวมใน Power BI Desktop
ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม : ด้วยโมเดลแบบรวม คุณสามารถสร้าง ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มระหว่างตารางได้ ในความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม จะมีการลบข้อกําหนดสําหรับค่าที่ไม่ซ้ํากันในตาราง นอกจากนี้ยังเอาการแก้ปัญหาชั่วคราวก่อนหน้าออกด้วย เช่น การเริ่มตารางใหม่เพื่อสร้างความสัมพันธ์เท่านั้น สําหรับข้อมูลเพิ่มเติม โปรดดู ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มในPower BI Desktop โหมดที่เก็บข้อมูล: ด้วยโหมดที่เก็บข้อมูล คุณสามารถระบุวิชวลที่ต้องการคิวรีไปยังแหล่งข้อมูลส่วนหลังได้ วิชวลที่ไม่จําเป็นต้องมีคิวรีจะถูกนําเข้าแม้ว่าจะอิงตาม DirectQuery คุณลักษณะนี้จะช่วยปรับปรุงประสิทธิภาพและลดการโหลดระบบ Back-end ก่อนหน้านี้ แม้กระทั่งวิชวลพื้นฐาน อย่างตัวแบ่งส่วนข้อมูล ก็เริ่มคิวรีที่ถูกส่งไปยังแหล่งระบบ Back-end
ใช้คุณสมบัติโหมดที่เก็บข้อมูล
โหมดที่เก็บข้อมูล คุณสมบัติ เป็นคุณสมบัติที่คุณสามารถตั้งค่าได้สําหรับแต่ละตารางในแบบจําลองของคุณ และควบคุมวิธีที่ Power BI แคชข้อมูลตาราง
ในการตั้งค่าโหมดที่เก็บข้อมูล คุณสมบัติ หรือดูการตั้งค่าปัจจุบัน:
ในมุมมอง แบบจําลอง ให้เลือกตารางที่มีคุณสมบัติที่คุณต้องการดูหรือตั้งค่า
ในบานหน้าต่าง คุณสมบัติ
ขยายส่วน ขั้นสูงของ และขยาย ดรอปดาวน์โหมดที่เก็บข้อมูล
คุณตั้งค่าโหมดที่เก็บข้อมูล คุณสมบัติเป็นหนึ่งในสามค่าต่อไปนี้:
นําเข้า: ตารางนําเข้าที่มีการตั้งค่านี้จะถูกแคช คิวรีที่ส่งไปยังแบบจําลองความหมาย Power BI ที่ส่งกลับข้อมูลจากตารางนําเข้าสามารถเติมเต็มได้จากข้อมูลแคชเท่านั้น
DirectQuery : ตารางที่มีการตั้งค่านี้จะไม่ถูกแคช คิวรีที่ส่งไปยังแบบจําลองความหมายของ Power BI เช่น คิวรี DAX และที่ส่งกลับข้อมูลจากตาราง DirectQuery สามารถเติมเต็มได้โดยการดําเนินการคิวรีตามคําขอไปยังแหล่งข้อมูลเท่านั้น คิวรีที่ส่งไปยังแหล่งข้อมูลจะใช้ภาษาคิวรีสําหรับแหล่งข้อมูลนั้นๆ เช่น SQL
Dual: ตารางที่มีการตั้งค่านี้สามารถแคชหรือไม่แคชก็ได้ ขึ้นอยู่กับบริบทของคิวรีที่ส่งไปยังแบบจําลองความหมาย Power BI ในบางกรณี คุณเติมเต็มคิวรีจากข้อมูลแคช ในกรณีอื่น ๆ คุณเติมเต็มคิวรีโดยการดําเนินการคิวรีตามความต้องการไปยังแหล่งข้อมูล
การเปลี่ยนโหมด
โน้ต
คุณสามารถใช้โหมดที่เก็บข้อมูล คู่
ข้อจํากัดใน DirectQuery และตารางคู่
ตารางคู่มีข้อจํากัดเช่นเดียวกับตาราง DirectQuery ข้อจํากัดเหล่านี้รวมถึงการจํากัดการแปลง M และการจํากัดฟังก์ชัน DAX ในคอลัมน์จากการคํานวณ สําหรับข้อมูลเพิ่มเติม โปรดดู ข้อจํากัดของ DirectQuery
การเผยแพร่การตั้งค่าแบบ Dual
พิจารณาแบบจําลองต่อไปนี้ ที่ซึ่งตารางทั้งหมดมาจากแหล่งข้อมูลเดียวที่สนับสนุนการนําเข้าและ DirectQuery
สมมติว่าตารางทั้งหมดในแบบจําลองนี้ได้รับการตั้งค่าเป็น DirectQuery หากคุณเปลี่ยนโหมดที่เก็บข้อมูล ของตาราง SurveyResponse เป็น นําเข้าหน้าต่างคําเตือนต่อไปนี้จะปรากฏขึ้น:
คุณสามารถตั้งค่าตารางมิติ (Customer, Geography, และ Date) เป็น Dual เพื่อลดจํานวนความสัมพันธ์ที่จํากัดในแบบจําลองความหมาย และปรับปรุงประสิทธิภาพการทํางาน โดยปกติแล้วความสัมพันธ์ที่จํากัดเกี่ยวข้องกับ DirectQuery อย่างน้อยหนึ่งตารางที่ตรรกะการเข้าร่วมไม่สามารถส่งไปยังระบบต้นทางได้ เนื่องจากตารางคู่สามารถทําหน้าที่เป็นตาราง DirectQuery หรือนําเข้าได้ สถานการณ์นี้จึงหลีกเลี่ยงได้
ตรรกะการกระจายได้รับการออกแบบมาเพื่อช่วยเหลือในแบบจําลองที่มีหลายตาราง สมมติว่าคุณมีแบบจําลองที่มี 50 ตารางและมีเพียงตารางข้อเท็จจริง (เชิงทรานแซคชัน) บางตารางเท่านั้นที่จําเป็นต้องได้รับการแคช ตรรกะใน Power BI Desktop จะคํานวณชุดมิติตารางขั้นต่ําสุดที่ต้องตั้งค่าเป็น Dualคุณจึงไม่จําเป็นต้องตั้งค่าเอง
ตรรกะการกระจายจะสํารวจไปยังด้านเดียวของความสัมพันธ์แบบหนึ่งต่อกลุ่มเท่านั้น
ตัวอย่างการใช้งานโหมดที่เก็บข้อมูล
ลองนึกถึงการนําการตั้งค่าคุณสมบัติโหมดที่เก็บข้อมูลต่อไปนี้ไปใช้:
โต๊ะ | โหมดที่เก็บข้อมูล |
---|---|
ขาย | DirectQuery |
SurveyResponse | นําเข้า |
วันที่ | ทวิพจน์ |
ลูกค้า | ทวิพจน์ |
ภูมิศาสตร์ | ทวิพจน์ |
การตั้งค่าคุณสมบัติโหมดที่เก็บข้อมูลเหล่านี้ส่งผลให้เกิดการทํางานต่อไปนี้ โดยสมมติว่าตาราง Sales มีขนาดข้อมูลที่สําคัญ:
Power BI Desktop แคชตารางมิติ Date, Customerและ Geographyดังนั้นเวลาโหลดของรายงานเริ่มต้นจะเร็วเมื่อเรียกใช้ค่าตัวแบ่งส่วนข้อมูลเพื่อแสดง
Power BI Desktop ไม่แคชตาราง ยอดขาย
Power BI Desktop ให้ผลลัพธ์ต่อไปนี้โดยไม่แคชตารางนี้: - เวลาในการรีเฟรชข้อมูลดีขึ้น และการใช้หน่วยความจําลดลง
- คิวรีรายงานที่อิงจากตาราง Sales
ทํางานในโหมด DirectQuery คิวรีเหล่านี้อาจใช้เวลานานกว่า แต่ก็ใกล้เคียงกับเวลาจริงมากกว่า เนื่องจากไม่มีการเพิ่มความล่าช้าของข้อมูล
คิวรีรายงานตามตาราง SurveyResponse
ถูกส่งกลับจากแคชหน่วยความจํา ดังนั้นจึงค่อนข้างเร็ว
คิวรีที่ได้พบหรือไม่ได้พบแคช
ถ้าคุณเชื่อมต่อ SQL Profiler กับพอร์ตการวินิจฉัยสําหรับ Power BI Desktop คุณสามารถดูคิวรีที่ได้พบหรือไม่ได้พบแคชในหน่วยความจํา โดยการแสดงร่องรอยตามเหตุการณ์ต่อไปนี้:
- เหตุการณ์คิวรี\เริ่มต้นคิวรี
- การประมวลผลคิวรี\เริ่มต้นคิวรี Vertipaq SE
- การประมวลผลคิวรี\เริ่มต้น DirectQuery
สําหรับแต่ละเหตุการณ์ คิวรี เริ่มต้น ให้ตรวจสอบเหตุการณ์อื่น ๆ ด้วย ActivityID เดียวกัน ตัวอย่างเช่น ถ้าไม่มีเหตุการณ์ เริ่มต้น DirectQuery แต่มีเหตุการณ์ Vertipaq SE Query Begin คิวรีจะถูกตอบจากแคช
คิวรีที่อ้างอิงถึงตาราง Dual จะส่งกลับข้อมูลจากแคช หากเป็นไปได้ มิฉะนั้น จะแปลงกลับเป็น DirectQuery
คิวรีต่อไปนี้จะดําเนินการต่อจากตารางก่อนหน้า ซึ่งอ้างอิงเฉพาะคอลัมน์จากตาราง วันที่
คิวรีต่อไปนี้อ้างอิงเฉพาะคอลัมน์จากตาราง
คิวรีต่อไปนี้น่าสนใจเพราะรวมทั้งสองคอลัมน์เข้าด้วยกัน คิวรีนี้ไม่พบแคช ในตอนแรก คุณอาจคาดหวังไว้แต่แรกให้เรียกใช้ค่า CalendarYear
โน้ต
ลักษณะการทํางานนี้จะแตกต่างจาก ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม ใน Power BI Desktop เมื่อตารางที่ถูกแคชและตารางที่ไม่ถูกแคชรวมกัน
แคชควรซิงค์อยู่เสมอ
คิวรีที่แสดงในส่วนที่แล้วแสดงให้เห็นว่าบางครั้งตาราง คู่ พบแคชและบางครั้งก็ไม่พบ ด้วยเหตุนี้ หากแคชล้าสมัย ค่าที่แตกต่างออกไปสามารถถูกส่งกลับได้ การดําเนินการคิวรีจะไม่ซ่อนปัญหาของข้อมูลโดยวิธีอย่างเช่นการกรองผลลัพธ์ DirectQuery ให้ตรงกับค่าที่ถูกแคช เป็นความรับผิดชอบของคุณในการทราบกระแสข้อมูลของคุณ และคุณควรออกแบบให้สอดคล้องกัน มีเทคนิคที่ใช้กันในการจัดการกับกรณีดังกล่าวที่แหล่งที่มา หากจําเป็น
โหมดที่เก็บข้อมูล Dual คือการเพิ่มประสิทธิภาพการทํางาน ซึ่งควรใช้ในทางที่ไปลดความสามารถในการทําตามข้อกําหนดทางธุรกิจ สําหรับการทํางานทางเลือก ลองพิจารณาใช้เทคนิคที่อธิบายไว้ในความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม ใน Power BI Desktop
มุมมองตาราง
หากมีอย่างน้อยหนึ่งตารางในแบบจําลองความหมายที่มีการตั้งค่าโหมดที่เก็บข้อมูลเป็น นําเข้าหรือ คู่ แท็บ ตาราง มุมมอง สามารถแสดงได้
เมื่อคุณเลือกตารางคู่และนําเข้าในมุมมอง ตาราง
ข้อควรพิจารณาและข้อจํากัด
มีข้อจํากัดบางอย่างสําหรับการเผยแพร่โหมดที่เก็บข้อมูลในปัจจุบันและความสัมพันธ์ของโหมดที่เก็บข้อมูลกับโมเดลแบบรวม
แหล่งการเชื่อมต่อสดต่อไปนี้ (หลายมิติ) ไม่สามารถใช้กับโมเดลแบบรวมได้:
- SAP HANA
- SAP Business Warehouse
เมื่อเชื่อมต่อกับแหล่งที่มาหลายมิติเหล่านั้นโดยใช้ DirectQuery คุณจะไม่สามารถเชื่อมต่อกับแหล่งที่มา DirectQuery อีกแห่ง หรือรวมเข้ากับข้อมูลที่นําเข้าได้
ข้อจํากัดในการใช้ DirectQuery ที่ยังมีอยู่จะยังคงมีผลเมื่อใช้โมเดลแบบรวม ข้อจํากัดจํานวนมากเหล่านั้นเป็นข้อจํากัดต่อตาราง โดยขึ้นอยู่กับโหมดที่เก็บข้อมูลของตาราง ตัวอย่างเช่น คอลัมน์ที่ได้รับการคํานวณบนตารางที่นําเข้าสามารถอ้างอิงไปยังตารางอื่น แต่คอลัมน์ที่ได้รับการคํานวณบนตาราง DirectQuery จะยังคงถูกจํากัดให้อ้างอิงไปยังคอลัมน์บนตารางเดียวกันเท่านั้น ข้อจํากัดอื่น ๆ มีผลกับโมเดลทั้งหมด หากมีตารางใดภายในโมเดลที่เป็น DirectQuery
เนื้อหาที่เกี่ยวข้อง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับโมเดลแบบรวมและ DirectQuery ให้ดูบทความต่อไปนี้:
- ใช้โมเดลแบบรวมใน Power BI Desktop
- ใช้ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่มใน Power BI Desktop
- DirectQuery ใน Power BI
- แหล่งข้อมูล Power BI