จัดการโหมดที่เก็บข้อมูลใน 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

  • โหมดที่เก็บข้อมูล: ด้วยโหมดที่เก็บข้อมูล ตอนนี้คุณสามารถระบุวิชวลที่จําเป็นต้องมีคิวรีไปยังแหล่งข้อมูลระบบ Back-end ได้ วิชวลที่ไม่จําเป็นต้องมีคิวรีจะถูกนําเข้าแม้ว่าจะอิงตาม DirectQuery คุณลักษณะนี้จะช่วยปรับปรุงประสิทธิภาพและลดการโหลดระบบ Back-end ก่อนหน้านี้ แม้กระทั่งวิชวลพื้นฐาน อย่างตัวแบ่งส่วนข้อมูล ก็เริ่มคิวรีที่ถูกส่งไปยังแหล่งระบบ Back-end

ใช้คุณสมบัติโหมดที่เก็บข้อมูล

คุณสมบัติ โหมด ที่เก็บข้อมูล เป็นคุณสมบัติที่คุณสามารถตั้งค่าบนแต่ละตารางในแบบจําลองของคุณและควบคุมวิธีที่ Power BI แคชข้อมูลตาราง

ในการตั้งค่าคุณสมบัติโหมดที่เก็บข้อมูล หรือดูการตั้งค่าปัจจุบัน:

  1. ในมุมมองแบบจําลอง ให้เลือกตารางที่มีคุณสมบัติที่คุณต้องการดูหรือตั้งค่า

  2. ในบานหน้าต่างคุณสมบัติ ขยายส่วนขั้นสูงและขยายดรอปดาวน์โหมดที่เก็บข้อมูล

    Screenshot of Relationship view highlight the option drop-down to change the storage mode.

คุณตั้งค่าคุณสมบัติ โหมดที่เก็บข้อมูล เป็นหนึ่งในค่าสามค่าเหล่านี้:

  • นําเข้า: ตารางนําเข้าที่มีการตั้งค่านี้จะถูกแคช คิวรีที่ส่งไปยังแบบจําลองความหมาย Power BI ที่ส่งกลับข้อมูลจากตารางนําเข้าสามารถเติมเต็มได้จากข้อมูลแคชเท่านั้น

  • DirectQuery: ตารางที่มีการตั้งค่านี้จะไม่ถูกแคช คิวรีที่ส่งไปยังแบบจําลองความหมายของ Power BI เช่น คิวรี DAX และที่ส่งกลับข้อมูลจากตาราง DirectQuery สามารถเติมเต็มได้โดยการดําเนินการคิวรีตามคําขอไปยังแหล่งข้อมูลเท่านั้น คิวรีที่ส่งไปยังแหล่งข้อมูลจะใช้ภาษาคิวรีสําหรับแหล่งข้อมูลนั้นๆ เช่น SQL

  • คู่: ตารางที่มีการตั้งค่านี้สามารถแคชหรือไม่แคชก็ได้ ขึ้นอยู่กับบริบทของคิวรีที่ส่งไปยังแบบจําลองความหมายของ Power BI ในบางกรณี คุณเติมเต็มคิวรีจากข้อมูลแคช ในกรณีอื่น ๆ คุณเติมเต็มคิวรีโดยการดําเนินการคิวรีตามความต้องการไปยังแหล่งข้อมูล

การเปลี่ยนโหมดที่เก็บข้อมูลของตารางเป็น นําเข้า เป็นการดําเนินการที่ไม่สามารถย้อนกลับได้ หลังจากตั้งค่าคุณสมบัตินี้ จะไม่สามารถเปลี่ยนเป็น DirectQuery หรือ Dual ได้ในภายหลัง

หมายเหตุ

คุณสามารถใช้โหมดที่เก็บข้อมูล Dual ในทั้ง Power BI Desktop และบริการของ Power BI

ข้อจํากัดใน DirectQuery และตารางคู่

ตารางคู่มีข้อจํากัดเช่นเดียวกับตาราง DirectQuery ข้อจํากัดเหล่านี้รวมถึงการจํากัดการแปลง M และการจํากัดฟังก์ชัน DAX ในคอลัมน์จากการคํานวณ สําหรับข้อมูลเพิ่มเติม โปรดดู ข้อจํากัดของ DirectQuery

การเผยแพร่การตั้งค่าแบบ Dual

พิจารณาแบบจําลองต่อไปนี้ ที่ซึ่งตารางทั้งหมดมาจากแหล่งข้อมูลเดียวที่สนับสนุนการนําเข้าและ DirectQuery

Screenshot of the example Relationship view for storage mode.

