แชร์ผ่าน


โหมดแบบจําลองความหมายในบริการของ Power BI

บทความนี้ให้คําอธิบายทางเทคนิคของโหมดแบบจําลองความหมายของ Power BI ใช้กับแบบจําลองความหมายที่แสดงถึงการเชื่อมต่อแบบสดกับแบบจําลอง Analysis Services ที่โฮสต์ภายนอก และแบบจําลองที่พัฒนาใน Power BI Desktop บทความนี้เน้นเหตุผลสําหรับแต่ละโหมด และผลกระทบที่อาจเกิดขึ้นกับทรัพยากรความจุ Power BI

โหมดโมเดลความหมายสามโหมดคือ:

โหมดการนำเข้า

โหมดนําเข้าเป็นโหมดที่ใช้กันทั่วไปในการพัฒนาแบบจําลองความหมาย โหมดนี้ให้ประสิทธิภาพที่รวดเร็วด้วยการสืบค้นในหน่วยความจํา นอกจากนี้ยังมีความยืดหยุ่นในการออกแบบให้กับผู้สร้างแบบจําลอง และการสนับสนุนสําหรับคุณลักษณะบริการเฉพาะของ Power BI (Q&A, ข้อมูลเชิงลึกด่วน ฯลฯ) เนื่องจากจุดแข็งเหล่านี้ จึงเป็นโหมดเริ่มต้นเมื่อสร้างโซลูชัน Power BI Desktop ใหม่

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

เมื่อรีเฟรช ข้อมูลจะถูกบีบอัดและปรับให้เหมาะสม จากนั้นจัดเก็บลงในดิสก์โดยเอ็นจิ้นการจัดเก็บข้อมูล VertiPaq เมื่อโหลดจากดิสก์ลงในหน่วยความจํา คุณจะเห็นการบีบอัด 10 เท่า ดังนั้นจึงมีเหตุผลที่จะคาดหวังว่าข้อมูลต้นฉบับ 10 GB สามารถบีบอัดให้มีขนาดประมาณ 1 GB ขนาดพื้นที่เก็บข้อมูลบนดิสก์สามารถลดลง 20% จากขนาดที่บีบอัด ความแตกต่างของขนาดสามารถกําหนดได้โดยการเปรียบเทียบขนาดไฟล์ Power BI Desktop กับการใช้หน่วยความจําตัวจัดการงานของไฟล์

ความยืดหยุ่นในการออกแบบสามารถทําได้สามวิธี:

  • รวมข้อมูลโดยการแคชข้อมูลจากกระแสข้อมูล และแหล่งข้อมูลภายนอก ไม่ว่าแหล่งข้อมูลประเภทใดหรือรูปแบบใดก็ตาม
  • ใช้ ชุดภาษาสูตร Power Query M ทั้งชุด ซึ่งเรียกว่า M ฟังก์ชันเมื่อสร้างคิวรีการเตรียมข้อมูล
  • ใช้ฟังก์ชัน นิพจน์การวิเคราะห์ข้อมูล (DAX) ทั้งชุดเมื่อปรับปรุงแบบจําลองด้วยตรรกะทางธุรกิจ มีการรองรับคอลัมน์จากการคํานวณ ตารางจากการคํานวณ และหน่วยวัด

ดังที่แสดงในรูปต่อไปนี้ แบบจําลองการนําเข้าสามารถรวมข้อมูลจากชนิดแหล่งข้อมูลที่รองรับจํานวนเท่าใดก็ได้

ไดอะแกรมแสดงแบบจําลองการนําเข้าสามารถรวมข้อมูลจากชนิดแหล่งข้อมูลภายนอกจํานวนเท่าใดก็ได้

อย่างไรก็ตาม แม้ว่าจะมีข้อดีที่น่าสนใจที่เกี่ยวข้องกับโมเดลการนําเข้า แต่ก็มีข้อเสียเช่นกัน:

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

Note

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

จากมุมมองของทรัพยากรบริการของ Power BI แบบจําลองการนําเข้าต้องการ:

  • หน่วยความจําเพียงพอที่จะโหลดโมเดลเมื่อมีการคิวรีหรือรีเฟรช
  • การประมวลผลทรัพยากรและทรัพยากรหน่วยความจําเพิ่มเติมเพื่อรีเฟรชข้อมูล

โหมด DirectQuery

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

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

มีเหตุผลหลักสองประการในการพิจารณาการพัฒนาแบบจําลอง DirectQuery:

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

มีข้อดีหลายประการที่เกี่ยวข้องกับแบบจําลอง DirectQuery:

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

อย่างไรก็ตาม มีข้อจํากัดบางประการที่เกี่ยวข้องกับแบบจําลอง DirectQuery:

  • นิพจน์ Power Query/Mashup สามารถเป็นฟังก์ชันที่สามารถเปลี่ยนเป็นคิวรีดั้งเดิมที่แหล่งข้อมูลเข้าใจเท่านั้น
  • สูตร DAX ถูกจํากัดให้ใช้เฉพาะฟังก์ชันที่สามารถย้ายไปยังคิวรีดั้งเดิมที่แหล่งข้อมูลเข้าใจได้ ไม่รองรับตารางจากการคํานวณ
  • ไม่รองรับฟีเจอร์ข้อมูลเชิงลึกด่วน

จากมุมมองทรัพยากรบริการของ Power BI แบบจําลอง DirectQuery ต้องการ:

  • หน่วยความจําน้อยที่สุดในการโหลดแบบจําลอง (ข้อมูลเมตาเท่านั้น) เมื่อมีการคิวรี
  • บางครั้งบริการของ Power BI ต้องใช้ทรัพยากรตัวประมวลผลที่สําคัญเพื่อสร้างและประมวลผลคิวรีที่ส่งไปยังแหล่งข้อมูล เมื่อสถานการณ์นี้เกิดขึ้น อาจส่งผลต่อปริมาณงาน โดยเฉพาะอย่างยิ่งเมื่อผู้ใช้พร้อมกันกําลังคิวรีแบบจําลอง

สําหรับข้อมูลเพิ่มเติม โปรดดู ใช้ DirectQuery ใน Power BI Desktop

โหมดคอมโพสิต

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

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

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

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

สําหรับข้อมูลเพิ่มเติม โปรดดู ใช้แบบจําลองแบบรวมใน Power BI Desktop

ตารางนําเข้าและ DirectQuery บริสุทธิ์

ผู้สร้างแบบจําลองข้อมูลที่พัฒนาแบบจําลองแบบรวมมีแนวโน้มที่จะกําหนดค่าตารางชนิดมิติในโหมดนําเข้าหรือที่เก็บข้อมูลคู่ และตารางชนิดข้อเท็จจริงในโหมด DirectQuery สําหรับข้อมูลเพิ่มเติมเกี่ยวกับบทบาทตารางแบบจําลอง โปรดดู ทําความเข้าใจ Schema ดาวและความสําคัญสําหรับ Power BI

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

ตารางแบบไฮบริด

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

ภาพหน้าจอแสดงพาร์ติชันตารางแบบไฮบริดที่มีการเก็บถาวร การรีเฟรชแบบเพิ่มหน่วย และแถวเรียลไทม์ที่ทําเครื่องหมายไว้

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

Note

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

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