แชร์ผ่าน


Azure Cosmos DB v2 (เบต้า)

สรุป

รายการ คำอธิบาย
สถานะการเผยแพร่ Beta
ผลิตภัณฑ์ Power BI (แบบจําลองความหมาย)
Power BI (กระแสข้อมูล)
ผ้า (กระแสข้อมูลรุ่น 2)
ชนิดการรับรองความถูกต้องที่ได้รับการสนับสนุน คีย์ตัวดึงข้อมูล

ข้อกำหนดเบื้องต้น

รองรับความสามารถ

  • นำเข้า
  • DirectQuery (แบบจําลองความหมายของ Power BI)
  • ตัวเลือกขั้นสูง
    • จํานวนการลองใหม่
    • เปิดใช้งานฟังก์ชัน "AVERAGE" Passdown
    • เปิดใช้งานการลงรายละเอียด "SORT" สําหรับหลายคอลัมน์

เชื่อมต่อกับ Azure Cosmos DB

วิธีเชื่อมต่อกับข้อมูล Azure Cosmos DB:

  1. เปิดใช้งาน Power BI Desktop

  2. ในแท็บหน้าแรก เลือกรับข้อมูล

  3. ในกล่องค้นหา ใส่ Cosmos DB v2

  4. เลือก Azure Cosmos DB v2 (เบต้า) แล้วเลือกเชื่อมต่อ

    สกรีนช็อตที่แสดงการเลือกเลือก Azure Cosmos DB v2

  5. บนหน้า การเชื่อมต่อ Azure Cosmos DB v2 สําหรับ จุดสิ้นสุด Cosmos ใส่ URI ของบัญชี Azure Cosmos DB ที่คุณต้องการใช้ สําหรับ โหมดการเชื่อมต่อข้อมูล ให้เลือกโหมดที่เหมาะสมกับกรณีการใช้งานของคุณ โดยทําตามคําแนะนําทั่วไปเหล่านี้:

    • สําหรับชุดข้อมูลที่มีขนาดเล็กลง เลือกนําเข้า เมื่อใช้โหมดการนําเข้า Power BI ทํางานกับ Cosmos DB เพื่อนําเข้าเนื้อหาของชุดข้อมูลทั้งหมดสําหรับใช้ในการแสดงภาพของคุณ

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

      SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'

    หมายเหตุ

    ใช้ Azure Synapse Link สําหรับ Azure Cosmos DB ถ้าคุณต้องการดําเนินการฟังก์ชันการรวมแบบข้ามพาร์ติชันกับคอนเทนเนอร์ Cosmos DB

    ข้อมูลเพิ่มเติม:

    ภาพหน้าจอของกล่องโต้ตอบการเชื่อมต่อที่แสดงรายการจุดสิ้นสุด Cosmos และโหมดการเชื่อมต่อข้อมูลที่ตั้งค่าเป็น DirectQuery

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

  7. ในบานหน้าต่าง ตัวเลือกการแสดง เลือกกล่องกาเครื่องหมายสําหรับชุดข้อมูลที่คุณต้องการใช้

    สกรีนช็อตของตัวนําทางที่เน้นข้อมูลที่คุณเลือก

  8. วิธีที่เหมาะสมที่สุดในการระบุตัวกรองคีย์พาร์ติชัน (เพื่อให้ฟังก์ชันการรวมสามารถผลักลงไป Cosmos DB) คือการใช้ พารามิเตอร์ M แบบไดนามิก หากต้องการใช้พารามิเตอร์ M แบบไดนามิก คุณจะต้องสร้างชุดข้อมูลที่มีค่าคีย์พาร์ติชันที่ไม่ซ้ํากัน สร้างพารามิเตอร์ เพิ่มเป็นตัวกรองบนชุดข้อมูลหลัก ผูกกับชุดข้อมูลคีย์พาร์ติชันที่ไม่ซ้ํากัน และใช้เป็นตัวแบ่งส่วนข้อมูลสําหรับชุดข้อมูลหลัก ใช้ขั้นตอนต่อไปนี้เพื่อเปิดใช้งานพารามิเตอร์ M แบบไดนามิกสําหรับการกรองคีย์พาร์ติชัน

    ก. สร้างชุดข้อมูลที่มีค่าคีย์พาร์ติชันที่ไม่ซ้ํากัน:

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

    สกรีนช็อตแสดงวิธีการเลือกรายการซ้ําจากคิวรีที่มีอยู่ของคุณในตัวแก้ไข Power Query

    เปลี่ยนชื่อแบบจําลองคีย์พาร์ติชันใหม่ แล้วคลิกขวาบนคอลัมน์คีย์พาร์ติชัน Cosmos DB ในตัวอย่าง นี้ ผลิตภัณฑ์ คือคอลัมน์คีย์พาร์ติชัน Cosmos DB เลือก เอาคอลัมน์อื่นออก แล้วเลือก เอารายการที่ซ้ํากันออก

    สกรีนช็อตที่แสดงคีย์พาร์ติชันที่ไม่ซ้ํากันในตัวแก้ไข Power Query

    ข. สร้างพารามิเตอร์สําหรับการกรองแบบไดนามิก:

    ในตัวแก้ไข Power Query เลือกจัดการพารามิเตอร์พารามิเตอร์>ใหม่ เปลี่ยนชื่อพารามิเตอร์ใหม่เพื่อแสดงพารามิเตอร์ตัวกรองและป้อนค่าที่ถูกต้องเป็น ค่าปัจจุบัน

    สกรีนช็อตที่แสดงวิธีการสร้างพารามิเตอร์ในตัวแก้ไข Power Query

    ค. ใช้ตัวกรองแบบกําหนดพารามิเตอร์ในชุดข้อมูลหลัก:

    เลือกไอคอนดรอปดาวน์ของคอลัมน์คีย์พาร์ติชัน จากนั้นเลือกตัวกรอง>ข้อความเท่ากับ เปลี่ยนชนิดตัวกรองจากข้อความเป็นพารามิเตอร์ จากนั้นเลือกพารามิเตอร์ที่สร้างขึ้นในขั้นตอน b เลือก ปิดและใช้ ที่มุมบนซ้ายของตัวแก้ไข Power Query

    สกรีนช็อตที่แสดงขั้นตอนในการใช้ตัวกรองแบบกําหนดพารามิเตอร์

    ง. สร้างตัวแบ่งส่วนข้อมูลค่าคีย์ของพาร์ติชันด้วยการผูกพารามิเตอร์:

    ใน Power BI เลือก แท็บแบบจําลอง จากนั้นเลือกเขตข้อมูลคีย์พาร์ติชัน จากแผงคุณสมบัติ เลือกการผูกขั้นสูง>กับพารามิเตอร์ เลือกพารามิเตอร์ที่สร้างขึ้นในขั้นตอน b

    สกรีนช็อตที่แสดงขั้นตอนในการผูกพารามิเตอร์

    เลือก แท็บรายงาน และเพิ่มตัวแบ่งส่วนข้อมูลด้วยคีย์พาร์ติชันที่ไม่ซ้ํากัน

    สกรีนช็อตของตัวแบ่งส่วนข้อมูล

    จ. เพิ่มการแสดงภาพและใช้ตัวกรองคีย์พาร์ติชันจากตัวแบ่งส่วนข้อมูล:

    เนื่องจากค่าคีย์พาร์ติชันที่เลือกบนตัวแบ่งส่วนข้อมูลถูกผูกไว้กับพารามิเตอร์ (เหมือนที่ทําในขั้นตอน d) และตัวกรองพารามิเตอร์จะถูกนําไปใช้กับชุดข้อมูลหลัก (ตามที่ทําในขั้นตอน c) ค่าคีย์พาร์ติชันที่เลือกจะถูกนําไปใช้เป็นตัวกรองบนชุดข้อมูลหลักและคิวรีที่มีตัวกรองคีย์พาร์ติชันจะถูกส่งผ่านลงไปยัง Cosmos DB ในการแสดงภาพทั้งหมด

    สกรีนช็อตของการแสดงภาพหลังจากใช้ตัวกรองคีย์พาร์ติชัน

ตัวเลือกขั้นสูง

Power Query มีชุดของตัวเลือกขั้นสูงที่คุณสามารถเพิ่มลงในคิวรีของคุณได้ถ้าจําเป็น

ตารางต่อไปนี้แสดงรายการของตัวเลือกขั้นสูงทั้งหมดที่คุณสามารถตั้งค่าได้ใน Power Query

ตัวเลือกขั้นสูง คำอธิบาย
จํานวนการลองใหม่ ให้ลองใหม่กี่ครั้งถ้ามีรหัสการส่งกลับ HTTP ของ 408 - Request Timeout412 - Precondition Failed, หรือ429 - Too Many Requests จํานวนเริ่มต้นของการลองใหม่คือ 5
เปิดใช้งานฟังก์ชัน AVERAGE Passdown ระบุว่าตัวเชื่อมต่ออนุญาตให้มีการส่งผ่านลงของฟังก์ชันการรวม AVG ไปยัง Cosmos DB หรือไม่ ค่าเริ่มต้นคือ 1 และตัวเชื่อมต่อพยายามส่งผ่านลงฟังก์ชันการรวม AVG ลงไปยัง Cosmos DB ตามค่าเริ่มต้น ถ้าอาร์กิวเมนต์มีสตริง บูลีน หรือค่า null สําหรับฟังก์ชันการรวม AVG ชุดผลลัพธ์ที่ไม่ได้กําหนดจะถูกส่งกลับโดยเซิร์ฟเวอร์ Cosmos DB เมื่อตั้งค่าเป็น 0 ฟังก์ชันการรวม AVG จะไม่ถูกส่งลงไปยังเซิร์ฟเวอร์ Cosmos DB และตัวเชื่อมต่อจัดการการดําเนินการรวม AVG เอง
เปิดใช้งาน SORT Passdown สําหรับหลายคอลัมน์ ระบุว่าตัวเชื่อมต่ออนุญาตให้คอลัมน์หลายคอลัมน์ถูกส่งลงไปยัง Cosmos DB เมื่อระบุในคําสั่ง ORDER BY ของคิวรี SQL หรือไม่ ค่าเริ่มต้นคือ 0 และถ้ามีการระบุคอลัมน์มากกว่าหนึ่งคอลัมน์ในส่วนคําสั่ง ORDER BY ตัวเชื่อมต่อจะไม่ส่งผ่านคอลัมน์ตามค่าเริ่มต้นและจัดการการดําเนินการสั่งซื้อด้วยตัวเองแทน เมื่อตั้งค่าเป็น 1 ตัวเชื่อมต่อจะพยายามเลื่อนลงหลายคอลัมน์ไปยัง Cosmos DB เมื่อระบุในคําสั่ง ORDER BY ของคิวรี SQL หากต้องการอนุญาตให้หลายคอลัมน์ถูกส่งลงไปยัง Cosmos DB ตรวจสอบให้แน่ใจว่ามีดัชนีแบบรวมที่ตั้งค่าไว้ในคอลัมน์ในคอลเลกชันที่เกี่ยวข้อง สําหรับคอลเลกชันที่แบ่งพาร์ติชัน คิวรี SQL ที่มี ORDER BY จะถูกส่งลงไปยัง Cosmos DB เท่านั้นถ้าคิวรีมีตัวกรองบนคีย์ที่มีการแบ่งพาร์ติชัน นอกจากนี้ ถ้ามีคอลัมน์มากกว่าแปดคอลัมน์ที่ระบุในส่วนคําสั่ง ORDER BY ตัวเชื่อมต่อจะไม่ส่งผ่านคําสั่ง ORDER BY และจะจัดการการดําเนินการเรียงลําดับแทน

ปัญหาและข้อจำกัดที่ทราบ

  • สําหรับพาร์ติชัน Cosmos DB คอนเทนเนอร์ คิวรี SQL กับฟังก์ชันการรวมจะถูกส่งลงไปยัง Cosmos DB ถ้าคิวรียังประกอบด้วยตัวกรอง (ส่วนคําสั่ง WHERE) บนคีย์พาร์ติชัน ถ้าคิวรีรวมไม่มีตัวกรองบนคีย์พาร์ติชัน การรวมจะดําเนินการโดยตัวเชื่อมต่อ

  • ตัวเชื่อมต่อไม่ได้ส่งผ่านฟังก์ชันการรวมถ้าถูกเรียกใช้หลังจาก TOP หรือ LIMIT ถูกนําไปใช้ Cosmos DB ประมวลผลการดําเนินการ TOP ที่ส่วนท้ายเมื่อประมวลผลคิวรี ตัวอย่างเช่น ในคิวรีต่อไปนี้ TOP จะถูกนําไปใช้ในคิวรี่ย่อย ในขณะที่ฟังก์ชันการรวมจะถูกนําไปใช้ที่ด้านบนของชุดผลลัพธ์นั้น:

    SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

  • ถ้ามี DISTINCT ให้ไว้ในฟังก์ชันรวม ตัวเชื่อมต่อจะไม่ส่งผ่านฟังก์ชันการรวมลงไปยัง Cosmos DB ถ้ามีส่วนคําสั่ง DISTINCT ในฟังก์ชันการรวม เมื่อปรากฏในฟังก์ชันการรวม DISTINCT ไม่ได้รับการสนับสนุนโดย Cosmos DB SQL API

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

  • สําหรับฟังก์ชันการรวม AVG Cosmos DB จะแสดงผลลัพธ์ที่ไม่ได้กําหนดเป็นชุดผลลัพธ์ ถ้าอาร์กิวเมนต์ใด ๆ ใน SUM เป็นสตริง บูลีน หรือ null ตัวเชื่อมต่อเปิดคุณสมบัติการเชื่อมต่อเพื่อปิดใช้งานการส่งผ่านลงฟังก์ชันการรวม AVG ไปยัง Cosmos DB ในกรณีที่ลักษณะการทํางาน Cosmos DB ค่าเริ่มต้นนี้จําเป็นต้องถูกแทนที่ เมื่อปิดใช้งานการลงรายการ AVG มันจะไม่ถูกส่งลงไปยัง Cosmos DB และตัวเชื่อมต่อจะจัดการการดําเนินการรวม AVG เอง สําหรับข้อมูลเพิ่มเติม ไปที่ "เปิดใช้งานฟังก์ชัน AVERAGE Passdown" ใน ตัวเลือกขั้นสูง

  • Azure Cosmos DB Containers กับคีย์พาร์ติชันขนาดใหญ่ไม่ได้รับการสนับสนุนในตัวเชื่อมต่อในขณะนี้

  • รายการส่งผ่านการรวมถูกปิดใช้งานสําหรับไวยากรณ์ต่อไปนี้เนื่องจากข้อจํากัดของเซิร์ฟเวอร์:

    • เมื่อคิวรีไม่ได้กรองคีย์พาร์ติชันหรือเมื่อตัวกรองคีย์พาร์ติชันใช้ตัวดําเนินการ OR กับเพรดิเคตอื่นที่ระดับบนสุดในส่วนคําสั่ง WHERE

    • เมื่อคิวรีมีอย่างน้อยหนึ่งคีย์พาร์ติชันปรากฏในส่วนคําสั่ง IS NOT NULL ในส่วนคําสั่ง WHERE

  • ตัวเชื่อมต่อ V2 ไม่สนับสนุนชนิดข้อมูลที่ซับซ้อน เช่น อาร์เรย์ วัตถุ และโครงสร้างแบบลําดับชั้น เราขอแนะนําให้ใช้ คุณลักษณะ Fabric Mirroring สําหรับ Azure Cosmos DB สําหรับสถานการณ์เหล่านั้น

  • ตัวเชื่อมต่อ V2 ใช้การสุ่มตัวอย่างของเอกสาร 1,000 รายการแรกที่จะเกิดขึ้นกับเค้าร่างที่อนุมาน ไม่แนะนําสําหรับสถานการณ์วิวัฒนาการของสคีมาเมื่อมีการอัปเดตเฉพาะส่วนหนึ่งของเอกสาร ตัวอย่างเช่น คุณสมบัติที่เพิ่มใหม่ไปยังเอกสารหนึ่งเอกสารในคอนเทนเนอร์ที่มีจํานวนมากของเอกสารอาจไม่รวมอยู่ใน Schema ที่อนุมาน เราขอแนะนําให้ใช้ คุณลักษณะ Fabric Mirroring สําหรับ Azure Cosmos DB สําหรับสถานการณ์เหล่านั้น

  • ในขณะนี้ตัวเชื่อมต่อ V2 ไม่สนับสนุนค่าที่ไม่ใช่สตริงในคุณสมบัติวัตถุ

  • ตัวกรอง passdown ถูกปิดใช้งานสําหรับไวยากรณ์ต่อไปนี้เนื่องจากข้อจํากัดของเซิร์ฟเวอร์:

    • เมื่อมีการอ้างอิงคิวรีที่มีคอลัมน์รวมอย่างน้อยหนึ่งคอลัมน์ในส่วนคําสั่ง WHERE