แชร์ผ่าน


ข้อควรพิจารณาในการแม็ปฟิลด์สําหรับกระแสข้อมูลมาตรฐาน

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

การควบคุมว่ากระแสข้อมูลจะสร้างหรืออัพเซิร์ตเรกคอร์ดการรีเฟรชแต่ละครั้ง

ทุกครั้งที่คุณรีเฟรชกระแสข้อมูล กระแสข้อมูลจะดึงเรกคอร์ดจากแหล่งที่มาและโหลดลงใน Dataverse ถ้าคุณเรียกใช้กระแสข้อมูลมากกว่าหนึ่งครั้ง ขึ้นอยู่กับวิธีที่คุณกําหนดค่ากระแสข้อมูล คุณสามารถ:

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

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

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

การเลือกชื่อหลักและเขตข้อมูลคีย์เมื่อสร้างตารางใหม่

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

คีย์หลักและคีย์สํารองเหมือนกัน

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

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

เขตข้อมูลชื่อหลัก

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

ฟิลด์คีย์สํารองคือสิ่งที่ใช้เป็นคีย์หลัก

การเลือกเขตข้อมูลหลักเมื่อโหลดไปยังตารางที่มีอยู่

เมื่อแมปคิวรีกระแสข้อมูลกับตาราง Dataverse ที่มีอยู่ คุณสามารถเลือกได้ว่าควรใช้คีย์ใดเมื่อโหลดข้อมูลลงในตารางปลายทางหรือไม่

รูปภาพต่อไปนี้แสดงวิธีที่คุณสามารถเลือกคอลัมน์หลักที่จะใช้เมื่ออัปเดตเรกคอร์ดไปยังตาราง Dataverse ที่มีอยู่:

การเลือกคีย์เพื่ออัปเซิร์ตข้อมูลลงในตาราง Dataverse

การตั้งค่าคอลัมน์ รหัสเฉพาะ ของตาราง และใช้เป็นฟิลด์หลักสําหรับการอัปเดตเรกคอร์ดลงในตาราง Dataverse ที่มีอยู่

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

Note

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

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

โปรดสังเกตว่าในดรอปดาวน์ เลือกคีย์ สามารถเลือกตัวระบุที่ไม่ซ้ํากัน ซึ่งมักจะมีชื่อว่า "tablename + id" ของตาราง เนื่องจากชื่อตารางคือ "CustomerTransactions" ฟิลด์ตัวระบุเฉพาะจึงมีชื่อว่า "CustomerTransactionId"

การเลือกคีย์หลักเพื่ออัปเซิร์ตข้อมูลลงในตาราง Dataverse

เมื่อเลือกแล้ว ส่วนการแมปคอลัมน์จะได้รับการอัปเดตเพื่อรวมตัวระบุที่ไม่ซ้ํากันเป็นคอลัมน์ปลายทาง จากนั้นคุณสามารถแมปคอลัมน์ต้นทางที่แสดงถึงตัวระบุที่ไม่ซ้ํากันสําหรับแต่ละเรกคอร์ด

การแม็ปข้อมูลกับคอลัมน์ ตัวระบุที่ไม่ซ้ํากัน

อะไรคือผู้สมัครที่ดีสําหรับสาขาหลัก

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

  • คีย์หลักในระบบต้นทาง (เช่น OrderID ในตัวอย่างก่อนหน้านี้) เขตข้อมูลที่ต่อกันที่สร้างขึ้นผ่านการแปลง Power Query ในกระแสข้อมูล

    การผสานคอลัมน์เพื่อสร้างคอลัมน์ที่ไม่ซ้ํากันที่เชื่อมต่อกัน

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

    การสร้างคีย์คอมโพสิตผ่านการแม็ปฟิลด์

ลบแถวที่ไม่มีอยู่แล้ว

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

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

ลบแถวที่ไม่มีอยู่แล้ว

Note

กระแสข้อมูล V2 มาตรฐานอาศัย createdon เขตข้อมูล และ modifiedon เพื่อลบแถวที่ไม่มีอยู่ในเอาต์พุตกระแสข้อมูลออกจากตารางปลายทาง ถ้าคอลัมน์เหล่านั้นไม่มีอยู่ในตารางปลายทาง เรกคอร์ดจะไม่ถูกลบ

ข้อจำกัดที่ทราบ

  • การแม็ปไปยังเขตข้อมูล การค้นหาแบบพหุสัฐานยัง ไม่ได้รับการสนับสนุนในขณะนี้
  • การแม็ปไปยังฟิลด์การค้นหาหลายระดับ ซึ่งเป็นการค้นหาที่ชี้ไปยังฟิลด์การค้นหาของตารางอื่นไม่ได้รับการสนับสนุนในขณะนี้
  • การแม็ปไปยังฟิลด์สถานะ และ เหตุผลสถานะ ไม่ได้รับการสนับสนุนในขณะนี้
  • การแม็ปข้อมูลลงในข้อความหลายบรรทัดที่มีอักขระตัวแบ่งบรรทัดไม่ได้รับการสนับสนุน และตัวแบ่งบรรทัดจะถูกลบออก คุณสามารถใช้แท็ก <br> ตัวแบ่งบรรทัดเพื่อโหลดและรักษาข้อความหลายบรรทัดแทนได้
  • ไม่รองรับการกําหนดค่าฟิลด์ ตัวเลือก ทั้งแบบเลือกครั้งเดียวและแบบเลือกหลายรายการในตารางเดียวกัน ในขณะที่ระบุค่ามากกว่าหนึ่งค่าสําหรับฟิลด์แบบเลือกหลายรายการ
  • กระแสข้อมูล V2 มาตรฐานอาศัย createdon เขตข้อมูล และ modifiedon เพื่อลบแถวที่ไม่มีอยู่ในเอาต์พุตกระแสข้อมูลออกจากตารางปลายทาง ถ้าคอลัมน์เหล่านั้นไม่มีอยู่ในตารางปลายทาง เรกคอร์ดจะไม่ถูกลบ
  • การแม็ปไปยังฟิลด์ที่มีการตั้งค่าคุณสมบัติ IsValidForCreate เป็น false ไม่ได้รับการสนับสนุน (ตัวอย่างเช่น ฟิลด์ ลูกค้าองค์กร ของเอนทิตีผู้ติดต่อ)