STARTOFWEEK คืนตารางที่มีวันแรกของสัปดาห์ตามปฏิทินที่กำหนด ใช้เป็นตัวกรองใน CALCULATE หรือดึงค่าสเกลาร์ด้วย MINX ฟังก์ชันนี้จำเป็นต้องมีตารางวันที่ที่ถูกกำหนดไว้เป็น Date Table
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| calendar | Calendar Reference | ปฏิทิน/ตารางวันที่ที่ใช้กำหนดขอบเขตสัปดาห์ (ต้องเป็น Date Table ที่กำหนดไว้ในโมเดล) |
STARTOFWEEK เป็นฟังก์ชัน Time Intelligence ที่คืนตารางวันที่มีขนาด 1 แถว แสดงวันแรกของสัปดาห์ในบริบทปัจจุบัน โดยคืนค่าจากปฏิทินที่คุณระบุ
ส่วนที่ยุ่งคือ STARTOFWEEK คืนตาราง ไม่ใช่ค่าเดี่ยว! ถ้าต้องการค่า Scalar Date ต้องใช้ MINX หรือ MIN บนคอลัมน์วันที่
คำสำคัญ: ฟังก์ชันนี้ขึ้นอยู่กับคำนิยามสัปดาห์ในตารางวันที่ของคุณ ถ้าตารางวันที่กำหนดว่าสัปดาห์เริ่มวันจันทร์ ผลลัพธ์ก็จะเป็นวันจันทร์ ถ้าเริ่มวันอาทิตย์ ผลลัพธ์ก็จะเป็นวันอาทิตย์
ส่วนตัวผม ถ้าต้องทำตัวชี้วัดรายสัปดาห์ STARTOFWEEK + ENDOFWEEK + CALCULATE เป็นสามตัวอักษรสั้นๆ ที่ช่วยชีวิตได้มาก 😎
แปลงเป็นค่าเดี่ยวแล้วใช้ทำตรรกะช่วงสัปดาห์
ใช้เป็นตัวกรองเพื่อประเมิน measure ณ จุดเริ่มสัปดาห์
STARTOFWEEK คืนตาราง 1 แถว MINX ดึงคอลัมน์วันที่ออกมาเป็นค่าเดี่ยว
รวม Amount ตั้งแต่วันเริ่มสัปดาห์ (ใช้ >= เพื่อเทียบวันที่)
STARTOFWEEK ทำการ Filter Context Transition กำหนด 'Date' ให้เป็นวันแรกของสัปดาห์
กำหนดช่วงวันที่เต็มสัปดาห์ด้วย STARTOFWEEK และ ENDOFWEEK
เพราะ STARTOFWEEK คืนตาราง ไม่ใช่ค่าเดี่ยว MINX (หรือ MIN) ดึงคอลัมน์วันที่ออกมาเป็นค่า scalar ที่สามารถใช้ในการเปรียบเทียบได้
ขึ้นอยู่กับตารางวันที่ของคุณ ตรวจสอบคอลัมน์ Week Start หรือคำนิยามสัปดาห์ใน Date Table ถ้าธุรกิจคุณเริ่มสัปดาห์จันทร์ ตารางวันที่ควรจะเสร็จแล้ว
STARTOFWEEK หาวันแรกของสัปดาห์ STARTOFMONTH หาวันแรกของเดือน STARTOFQUARTER หาวันแรกของไตรมาส STARTOFYEAR หาวันแรกของปี
ทั้งสองได้ แต่ Calculated Column จะต้องไม่ใช้ Filter Context ที่ขึ้นอยู่กับ Slicer เพราะ Calculated Column ประเมินครั้งเดียวตอนโหลดข้อมูล
DATEADD ย้ายวันที่ไปข้างหน้า/ข้างหลัง STARTOFWEEK หาขอบเขตวันแรก DATEADD เป็น offset STARTOFWEEK เป็น boundary
ฟังก์ชันที่ผู้เขียนโยงไว้กับ STARTOFWEEK จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATESBETWEEN คืนตารางวันที่ที่อยู่ระหว่าง StartDate และ EndDate (รวมวันเริ่ม/วันจบ) เหมาะกับการใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณตามช่วงวันที่ที่กำหนดเอง
DATESWTD คืนตารางวันที่ตั้งแต่ต้นสัปดาห์จนถึงวันที่ในบริบทปัจจุบัน ใช้เป็นตัวกรองเวลาใน CALCULATE เพื่อคำนวณยอดสะสมตั้งแต่ต้นสัปดาห์
ฟังก์ชัน ENDOFWEEK คืนตารางวันที่ที่แสดงวันสิ้นสุดของสัปดาห์ตามบริบทวันที่ปัจจุบัน ใช้สำหรับการวิเคราะห์ข้อมูลตามระดับสัปดาห์ และการเปรียบเทียบเมตริกส์ณวันปิดสัปดาห์
NEXTWEEK คืนตารางวันที่ของสัปดาห์ถัดไปจากบริบทวันที่ปัจจุบัน มักใช้เป็นตารางตัวกรองใน CALCULATE เพื่อคำนวณค่าแบบ "สัปดาห์ถัดไป"
OPENINGBALANCEWEEK ประเมิน Expression ณ จุดเปิดสัปดาห์ (คือวันสิ้นสัปดาห์ก่อนหน้า) ใช้เพื่อเปรียบเทียบค่าเปลี่ยนแปลงระหว่างเปิดและปิดสัปดาห์
PREVIOUSWEEK คืนตารางวันที่ของสัปดาห์ก่อนหน้า ตามบริบทวันที่ปัจจุบัน เหมาะสำหรับตัวชี้วัดแบบ Week-over-Week โดยนำตารางวันที่ไปใช้เป็นตัวกรองเวลา
STARTOFMONTH คืนวันแรกของเดือนเป็นตาราง 1 แถว ใช้กับการวัดที่ขึ้นต่อจุดเวลา เช่น ยอดคงเหลือ บัญชี หรือสินค้าคงคลัง
STARTOFQUARTER คืนตารางวันที่ที่มีวันแรกของไตรมาสในบริบทตัวกรองปัจจุบัน (single-row table) ใช้เป็นตารางตัวกรองใน CALCULATE หรือใช้ MINX เพื่อแปลงเป็น scalar date
STARTOFYEAR คืนตาราง 1 แถวที่มีวันที่วันแรกของปีในบริบทปัจจุบัน ใช้สำหรับ semi-additive measure เช่น inventory balance หรือเปรียบเทียบ year-to-date
คำนวณยอดสะสมตั้งแต่ต้นสัปดาห์ (Week-to-Date) ของ Expression ตามคอลัมน์วันที่ที่กำหนด โดยรวมข้อมูลจากวันแรกของสัปดาห์จนถึงวันปัจจุบันในบริบท
CALCULATE เป็นฟังก์ชันหลักที่สำคัญที่สุดใน DAX ใช้สำหรับ evaluate expression ภายใต้ filter context ที่ถูกปรับเปลี่ยน สามารถเพิ่มตัวกรองใหม่ ลบตัวกรองเดิม หรือแทนที่ filter ที่มีอยู่ได้ รองรับทั้ง Boolean expression และ table expression เป็น filter arguments พร้อม filter modifier functions เช่น REMOVEFILTERS, ALL, ALLEXCEPT, KEEPFILTERS เพื่อควบคุมการกรองอย่างละเอียด มีพฤติกรรมพิเศษคือ context transition ที่เปลี่ยน row context เป็น filter context โดยอัตโนมัติ ทำให้เป็นเครื่องมือหลักในการสร้าง measure ที่ซับซ้อนและ calculated column ที่ต้องใช้ aggregation
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่