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

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

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

สิ่งสําคัญ: ตรวจสอบแบบสอบถามมีค่าเท่ากับ (=) บน ช่วงเริ่มต้น หรือ ช่วงช่วง หากมีค่าเท่ากับ (=) ในพารามิเตอร์ทั้งสอง แถวหนึ่งอาจเป็นไปตามเงื่อนไขสำหรับสองพาร์ติชัน ซึ่งอาจทำให้เกิดข้อมูลที่ซ้ำกันในแบบจำลองได้ ตัวอย่างเช่น อาจ
#"Filtered Rows" = Table.SelectRows(dbo_Fact, each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd)ส่งผลให้มีข้อมูลที่คัดลอกกันคลิกตกลง เพื่อ ปิด
ในตัวแก้ไข Power Query ปิด & Apply Power Queryโหลดข้อมูลโดยยึดตามตัวกรองที่กําหนดไว้ในพารามิเตอร์ RangeStart และ RangeEnd และตัวกรองอื่น ๆ ที่คุณกําหนดไว้
Power Queryโหลดเฉพาะข้อมูลที่ระบุระหว่างพารามิเตอร์ RangeStart และ RangeEnd การโหลดควรไปอย่างรวดเร็ว ทั้งนี้ขึ้นอยู่กับจํานวนข้อมูลในช่วงเวลานั้น หากดูเหมือนว่าช้าและกระบวนการมาก อาจดูเหมือนว่าคิวรีไม่พับ
กําหนดนโยบาย
หลังจากที่คุณได้กําหนดพารามิเตอร์ RangeStart และ RangeEnd และกรองข้อมูลตามพารามิเตอร์เหล่านั้นแล้ว คุณจะต้องกําหนดนโยบายการรีเฟรชแบบเพิ่มหน่วย นโยบายจะถูกปรับใช้เฉพาะหลังจากที่มีการเผยแพร่แบบโมเดลไปยังบริการและการดําเนินการรีเฟรชด้วยตนเองหรือตามตารางเวลา
ในมุมมองข้อมูล > เขตข้อมูล >เมนูบริบทของตาราง และจากนั้น คลิกการ รีเฟรชแบบเพิ่ม หน่วย

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

