หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ในแบบจําลองความหมายของ Power BI โหมดที่เก็บข้อมูลของตารางขึ้นอยู่กับแหล่งข้อมูล คุณสามารถใช้โหมดที่เก็บข้อมูลเพื่อควบคุมว่า Power BI จัดเก็บข้อมูลตารางในหน่วยความจําสําหรับรายงาน หรือดึงข้อมูลจากแหล่งข้อมูลเมื่อโหลดวิชวล
บทความนี้จะแนะนําคุณเกี่ยวกับโหมดการจัดเก็บตารางต่างๆ และอธิบายว่าโหมดเหล่านี้ส่งผลต่อลักษณะการทํางานของรายงานอย่างไร
โหมดการจัดเก็บตาราง
| โหมดตารางที่เก็บข้อมูล | เมื่อมี | สวัสดิการ | โน้ต |
|---|---|---|---|
| นําเข้า | ในการสร้างแบบจําลองเว็บ Power BI Desktop และ Power BI สําหรับแหล่งข้อมูลเกือบทั้งหมด เมื่อคุณเลือก รับข้อมูล และใช้ Power Query | สแนปช็อตของข้อมูลจะถูกเก็บไว้ในที่เก็บข้อมูลดั้งเดิมสําหรับการโหลดวิชวลในรายงานอย่างรวดเร็ว | เมื่อต้องการรับข้อมูลล่าสุดจากแหล่งข้อมูล ให้รีเฟรชแบบจําลองความหมายหรือตาราง |
| Direct Lake บน OneLake | ในการสร้างแบบจําลองเว็บ Power BI Desktop และ Power BI สําหรับแหล่งข้อมูล Microsoft Fabric เมื่อคุณเลือกแค็ตตาล็อก OneLake | ข้อมูลจะถูกสแกนจากตารางเดลต้าของ Microsoft OneLake สําหรับการโหลดวิชวลในรายงานอย่างรวดเร็ว | โดยค่าเริ่มต้น ข้อมูลล่าสุดจะถูกโหลด เมื่อต้องการเข้าถึงข้อมูลล่าสุดโดยการรีเฟรชด้วยตนเอง ให้ปิดการซิงค์อัตโนมัติในหน้าการตั้งค่าการรีเฟรชตามกําหนดการ การรีเฟรชเรียกอีกอย่างว่า การปรับกรอบ สําหรับ Direct Lake สําหรับข้อมูลเพิ่มเติมเกี่ยวกับ Direct Lake โปรดดู ภาพรวมของ Direct Lake |
| Direct Lake บน SQL | ในจุดสิ้นสุดการวิเคราะห์ SQL ของรายการ Fabric เมื่อคุณเลือก แบบจําลองความหมายใหม่ | ข้อมูลจะถูกสแกนจากตารางเดลต้า OneLake เพื่อการโหลดอย่างรวดเร็วในรายงาน | ในโหมดนี้ Power BI ใช้โหมดที่เก็บข้อมูล DirectQuery เพื่อเข้าถึงข้อมูลในกรณีต่อไปนี้: - มีการใช้มุมมอง - เปิดใช้งานการเข้าถึงแบบละเอียดของ SQL - ถึงรั้วทะเลสาบโดยตรง |
| DirectQuery | ใน Power BI Desktop สําหรับแหล่งข้อมูลบางอย่าง เช่น ฐานข้อมูล SQL เมื่อคุณเลือก รับข้อมูล และใช้ Power Query | ข้อมูลจะถูกคิวรีจากแหล่งข้อมูลเมื่อโหลดวิชวลและไม่ได้เก็บไว้ในแบบจําลองความหมาย | คิวรีเป็นการแปลจากคิวรีนิพจน์การวิเคราะห์ข้อมูล Power BI (DAX) ซึ่งวิชวลใช้เป็นภาษาคิวรีดั้งเดิมของแหล่งข้อมูล เช่น คิวรี SQL |
| DirectQuery บนแบบจําลองความหมายของ Power BI | ใน Power BI Desktop เมื่อคุณเชื่อมต่อกับแบบจําลองความหมายของ Power BI แล้วเลือก ทําการเปลี่ยนแปลงกับแบบจําลองนี้ หรือเมื่อมีการเพิ่มตารางนําเข้าหรือ DirectQuery แล้ว | คิวรี DAX จากแบบจําลองใหม่ที่ทํางานบนแบบจําลองต้นทาง และสามารถใช้หน่วยวัดจากทั้งสองแบบได้ คุณสมบัติคอลัมน์บางอย่างบนแบบจําลองระยะไกลสามารถแทนที่ได้ในแบบจําลองใหม่ การปรับแต่งนี้รวมถึงสตริงรูปแบบและชื่อที่แสดง | ใช้โหมดที่เก็บข้อมูลนี้เมื่อคุณต้องการทําการเปลี่ยนแปลงเล็กน้อยกับแบบจําลองความหมายที่มีอยู่สําหรับรายงานเฉพาะ |
| ทวิพจน์ | ใน Power BI Desktop เมื่อคุณแปลงตาราง DirectQuery เป็นโหมดนําเข้า กล่องโต้ตอบจะปรากฏขึ้นพร้อมตัวเลือกสําหรับการแปลงตาราง DirectQuery ที่เหลือเป็นโหมดคู่ | ความสัมพันธ์ระหว่างตาราง DirectQuery และ นําเข้า มีจํากัด การสลับจาก DirectQuery เป็นโหมดคู่สามารถช่วยให้ความสัมพันธ์เหล่านั้นเป็นปกติได้ | |
| พันธุ์ผสม | ในสถานการณ์การรีเฟรชแบบเพิ่มหน่วยบนตารางนําเข้า พาร์ติชันล่าสุดของตารางสามารถอยู่ในโหมด DirectQuery เพื่อช่วยให้แน่ใจว่าข้อมูลล่าสุดพร้อมใช้งานระหว่างการรีเฟรชนําเข้า | การสร้างและการจัดการพาร์ติชันเป็นไปโดยอัตโนมัติเพื่อลดปริมาณข้อมูลที่ต้องรีเฟรช | สําหรับข้อมูลเพิ่มเติม โปรดดู กําหนดค่าการรีเฟรชแบบเพิ่มหน่วยและข้อมูลแบบเรียลไทม์สําหรับแบบจําลองความหมายของ Power BI |
โน้ต
โหมดการเชื่อมต่อสดจะใช้ในกรณีต่อไปนี้:
- เมื่อต้องการเชื่อมต่อกับแบบจําลองความหมายของ Power BI ใน Power BI Desktop เพื่อสร้างรายงาน
- เมื่อต้องการสร้างรายงานจากแบบจําลองความหมายของ Power BI ในเว็บ
รายงาน Live connect ไม่มีแบบจําลองความหมายเฉพาะที่ และบางครั้งเรียกว่ารายงานแบบบาง แบบจําลองความหมายของ Power BI ระยะไกลสามารถใช้โหมดที่เก็บข้อมูลตารางใดก็ได้ ในฐานะผู้เขียนรายงาน คุณสามารถดูแบบจําลองในมุมมอง แบบจําลอง แต่มีข้อมูลที่จํากัดเท่านั้น หน่วยวัดที่คุณสร้างจะถูกเก็บไว้ในรายงาน
แบบจําลองความหมายแบบรวมเป็นแบบจําลองความหมายที่มีตารางในโหมดการจัดเก็บมากกว่าหนึ่งโหมด สําหรับข้อมูลเพิ่มเติม โปรดดู ใช้แบบจําลองแบบรวมใน Power BI
ดูโหมดการจัดเก็บของตาราง
แต่ละตารางมีคุณสมบัติStorage mode หากต้องการดูโหมดที่เก็บข้อมูลของตาราง ให้ทําตามขั้นตอนต่อไปนี้:
ในมุมมอง แบบจําลอง ให้เลือกตาราง
ในบานหน้าต่าง คุณสมบัติ ให้ขยายส่วน ขั้นสูง แล้วขยายรายการ โหมดที่เก็บข้อมูล
สําหรับตารางส่วนใหญ่ คุณสามารถตั้งค่าโหมดที่เก็บข้อมูลได้เฉพาะเมื่อคุณเพิ่มตารางเท่านั้น คุณสามารถเปลี่ยนโหมดที่เก็บข้อมูลได้ก็ต่อเมื่อตารางอยู่ในโหมด DirectQuery หรือ Direct Lake ในโหมด OneLake เมื่อสร้างขึ้น:
- คุณสามารถเปลี่ยนตาราง DirectQuery เป็นตารางนําเข้าหรือตารางคู่ได้ หลังจากที่คุณตั้งค่าคุณสมบัตินี้ คุณไม่สามารถตั้งค่าโหมดกลับเป็น DirectQuery ได้ ข้อยกเว้นคือการสร้างแบบจําลองเว็บ Power BI และการแก้ไขแบบสดใน Power BI Desktop สภาพแวดล้อมเหล่านี้ทั้งสองมีการควบคุมเวอร์ชัน ซึ่งคุณสามารถใช้เพื่อย้อนกลับโหมดที่เก็บข้อมูลที่เปลี่ยนแปลงได้
- คุณสามารถแปลง Direct Lake บนตาราง OneLake เป็น นําเข้าตาราง โดยใช้แล็บลิงก์ความหมายในสมุดบันทึก Fabric
ข้อจํากัดใน DirectQuery และตารางคู่
ตารางคู่มีข้อจํากัดเช่นเดียวกับตาราง DirectQuery ข้อจํากัดเหล่านี้รวมถึงการจํากัดการแปลง M และการจํากัดฟังก์ชัน DAX ในคอลัมน์จากการคํานวณ สําหรับข้อมูลเพิ่มเติม โปรดดู ข้อจํากัดของ DirectQuery
การเผยแพร่การตั้งค่าแบบ Dual
พิจารณารุ่นต่อไปนี้ ตารางทั้งหมดมาจากแหล่งข้อมูลเดียวที่สนับสนุนโหมดนําเข้าและ DirectQuery
สมมติว่าตารางทั้งหมดในแบบจําลองนี้ถูกตั้งค่าเป็น DirectQuery ในตอนแรก ถ้าคุณเปลี่ยนโหมดที่เก็บข้อมูลของตาราง SurveyResponse เป็น นําเข้า หน้าต่างคําเตือนต่อไปนี้จะปรากฏขึ้น:
คุณสามารถตั้งค่าตารางมิติ ลูกค้าภูมิศาสตร์ และ วันที่ เป็นโหมดคู่ เพื่อลดจํานวนความสัมพันธ์ที่จํากัดในแบบจําลองความหมาย และช่วยปรับปรุงประสิทธิภาพการทํางาน โดยปกติความสัมพันธ์ที่จํากัดจะเกี่ยวข้องกับตาราง DirectQuery อย่างน้อยหนึ่งตาราง JOIN ที่ตรรกะไม่สามารถถูกผลักไปยังระบบต้นทางได้ เนื่องจากตารางคู่สามารถทําหน้าที่เป็นตาราง DirectQuery หรือนําเข้าได้ สถานการณ์นี้จึงหลีกเลี่ยงได้
ตรรกะการกระจายได้รับการออกแบบมาเพื่อช่วยเหลือในแบบจําลองที่มีหลายตาราง สมมติว่าคุณมีแบบจําลองที่มี 50 ตารางและมีเพียงตารางข้อเท็จจริง (เชิงทรานแซคชัน) บางตารางเท่านั้นที่จําเป็นต้องได้รับการแคช ตรรกะใน Power BI Desktop จะคํานวณชุดขั้นต่ําของตารางมิติที่ต้องตั้งค่าเป็นโหมดคู่ ดังนั้นคุณจึงไม่ต้องทํา
ตรรกะการแพร่กระจายจะข้ามไปยังด้าน เดียว ของความสัมพันธ์แบบหนึ่งต่อกลุ่มเท่านั้น
ตัวอย่างการใช้งานโหมดที่เก็บข้อมูล
พิจารณาตัวอย่างที่เกี่ยวข้องกับตารางและโหมดการจัดเก็บต่อไปนี้:
| โต๊ะ | โหมดที่เก็บข้อมูล |
|---|---|
| Sales | DirectQuery |
| SurveyResponse | นําเข้า |
| วันที่ | ทวิพจน์ |
| ลูกค้า | ทวิพจน์ |
| ภูมิศาสตร์ | ทวิพจน์ |
การใช้โหมดที่เก็บข้อมูลเหล่านี้ส่งผลให้มีลักษณะการทํางานต่อไปนี้ โดยสมมติว่า ตาราง ยอดขาย มีปริมาณข้อมูลที่สําคัญ:
Power BI Desktop แคชตารางมิติ วันที่ลูกค้า และ ภูมิศาสตร์ เพื่อช่วยลดเวลาในการโหลดของรายงานเริ่มต้นเมื่อดึงค่าตัวแบ่งส่วนข้อมูลเพื่อแสดง
Power BI Desktop ไม่แคชตาราง ยอดขาย
- การไม่แคชตารางนี้จะช่วยปรับปรุงเวลาในการรีเฟรชข้อมูลและลดการใช้หน่วยความจํา
- คิวรีรายงานที่ยึดตามตาราง ยอดขาย ที่ทํางานในโหมด DirectQuery คิวรีเหล่านี้อาจใช้เวลานานกว่าคิวรีนําเข้า แต่ผลลัพธ์ของคิวรี DirectQuery จะใกล้เคียงกับผลลัพธ์แบบเรียลไทม์มากขึ้น เนื่องจากไม่มีการแนะนําเวลาแฝงในการแคช
คิวรีรายงานที่ยึดตามตาราง SurveyResponse นั้นค่อนข้างเร็ว เนื่องจากถูกส่งกลับจากแคชในหน่วยความจํา
คิวรีที่ได้พบหรือไม่ได้พบแคช
คุณสามารถใช้ SQL Server Profiler เพื่อดูว่าคิวรีใดถูกหรือพลาดแคชในหน่วยความจํา ถ้าคุณเชื่อมต่อเครื่องมือนี้กับพอร์ตการวินิจฉัยสําหรับ Power BI Desktop คุณสามารถดําเนินการติดตามที่ยึดตามเหตุการณ์ต่อไปนี้:
- เหตุการณ์แบบสอบถาม\การเริ่มต้นแบบสอบถาม
- การประมวลผลแบบสอบถาม\Vertipaq SE Query Begin
- การประมวลผลคิวรี\DirectQuery เริ่มต้น
สําหรับเหตุการณ์ Query Begin แต่ละเหตุการณ์ ให้เลือกเหตุการณ์อื่นๆ ที่มีค่าเดียวกันActivityID ตัวอย่างเช่น ถ้าไม่มีเหตุการณ์ เริ่มต้น DirectQuery แต่มีเหตุการณ์ Vertipaq SE Query Begin คิวรีจะถูกตอบจากแคช
แบบสอบถามที่อ้างถึงตารางคู่จะส่งคืนข้อมูลจากแคช ถ้าเป็นไปได้ มิฉะนั้น พวกเขาจะเปลี่ยนกลับเป็นโหมด DirectQuery
พิจารณาคิวรี DAX สองสามรายการที่อ้างถึงตารางในส่วนก่อนหน้า ตัวอย่างเช่น แบบสอบถามต่อไปนี้อ้างถึงเฉพาะคอลัมน์จากตาราง วันที่ ซึ่งอยู่ในโหมดคู่ ดังนั้น คิวรีควรได้พบแคช:
คิวรีต่อไปนี้อ้างถึงเฉพาะคอลัมน์จากตาราง ยอดขาย ซึ่งอยู่ในโหมด DirectQuery เท่านั้น ดังนั้น ไม่ควร พบแคช:
คิวรีต่อไปนี้น่าสนใจเพราะรวมทั้งสองคอลัมน์เข้าด้วยกัน คิวรีนี้ไม่พบแคช ในตอนแรกคุณอาจคาดหวังว่ามันจะดึงค่า CalendarYear จากแคชและค่า SalesAmount จากแหล่งที่มา แล้วรวมผลลัพธ์ แต่วิธีนี้มีประสิทธิภาพน้อยกว่าการส่งการดําเนินการ or SUMGROUP BY ไปยังระบบต้นทาง ถ้าแหล่งที่มาดําเนินการ เฉพาะผลรวมของยอดขายในแต่ละปีเท่านั้นที่จะถูกส่งคืน ผลลัพธ์นั้นน่าจะมีแถวน้อยกว่าถ้าค่า SalesAmount ทั้งหมดถูกส่งกลับ
โน้ต
ลักษณะการทํางานนี้แตกต่างจาก ความสัมพันธ์แบบกลุ่มต่อกลุ่ม ใน Power BI Desktop เมื่อตารางที่แคชถูกรวมกับตารางที่ไม่ได้แคช
ซิงค์แคชอยู่เสมอ
แบบสอบถามในส่วนก่อนหน้านี้แสดงให้เห็นว่าตารางคู่บางครั้งตีแคชและบางครั้งก็ไม่ตี ด้วยเหตุนี้ ค่าที่ส่งคืนจากแคชที่ล้าสมัยอาจแตกต่างจากค่าที่ส่งคืนจากแหล่งที่มา การดําเนินการคิวรีจะไม่พยายามปกปิดปัญหาข้อมูล เช่น โดยการกรองผลลัพธ์ DirectQuery ให้ตรงกับค่าที่แคชไว้ เป็นความรับผิดชอบของคุณในการทราบกระแสข้อมูลของคุณ และคุณควรออกแบบให้สอดคล้องกัน มีเทคนิคที่ใช้กันในการจัดการกับกรณีดังกล่าวที่แหล่งที่มา หากจําเป็น
โหมดที่เก็บข้อมูลคู่เป็นการเพิ่มประสิทธิภาพ คุณควรใช้เฉพาะในลักษณะที่ไม่ลดทอนความสามารถในการตอบสนองความต้องการทางธุรกิจ สําหรับลักษณะการทํางานทางเลือก ให้พิจารณาใช้เทคนิคที่อธิบายไว้ใน ทําความเข้าใจความสัมพันธ์แบบกลุ่มต่อกลุ่มใน Power BI Desktop
มุมมองตาราง
ถ้าอย่างน้อยหนึ่งตารางในแบบจําลองความหมายมีโหมดที่เก็บข้อมูลเป็น นําเข้า หรือ คู่ แท็บมุมมอง ตาราง Power BI จะพร้อมใช้งาน
เมื่อคุณเลือกตารางคู่หรือนําเข้าในมุมมอง ตาราง ข้อมูลที่แคชไว้จะแสดงขึ้น ไม่มีข้อมูลแสดงสําหรับตาราง DirectQuery ข้อความจะปรากฏขึ้นซึ่งระบุว่าไม่สามารถแสดงตาราง DirectQuery ได้
ข้อควรพิจารณาและข้อจํากัด
ปัจจุบันมีข้อจํากัดบางประการสําหรับโหมดการจัดเก็บตารางและการใช้โหมดบางอย่างในแบบจําลองแบบรวม:
แหล่งการเชื่อมต่อสดต่อไปนี้ (หลายมิติ) ไม่สามารถใช้กับโมเดลแบบรวมได้:
- SAP Hana
- SAP Business Warehouse
เมื่อคุณเชื่อมต่อกับแหล่งข้อมูลหลายมิติเหล่านั้นโดยใช้โหมด DirectQuery คุณจะไม่สามารถเชื่อมต่อกับแหล่งข้อมูล DirectQuery อื่น หรือรวมกับข้อมูลที่นําเข้าได้
ข้อจํากัดของการใช้โหมด DirectQuery ยังคงใช้เมื่อคุณใช้แบบจําลองแบบรวม ข้อจํากัดเหล่านั้นหลายอย่างมีผลบังคับใช้ในระดับตารางและขึ้นอยู่กับโหมดการจัดเก็บของตาราง ตัวอย่างเช่น คอลัมน์จากการคํานวณบนตารางที่นําเข้าสามารถอ้างถึงตารางอื่นๆ ได้ แต่คอลัมน์จากการคํานวณบนตาราง DirectQuery สามารถอ้างอิงถึงคอลัมน์บนตารางเดียวกันเท่านั้น ข้อจํากัดอื่นๆ ใช้กับแบบจําลองโดยรวม ถ้าตารางใดๆ ภายในแบบจําลองอยู่ในโหมด DirectQuery
เนื้อหาที่เกี่ยวข้อง
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับแบบจําลองแบบรวมและโหมด DirectQuery โปรดดูบทความต่อไปนี้: