แชร์ผ่าน


กําหนดค่าการรีเฟรชแบบเพิ่มหน่วยและข้อมูลในเวลาจริง

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

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

สร้างพารามิเตอร์

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

  1. ใน Power BI Desktop ให้เลือก แปลงข้อมูล บนริบบอน หน้าแรก เพื่อเปิดตัวแก้ไข Power Query

  2. เลือก เมนูดรอปดาวน์ จัดการพารามิเตอร์ จากนั้นเลือก พารามิเตอร์ใหม่

  3. ใน เขตข้อมูล ชื่อ ให้ใส่ ช่วงเริ่มต้น (ตรงตามตัวพิมพ์ใหญ่-เล็ก) ใน เขตข้อมูล ชนิด ให้เลือก วันที่/เวลา จากรายการดรอปดาวน์ ใน เขตข้อมูล ค่า ปัจจุบัน ให้ใส่ค่าวันที่และเวลาเริ่มต้น

    กําหนดพารามิเตอร์ เริ่มต้นช่วง ในกล่องโต้ตอบ จัดการพารามิเตอร์

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

    กําหนดพารามิเตอร์ ช่วงสิ้นสุด ในกล่องโต้ตอบ จัดการพารามิเตอร์

หลังจากที่คุณได้กําหนดพารามิเตอร์ RangeStart และ RangeEnd แล้ว คุณจะต้องกรองข้อมูลที่จะโหลดลงในแบบจําลองที่ยึดตามพารามิเตอร์เหล่านั้น

กรองข้อมูล

หมายเหตุ

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

ตอนนี้คุณจะใช้ตัวกรองโดยยึดตาม เงื่อนไข ในพารามิเตอร์ RangeStart และ RangeEnd

  1. ในตัวแก้ไข Power Query ให้เลือกคอลัมน์วันที่ที่คุณต้องการกรอง จากนั้นเลือกลูกศร>ดรอปดาวน์ ตัวกรองวันที่ ตัวกรอง>แบบกําหนดเอง

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

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

    กล่องโต้ตอบตัวกรองแถวที่แสดงเงื่อนไขช่วงเริ่มต้นและช่วงสิ้นสุด

    สิ่งสําคัญ: ตรวจสอบคิวรีที่มีค่าเท่ากับ (=) บน RangeStart หรือ RangeEnd แต่ไม่ใช่ทั้งสองอย่าง ถ้ามีค่าเท่ากับ (=) ในพารามิเตอร์ทั้งสอง แถวหนึ่งอาจเป็นไปตามเงื่อนไขสําหรับสองพาร์ติชัน ซึ่งอาจนําไปสู่ข้อมูลที่ซ้ํากันในแบบจําลองได้ ตัวอย่างเช่น = Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd) อาจส่งผลให้มีข้อมูลที่ซ้ํากันถ้ามี OrderDate ที่เท่ากับทั้ง RangeStart และ RangeEnd

    เลือก ตกลง เพื่อปิด

  3. บนริบบอน หน้าแรก ใน ตัวแก้ไข Power Query ให้เลือก ปิด & นําไปใช้ Power Query จะโหลดข้อมูลตามตัวกรองที่กําหนดโดยพารามิเตอร์ RangeStart และ RangeEnd และตัวกรองอื่น ๆ ที่คุณกําหนดไว้

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

กําหนดนโยบาย

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

  1. ในมุมมอง ตาราง ให้คลิกขวาที่ตารางในบานหน้าต่าง แล้วเลือก การรีเฟรชแบบเพิ่มหน่วย

    มุมมองตารางที่แสดงเมนูบริบทตารางที่มีการรีเฟรชแบบเพิ่มหน่วยที่เลือกไว้

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

  3. ระบุการตั้งค่าที่จําเป็น:

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

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

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

  4. ระบุการตั้งค่าที่เลือกได้:

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

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

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

    นโยบายของคุณควรมีลักษณะดังนี้ ทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ:

    การรีเฟรชแบบเพิ่มหน่วยและกล่องโต้ตอบนโยบายข้อมูลแบบเรียลไทม์ที่แสดงช่วงการรีเฟรชแบบเพิ่มหน่วย

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

บันทึกและเผยแพร่ไปยังบริการ

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

รีเฟรชแบบจําลอง

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

แปลงวันที่เวลาเป็นจํานวนเต็ม

งานนี้จําเป็นถ้าตารางของคุณใช้คีย์ตัวแทนจํานวนเต็มแทนค่าวันที่/เวลาในคอลัมน์วันที่ที่คุณใช้สําหรับข้อกําหนดตัวกรอง RangeStart และ RangeEnd

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

  1. บนริบบอน หน้าแรก ใน ตัวแก้ไข Power Query ให้เลือกดรอปดาวน์ แหล่งข้อมูลใหม่ จากนั้นเลือก คิวรี่ว่างเปล่า

  2. ใน การตั้งค่าคิวรี ให้ใส่ชื่อ ตัวอย่างเช่น DateKey จากนั้นในตัวแก้ไขสูตร ให้ใส่สูตรต่อไปนี้:

    = (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)

    ตัวแก้ไขฟังก์ชัน Power BI ที่แสดงฟังก์ชัน DateKey ตัวแทนจํานวนเต็ม

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

  4. ใน คิวรี ให้เลือกตาราง จากนั้นแก้ไขสูตรคิวรีเพื่อเรียกใช้ฟังก์ชันด้วยพารามิเตอร์ RangeStart และ RangeEnd

    = Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))

    ตาราง Power BI ที่แสดงสูตรคิวรีที่ปรับเปลี่ยนเพื่อใช้พารามิเตอร์ RangeStart และ RangeEnd