สมมติว่าตารางทั้งหมดในแบบจําลองนี้ได้รับการตั้งค่าเป็น DirectQuery หากคุณเปลี่ยนโหมดที่เก็บข้อมูลของตาราง SurveyResponse เป็น นําเข้า หน้าต่างเตือนต่อไปนี้จะปรากฏขึ้น:

Screenshot showing a warning window that describes the results of changing the storage mode to Import.

คุณสามารถตั้งค่าตารางมิติ (ลูกค้า, ภูมิศาสตร์ และ วันที่) เป็น คู่ เพื่อลดจํานวนความสัมพันธ์ที่จํากัดในแบบจําลองความหมาย และปรับปรุงประสิทธิภาพการทํางาน โดยปกติแล้วความสัมพันธ์ที่จํากัดเกี่ยวข้องกับ DirectQuery อย่างน้อยหนึ่งตารางที่ตรรกะการเข้าร่วมไม่สามารถส่งไปยังระบบต้นทางได้ เนื่องจากตารางคู่สามารถทําหน้าที่เป็นตาราง DirectQuery หรือนําเข้าได้ สถานการณ์นี้จึงหลีกเลี่ยงได้

ตรรกะการกระจายได้รับการออกแบบมาเพื่อช่วยเหลือในแบบจําลองที่มีหลายตาราง สมมติว่าคุณมีแบบจําลองที่มี 50 ตารางและมีเพียงตารางข้อเท็จจริง (เชิงทรานแซคชัน) บางตารางเท่านั้นที่จําเป็นต้องได้รับการแคช ตรรกะใน Power BI Desktop จะคํานวณชุดมิติตารางขั้นต่ําสุดที่ต้องตั้งค่าเป็น คู่ คุณจึงไม่จําเป็นต้องตั้งค่าเอง

ตรรกะการกระจายจะสํารวจไปยังด้านเดียวของความสัมพันธ์แบบหนึ่งต่อกลุ่มเท่านั้น

ตัวอย่างการใช้งานโหมดที่เก็บข้อมูล

ลองนึกถึงการนําการตั้งค่าคุณสมบัติโหมดที่เก็บข้อมูลต่อไปนี้ไปใช้:

Table โหมดที่เก็บข้อมูล
การขาย DirectQuery
SurveyResponse Import
วันที่ คู่
ลูกค้า คู่
ภูมิศาสตร์ คู่

การตั้งค่าคุณสมบัติโหมดที่เก็บข้อมูลเหล่านี้ส่งผลให้เกิดการทํางานต่อไปนี้ โดยสมมติว่า ตาราง การขาย มีขนาดข้อมูลที่สําคัญ:

  • Power BI Desktop แคชตารางมิติ วันที่ ลูกค้า และ ภูมิศาสตร์ ดังนั้นเวลาโหลดของรายงานเริ่มต้นจะเร็วเมื่อเรียกแสดงค่า Slicer

  • Power BI Desktop ไม่แคชตารางยอดขาย Power BI Desktop ให้ผลลัพธ์ต่อไปนี้โดยไม่แคชตารางนี้:

    • เวลาในการรีเฟรชข้อมูลดีขึ้น และการใช้หน่วยความจําลดลง
    • คิวรีรายงานที่ยึดตามตารางยอดขายจะทํางานในโหมด DirectQuery คิวรีเหล่านี้อาจใช้เวลานานกว่า แต่ก็ใกล้เคียงกับเวลาจริงมากกว่า เนื่องจากไม่มีการเพิ่มความล่าช้าของข้อมูล
  • คิวรีรายงานตาม ตาราง SurveyResponse ถูกส่งกลับจากแคชหน่วยความจํา ดังนั้นจึงค่อนข้างเร็ว

คิวรีที่ได้พบหรือไม่ได้พบแคช

ถ้าคุณเชื่อมต่อ SQL Profiler กับพอร์ตการวินิจฉัยสําหรับ Power BI Desktop คุณสามารถดูคิวรีที่ได้พบหรือไม่ได้พบแคชในหน่วยความจํา โดยการแสดงร่องรอยตามเหตุการณ์ต่อไปนี้:

  • เหตุการณ์คิวรี\เริ่มต้นคิวรี
  • การประมวลผลคิวรี\เริ่มต้นคิวรี Vertipaq SE
  • การประมวลผลคิวรี\เริ่มต้น DirectQuery

สําหรับแต่ละเหตุการณ์ เริ่มต้นคิวรี ให้ตรวจสอบเหตุการณ์อื่น ๆ ที่มี ActivityID เดียวกัน ตัวอย่างเช่น ถ้าไม่มี เหตุการณ์ DirectQuery Begin แต่มี เหตุการณ์ Vertipaq SE Query Begin คิวรีจะถูกตอบจากแคช

