โหมดแบบจําลองความหมายในบริการของ 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 ฟังก์ชันเมื่อสร้างคิวรีการเตรียมข้อมูล
  • ใช้ทั้งชุดของ ฟังก์ชัน Data Analysis Expressions (DAX) เมื่อเพิ่มประสิทธิภาพแบบจําลองที่มีตรรกะทางธุรกิจ มีการรองรับสําหรับคอลัมน์จากการคํานวณ ตารางจากการคํานวณ และหน่วยวัด

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

Diagram shows an Import model can integrate data from any number of external data source types.

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

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

หมายเหตุ

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

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

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

โหมด DirectQuery

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

Diagram shows how DirectQuery model issues native queries to the underlying data source.

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

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

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

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

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

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

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

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

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

โหมดแบบรวม

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

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

Diagram shows that a Composite model is a combination of Import and DirectQuery storage modes, configured at table level.

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

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

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

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

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

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

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

Screenshot shows a hybrid table partition with Archived, Incremental refresh, and Real time rows marked.

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

หมายเหตุ

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

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