แชร์ผ่าน


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

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

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

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

    สกรีนช็อตของมุมมองความสัมพันธ์ เน้นตัวเลือกแบบเลื่อนลงเพื่อเปลี่ยนโหมดที่เก็บข้อมูล

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

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

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

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

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

โน้ต

คุณสามารถใช้โหมดที่เก็บข้อมูล คู่ ทั้งใน Power BI Desktop และบริการของ 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

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

สกรีนช็อตที่แสดงข้อความของคิวรีที่อ้างอิงถึงตารางวันที่

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

สกรีนช็อตที่แสดงข้อความของคิวรีที่อ้างอิงถึงตารางยอดขาย

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

สกรีนช็อตที่แสดงข้อความของคิวรีที่อ้างอิงถึงทั้งตารางวันที่และตารางยอดขาย

โน้ต

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

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

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

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

มุมมองตาราง

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

สกรีนช็อตที่เน้นไอคอนมุมมองตาราง

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

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

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

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

  • SAP HANA
  • SAP Business Warehouse

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

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

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