คิวรีที่อ้างอิงถึงตาราง Dual จะส่งกลับข้อมูลจากแคช หากเป็นไปได้ มิฉะนั้น จะแปลงกลับเป็น DirectQuery

คิวรีต่อไปนี้จะดําเนินการต่อจากตารางก่อนหน้า ซึ่งอ้างอิงไปยังคอลัมน์จากตารางวันที่เท่านั้นซึ่งอยู่ในโหมดคู่ ดังนั้น คิวรีควรได้พบแคช:

Screenshot showing the text of query that refers to the Date table.

คิวรีต่อไปนี้อ้างอิงเฉพาะคอลัมน์จากตาราง ยอดขาย เท่านั้น ซึ่งอยู่ในโหมด DirectQuery ดังนั้น จึงไม่ควร พบแคช:

Screenshot showing the text of query that refers the Sales table.

คิวรีต่อไปนี้น่าสนใจเพราะรวมทั้งสองคอลัมน์เข้าด้วยกัน คิวรีนี้ไม่พบแคช ในตอนแรก คุณอาจคาดหวังไว้แต่แรกให้เรียกใช้ ค่า CalendarYear จากแคช และ ค่า SalesAmount จากแหล่งที่มา และรวมผลลัพธ์ แต่วิธีการนี้มีประสิทธิภาพน้อยกว่าการส่งการดําเนินการ SUM/GROUP BY ไปยังระบบแหล่งที่มา หากการดําเนินการถูกผลักลงไปที่แหล่งที่มา จํานวนแถวที่ส่งกลับมาจะน้อยกว่านี้มาก:

Screenshot showing the text of query that refers to both the Date table and the Sales table.

หมายเหตุ

พฤติกรรมนี้แตกต่างจาก ความสัมพันธ์ แบบกลุ่ม-ต่อ-กลุ่มใน Power BI Desktop เมื่อตารางที่ถูกแคชและไม่ได้แคชรวมกัน

แคชควรซิงค์อยู่เสมอ

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

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

มุมมองข้อมูล

หากมีอย่างน้อยหนึ่งตารางในแบบจําลองความหมายที่มีการตั้งค่าโหมดที่เก็บข้อมูลเป็น นําเข้า หรือ คู่ แท็บ มุมมองข้อมูล จะปรากฏขึ้น

Screenshot highlighting the Data view icon.

เมื่อคุณเลือกตารางคู่และนําเข้าในมุมมองข้อมูล ตารางจะแสดงข้อมูลที่แคช ตาราง DirectQuery จะไม่แสดงข้อมูล และข้อความจะแสดงว่าไม่สามารถแสดงตาราง DirectQuery ได้

ข้อควรพิจารณาและข้อจำกัด

มีข้อจํากัดบางอย่างสําหรับการเผยแพร่โหมดที่เก็บข้อมูลในปัจจุบันและความสัมพันธ์ของโหมดที่เก็บข้อมูลกับโมเดลแบบรวม

แหล่งการเชื่อมต่อสดต่อไปนี้ (หลายมิติ) ไม่สามารถใช้กับโมเดลแบบรวมได้:

  • SAP HANA
  • SAP Business Warehouse

เมื่อเชื่อมต่อกับแหล่งที่มาหลายมิติเหล่านั้นโดยใช้ DirectQuery คุณจะไม่สามารถเชื่อมต่อกับแหล่งที่มา DirectQuery อีกแห่ง หรือรวมเข้ากับข้อมูลที่นําเข้าได้

ข้อจํากัดในการใช้ DirectQuery ที่ยังมีอยู่จะยังคงมีผลเมื่อใช้โมเดลแบบรวม ข้อจํากัดจํานวนมากเหล่านั้นเป็นข้อจํากัดต่อตาราง โดยขึ้นอยู่กับโหมดที่เก็บข้อมูลของตาราง ตัวอย่างเช่น คอลัมน์ที่ได้รับการคํานวณบนตารางที่นําเข้าสามารถอ้างอิงไปยังตารางอื่น แต่คอลัมน์ที่ได้รับการคํานวณบนตาราง DirectQuery จะยังคงถูกจํากัดให้อ้างอิงไปยังคอลัมน์บนตารางเดียวกันเท่านั้น ข้อจํากัดอื่น ๆ มีผลกับโมเดลทั้งหมด หากมีตารางใดภายในโมเดลที่เป็น DirectQuery

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับโมเดลแบบรวมและ DirectQuery ให้ดูบทความต่อไปนี้: