แนวทางปฏิบัติที่ดีที่สุดสําหรับการออกแบบและพัฒนากระแสข้อมูลที่ซับซ้อน

หากกระแสข้อมูลที่คุณกําลังพัฒนากําลังใหญ่ขึ้นและซับซ้อนมากขึ้น นี่คือสิ่งที่คุณสามารถทําได้เพื่อปรับปรุงการออกแบบเดิมของคุณ

แยกออกเป็นกระแสข้อมูลหลายรายการ

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

แยกกระแสข้อมูลการแปลงข้อมูลจากกระแสข้อมูลการจัดเตรียม/การแยกข้อมูล

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

Multilayered dataflow architecture.

รูปภาพแสดงข้อมูลที่ถูกแยกจากแหล่งข้อมูลเพื่อจัดเตรียมกระแสข้อมูล ซึ่งตารางจะถูกจัดเก็บไว้ใน Dataverse หรือ Azure Data Lake storage จากนั้น ข้อมูลจะถูกย้ายเพื่อแปลงกระแสข้อมูลที่มีการแปลงข้อมูลและแปลงเป็นโครงสร้างคลังข้อมูล จากนั้น ข้อมูลจะถูกย้ายไปยังแบบจําลองความหมาย

ใช้ฟังก์ชันแบบกําหนดเอง

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

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

Screenshot of the Queries pane with the Get Holidays custom function and its data emphasized.

หมายเหตุ

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

วางคิวรีลงในโฟลเดอร์

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

ใช้ตารางที่มีการคํานวณ

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

ใช้ประโยชน์จากกลไกการคํานวณขั้นสูง

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

แบ่งหลายขั้นตอนออกเป็นหลายคิวรี

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

เพิ่มคุณสมบัติสําหรับคิวรีและขั้นตอน

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

ตรวจสอบให้แน่ใจว่าความจุอยู่ในภูมิภาคเดียวกัน

กระแสข้อมูลไม่สนับสนุนหลายประเทศหรือภูมิภาคในขณะนี้ ความจุแบบพรีเมียมต้องอยู่ในภูมิภาคเดียวกันกับผู้เช่า Power BI ของคุณ

แยกแหล่งข้อมูลภายในองค์กรออกจากแหล่งข้อมูลระบบคลาวด์

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

กระแสข้อมูลแยกตามการรีเฟรชตามกําหนดการที่จําเป็นสําหรับตาราง

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

หลีกเลี่ยงการรีเฟรชตามกําหนดเวลาสําหรับตารางที่เชื่อมโยงในพื้นที่ทํางานเดียวกัน

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

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

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