เลือกการตั้งค่าเพิ่มเติม:
เลือก ตรวจหาการเปลี่ยนแปลง ข้อมูล เพื่อระบุคอลัมน์วันที่/เวลาที่ใช้ในการระบุและรีเฟรชเฉพาะวันที่ข้อมูลถูกเปลี่ยนแปลง คอลัมน์วันที่/เวลาต้องมีอยู่ โดยทั่วไปแล้วเพื่อวัตถุประสงค์ในการตรวจสอบที่แหล่งข้อมูล ซึ่ง ไม่ควรเป็นคอลัมน์เดียวกับ ที่ถูกใช้พาร์ติชั่นข้อมูลด้วยพารามิเตอร์ RangeStart และ RangeEnd ค่าสูงสุดของคอลัมน์นี้จะได้รับการประเมินสำหรับแต่ละช่วงเวลาในช่วงที่เพิ่มขึ้น หากไม่มีการเปลี่ยนแปลงตั้งแต่การรีเฟรชครั้งล่าสุด ช่วงเวลาปัจจุบันจะไม่รีเฟรช คุณยังสามารถระบุคิวรีPremiumเองได้เพื่อให้ชุดข้อมูลที่เผยแพร่ไปยังความจุอื่น เมื่อต้องการเรียนรู้เพิ่มเติม ดูที่การรีเฟรช แบบเพิ่มหน่วยขั้นสูง - คิวรีแบบปรับแต่งเองเพื่อตรวจหาการเปลี่ยนแปลงข้อมูล
เลือก รีเฟรชเฉพาะวันที่สมบูรณ์ เท่านั้นเพื่อรีเฟรชแค่ทั้งวัน หากการดําเนินการรีเฟรชตรวจพบหนึ่งวันไม่เสร็จสมบูรณ์ แถวของวันนั้นจะไม่ถูกรีเฟรช
คลิก ใช้ทั้งหมด เพื่อเสร็จสิ้นนโยบายการรีเฟรช ไม่ได้โหลดข้อมูลต้นฉบับด้วยขั้นตอนนี้
บันทึกและเผยแพร่ไปยังบริการ
เมื่อพารามิเตอร์ RangeStart และ RangeEnd ของคุณการกรองและรีเฟรชพารามิเตอร์เสร็จสมบูรณ์ ตรวจสอบให้แน่ใจว่าได้บันทึกแบบโมเดลของคุณแล้วเผยแพร่ไปยังบริการ ถ้าชุดข้อมูลของคุณจะมีขนาดใหญ่ โปรดตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน รูปแบบการจัดเก็บชุดข้อมูลขนาดใหญ่ ก่อนที่จะเรียกการรีเฟรชครั้งแรกในบริการ
รีเฟรชชุดข้อมูล
ในบริการ ให้รีเฟรชชุดข้อมูล การรีเฟรชครั้งแรกจะโหลดทั้งข้อมูลใหม่และอัปเดตในระยะเวลาการรีเฟรชเช่นเดียวกับข้อมูลในอดีตของช่วงเวลาร้านค้าทั้งหมด ซึ่งอาจใช้เวลาค่อนข้างนาน โดยขึ้นอยู่กับจํานวนข้อมูล การรีเฟรชครั้งต่อมา โดยทั่วไปการรีเฟรชด้วยตนเองหรือตามตารางเวลาจะเร็วขึ้นมากเนื่องจากมีการใช้นโยบายการรีเฟรชแบบเพิ่มหน่วยและข้อมูลเฉพาะในช่วงเวลาที่ระบุในการตั้งค่านโยบายการรีเฟรชเท่านั้นจะถูกรีเฟรช
แปลงวันที่เวลาเป็นจํานวนเต็ม
งานนี้ เป็นทางเลือก
ชนิดข้อมูลของพารามิเตอร์ RangeStart และ RangeEnd ต้องเป็นชนิดข้อมูลวันที่/เวลา อย่างไรก็ตาม ตารางไม่มีคอลัมน์ของชนิดข้อมูลวันที่/เวลา แต่จะมีคอลัมน์วันที่ของคีย์ตัวแทนจํานวนเต็มแทน yyyymmdd ในรูปแบบ คุณสามารถสร้างฟังก์ชันที่แปลงค่าวันที่/เวลาในพารามิเตอร์เพื่อให้ตรงกับคีย์ตัวแทนจํานวนเต็มของตารางแหล่งข้อมูล จากนั้น ฟังก์ชันจะถูกเรียกในขั้นตอนตัวกรอง ขั้นตอนนี้จะต้องใช้ถ้าตาราง แหล่งข้อมูลประกอบด้วยคีย์ ตัวแทนเป็นชนิดข้อมูลจํานวนเต็มเท่านั้น
ในตัวแก้ไข Power Queryคลิก รับข้อมูล > คิวรี ว่าง
ใน การตั้งค่า คิวรี พิมพ์ชื่อ ตัวอย่างเช่น DateKey จากนั้นในตัวแก้ไขสูตร ให้ใส่สูตรต่อไปนี้:
= (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)
เมื่อต้องการทดสอบสูตร ใน ป้อน พารามิเตอร์ ให้ป้อน ค่า date\time และจากนั้นคลิก เรียก ถ้าสูตรถูกต้อง ค่าจํานวนเต็มของวันที่จะถูกส่งกลับ หลังจากการตรวจสอบ ให้ลบคิวรีฟังก์ชันที่เรียกใช้แล้ว
ใน คิว รี ให้เลือกตาราง แล้วแก้ไขสูตรคิวรีเพื่อเรียกใช้ฟังก์ชันด้วยพารามิเตอร์ RangeStart และ RangeEnd ตัวอย่างเช่น
= Table.SelectRows(#"Sorted Rows", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))
นอกจากนี้ โปรดดู
แก้ไขปัญหาการกําหนดค่าการรีเฟรชแบบเพิ่มหน่วย
การรีเฟรชแบบเพิ่มหน่วยขั้นสูงด้วยจุดสิ้นสุด XMLA
กำหนดค่าการรีเฟรชตามกำหนดเวลา