หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
เมื่อโหลดข้อมูลลงในตาราง Dataverse คุณจะแมปคอลัมน์ของคิวรีต้นทางในประสบการณ์การแก้ไขของกระแสข้อมูลกับคอลัมน์ตาราง Dataverse ปลายทาง นอกเหนือจากการแมปข้อมูลแล้ว ยังมีข้อควรพิจารณาและแนวทางปฏิบัติที่ดีที่สุดอื่นๆ ที่ต้องคํานึงถึง ในบทความนี้ เราจะกล่าวถึงการตั้งค่ากระแสข้อมูลต่างๆ ที่ควบคุมลักษณะการทํางานของการรีเฟรชกระแสข้อมูล และด้วยเหตุนี้ ข้อมูลในตารางปลายทาง
การควบคุมว่ากระแสข้อมูลจะสร้างหรืออัพเซิร์ตเรกคอร์ดการรีเฟรชแต่ละครั้ง
ทุกครั้งที่คุณรีเฟรชกระแสข้อมูล กระแสข้อมูลจะดึงเรกคอร์ดจากแหล่งที่มาและโหลดลงใน Dataverse ถ้าคุณเรียกใช้กระแสข้อมูลมากกว่าหนึ่งครั้ง ขึ้นอยู่กับวิธีที่คุณกําหนดค่ากระแสข้อมูล คุณสามารถ:
- สร้างเรกคอร์ดใหม่สําหรับการรีเฟรชกระแสข้อมูลแต่ละครั้ง แม้ว่าเรกคอร์ดดังกล่าวจะมีอยู่แล้วในตารางปลายทางก็ตาม
- สร้างเรกคอร์ดใหม่ถ้ายังไม่มีอยู่ในตาราง หรืออัปเดตเรกคอร์ดที่มีอยู่ถ้ามีอยู่ในตารางอยู่แล้ว ลักษณะการทํางานนี้เรียกว่า upsert
การใช้คอลัมน์คีย์จะบ่งชี้ถึงกระแสข้อมูลเพื่อเพิ่มเรกคอร์ดลงในตารางปลายทาง ในขณะที่การไม่เลือกคีย์จะบ่งชี้ถึงกระแสข้อมูลเพื่อสร้างเรกคอร์ดใหม่ในตารางปลายทาง
คอลัมน์หลักคือคอลัมน์ที่ไม่ซ้ํากันและเป็นตัวกําหนดของแถวข้อมูลในตาราง ตัวอย่างเช่น ในตารางคําสั่งซื้อ ถ้ารหัสคําสั่งซื้อเป็นคอลัมน์คีย์ คุณไม่ควรมีสองแถวที่มีรหัสคําสั่งซื้อเดียวกัน นอกจากนี้ รหัสคําสั่งซื้อหนึ่งรหัส—สมมติว่าคําสั่งซื้อที่มีรหัส 345—ควรแสดงเพียงแถวเดียวในตาราง เมื่อต้องการเลือกคอลัมน์หลักสําหรับตารางใน Dataverse จากกระแสข้อมูล คุณต้องตั้งค่าฟิลด์คีย์ในประสบการณ์การแมปตาราง
การเลือกชื่อหลักและเขตข้อมูลคีย์เมื่อสร้างตารางใหม่
รูปภาพต่อไปนี้แสดงวิธีที่คุณสามารถเลือกคอลัมน์หลักที่จะเติมข้อมูลจากแหล่งข้อมูลเมื่อคุณสร้างตารางใหม่ในกระแสข้อมูล
เขตข้อมูลชื่อหลักที่คุณเห็นในการแม็ปเขตข้อมูลมีไว้สําหรับเขตข้อมูลป้ายชื่อ ฟิลด์นี้ไม่จําเป็นต้องไม่ซ้ํากัน เขตข้อมูลที่ใช้ในตารางสําหรับการตรวจสอบรายการซ้ําคือเขตข้อมูลที่คุณตั้งค่าในเขตข้อมูล คีย์สํารอง
การมีคีย์หลักในตารางช่วยให้มั่นใจได้ว่าแม้ว่าคุณจะมีข้อมูลที่ซ้ํากันในฟิลด์ที่แมปกับคีย์หลัก แต่รายการที่ซ้ํากันจะไม่ถูกโหลดลงในตาราง ลักษณะการทํางานนี้ทําให้ข้อมูลมีคุณภาพสูงในตาราง ข้อมูลคุณภาพสูงเป็นสิ่งสําคัญในการสร้างโซลูชันการรายงานตามตาราง
เขตข้อมูลชื่อหลัก
ฟิลด์ชื่อหลักคือฟิลด์แสดงผลที่ใช้ใน Dataverse ฟิลด์นี้ใช้ในมุมมองเริ่มต้นเพื่อแสดงเนื้อหาของตารางในแอปพลิเคชันอื่น ฟิลด์นี้ไม่ใช่ฟิลด์คีย์หลัก และไม่ควรถือว่าเป็นฟิลด์นั้น ฟิลด์นี้สามารถมีค่าที่ซ้ํากันได้ เนื่องจากเป็นฟิลด์ที่แสดงผล อย่างไรก็ตาม แนวทางปฏิบัติที่ดีที่สุดคือการใช้เขตข้อมูลที่ต่อกันเพื่อแมปกับเขตข้อมูลชื่อหลัก ดังนั้นชื่อจึงสามารถอธิบายได้อย่างสมบูรณ์
ฟิลด์คีย์สํารองคือสิ่งที่ใช้เป็นคีย์หลัก
การเลือกเขตข้อมูลหลักเมื่อโหลดไปยังตารางที่มีอยู่
เมื่อแมปคิวรีกระแสข้อมูลกับตาราง Dataverse ที่มีอยู่ คุณสามารถเลือกได้ว่าควรใช้คีย์ใดเมื่อโหลดข้อมูลลงในตารางปลายทางหรือไม่
รูปภาพต่อไปนี้แสดงวิธีที่คุณสามารถเลือกคอลัมน์หลักที่จะใช้เมื่ออัปเดตเรกคอร์ดไปยังตาราง Dataverse ที่มีอยู่:
การตั้งค่าคอลัมน์ รหัสเฉพาะ ของตาราง และใช้เป็นฟิลด์หลักสําหรับการอัปเดตเรกคอร์ดลงในตาราง Dataverse ที่มีอยู่
แถวตาราง Microsoft Dataverse ทั้งหมดมีตัวระบุที่ไม่ซ้ํากันที่กําหนดเป็น GUID GUID เหล่านี้เป็นคีย์หลักสําหรับแต่ละตาราง ตามค่าเริ่มต้น คีย์หลักของตารางไม่สามารถตั้งค่าโดยกระแสข้อมูล และจะถูกสร้างขึ้นโดยอัตโนมัติโดย Dataverse เมื่อมีการสร้างเรกคอร์ด มีกรณีการใช้งานขั้นสูงที่ควรใช้ประโยชน์จากคีย์หลักของตาราง เช่น การรวมข้อมูลกับแหล่งข้อมูลภายนอกในขณะที่รักษาค่าคีย์หลักเดียวกันทั้งในตารางภายนอกและตาราง Dataverse
Note
- ความสามารถนี้พร้อมใช้งานเฉพาะเมื่อโหลดข้อมูลไปยังตารางที่มีอยู่เท่านั้น
- ฟิลด์ตัวระบุที่ไม่ซ้ํากันยอมรับเฉพาะสตริงที่มีค่า GUID ชนิดข้อมูลหรือค่าอื่น ๆ ทําให้การสร้างเรกคอร์ดล้มเหลว
เมื่อต้องการใช้ประโยชน์จากฟิลด์ตัวระบุที่ไม่ซ้ํากันของตาราง ให้เลือก โหลดไปยังตารางที่มีอยู่ ในหน้า แมปตาราง ขณะเขียนกระแสข้อมูล ในตัวอย่างที่แสดงในรูปภาพที่ตามมา จะโหลดข้อมูลลงในตาราง CustomerTransactions และใช้คอลัมน์ TransactionID จากแหล่งข้อมูลเป็นตัวระบุเฉพาะของตาราง
โปรดสังเกตว่าในดรอปดาวน์ เลือกคีย์ สามารถเลือกตัวระบุที่ไม่ซ้ํากัน ซึ่งมักจะมีชื่อว่า "tablename + id" ของตาราง เนื่องจากชื่อตารางคือ "CustomerTransactions" ฟิลด์ตัวระบุเฉพาะจึงมีชื่อว่า "CustomerTransactionId"
เมื่อเลือกแล้ว ส่วนการแมปคอลัมน์จะได้รับการอัปเดตเพื่อรวมตัวระบุที่ไม่ซ้ํากันเป็นคอลัมน์ปลายทาง จากนั้นคุณสามารถแมปคอลัมน์ต้นทางที่แสดงถึงตัวระบุที่ไม่ซ้ํากันสําหรับแต่ละเรกคอร์ด
อะไรคือผู้สมัครที่ดีสําหรับสาขาหลัก
เขตข้อมูลคีย์คือค่าที่ไม่ซ้ํากันซึ่งแสดงถึงแถวที่ไม่ซ้ํากันในตาราง การมีเขตข้อมูลนี้เป็นสิ่งสําคัญ เนื่องจากจะช่วยให้คุณหลีกเลี่ยงการมีระเบียนที่ซ้ํากันในตาราง ฟิลด์นี้สามารถมาจากสามแหล่ง:
คีย์หลักในระบบต้นทาง (เช่น OrderID ในตัวอย่างก่อนหน้านี้) เขตข้อมูลที่ต่อกันที่สร้างขึ้นผ่านการแปลง Power Query ในกระแสข้อมูล
การรวมกันของฟิลด์ที่จะเลือกในตัวเลือก คีย์สํารอง การรวมกันของฟิลด์ที่ใช้เป็นฟิลด์คีย์เรียกอีกอย่างว่าคีย์คอมโพสิต
ลบแถวที่ไม่มีอยู่แล้ว
ถ้าคุณต้องการให้ข้อมูลในตารางของคุณซิงโครไนซ์กับข้อมูลจากระบบต้นทางเสมอ ให้เลือกตัวเลือก ลบแถวที่ไม่มีอยู่ในผลลัพธ์ของคิวรีอีกต่อไป อย่างไรก็ตาม ตัวเลือกนี้ทําให้กระแสข้อมูลช้าลง เนื่องจากมีความจําเป็นในการเปรียบเทียบแถวตามคีย์หลัก (คีย์สํารองในการแม็ปฟิลด์ของกระแสข้อมูล) เพื่อให้การดําเนินการนี้เกิดขึ้น
ตัวเลือกนี้หมายความว่า ถ้ามีแถวข้อมูลในตารางที่ไม่มีอยู่ในเอาต์พุตคิวรีของการรีเฟรชกระแสข้อมูลถัดไป แถวนั้นจะถูกลบออกจากตาราง
Note
กระแสข้อมูล V2 มาตรฐานอาศัย createdon เขตข้อมูล และ modifiedon เพื่อลบแถวที่ไม่มีอยู่ในเอาต์พุตกระแสข้อมูลออกจากตารางปลายทาง ถ้าคอลัมน์เหล่านั้นไม่มีอยู่ในตารางปลายทาง เรกคอร์ดจะไม่ถูกลบ
ข้อจำกัดที่ทราบ
- การแม็ปไปยังเขตข้อมูล การค้นหาแบบพหุสัฐานยัง ไม่ได้รับการสนับสนุนในขณะนี้
- การแม็ปไปยังฟิลด์การค้นหาหลายระดับ ซึ่งเป็นการค้นหาที่ชี้ไปยังฟิลด์การค้นหาของตารางอื่นไม่ได้รับการสนับสนุนในขณะนี้
- การแม็ปไปยังฟิลด์สถานะ และ เหตุผลสถานะ ไม่ได้รับการสนับสนุนในขณะนี้
- การแม็ปข้อมูลลงในข้อความหลายบรรทัดที่มีอักขระตัวแบ่งบรรทัดไม่ได้รับการสนับสนุน และตัวแบ่งบรรทัดจะถูกลบออก คุณสามารถใช้แท็ก
<br>ตัวแบ่งบรรทัดเพื่อโหลดและรักษาข้อความหลายบรรทัดแทนได้ - ไม่รองรับการกําหนดค่าฟิลด์ ตัวเลือก ทั้งแบบเลือกครั้งเดียวและแบบเลือกหลายรายการในตารางเดียวกัน ในขณะที่ระบุค่ามากกว่าหนึ่งค่าสําหรับฟิลด์แบบเลือกหลายรายการ
- กระแสข้อมูล V2 มาตรฐานอาศัย
createdonเขตข้อมูล และmodifiedonเพื่อลบแถวที่ไม่มีอยู่ในเอาต์พุตกระแสข้อมูลออกจากตารางปลายทาง ถ้าคอลัมน์เหล่านั้นไม่มีอยู่ในตารางปลายทาง เรกคอร์ดจะไม่ถูกลบ - การแม็ปไปยังฟิลด์ที่มีการตั้งค่าคุณสมบัติ IsValidForCreate เป็น
falseไม่ได้รับการสนับสนุน (ตัวอย่างเช่น ฟิลด์ ลูกค้าองค์กร ของเอนทิตีผู้ติดต่อ)