ISAFTER ตรวจว่าค่าในบริบทปัจจุบันอยู่ “หลัง” ค่าอ้างอิงตามลำดับที่กำหนด (ASC/DESC) และรองรับหลายคีย์ต่อเนื่อง เช่น Country แล้ว State ใช้สร้างตัวกรองแบบ start-after หรือทำหน้าต่างข้อมูลที่อิงลำดับได้อย่างชัดเจน
=ISAFTER(<expression>, <compare_to>[, sort_order][, ...])
=ISAFTER(<expression>, <compare_to>[, sort_order][, ...])
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| expression | scalar | Yes | ค่าหรือคอลัมน์ที่ใช้เปรียบเทียบตำแหน่งกับค่าอ้างอิง (มักเป็นคอลัมน์ที่ถูกเรียงลำดับ) | |
| compare_to | scalar | Yes | ค่าหรือคอลัมน์ที่เป็นจุดอ้างอิง เพื่อตรวจว่าค่าแรกอยู่หลังหรือไม่ | |
| sort_order | ASC|DESC | Optional | ทิศทางการเรียงลำดับ (ค่าเริ่มต้นคือ ASC) สามารถระบุซ้ำเมื่อเปรียบเทียบหลายคีย์ต่อเนื่อง |
Future Sales = CALCULATE( SUM( Sales[Amount] ), ISAFTER( 'Date'[Date], DATE(2024, 1, 1), ASC ) )Future Sales =
CALCULATE(
SUM( Sales[Amount] ),
ISAFTER( 'Date'[Date], DATE(2024, 1, 1), ASC )
)
ยอดขายหลังวันที่ 1 ม.ค. 2024
After Key = FILTER( Geo, ISAFTER( Geo[Country], "TH", ASC, Geo[State], "BKK", ASC ) )After Key =
FILTER(
Geo,
ISAFTER(
Geo[Country], "TH", ASC,
Geo[State], "BKK", ASC
)
)
คืนแถวที่อยู่หลัง (TH, BKK) ตามลำดับ Country -> State
After Context Sum = CALCULATE( SUM( Sales[Amount] ), ISAFTER( Sales[Date], MAX(Sales[Date]), ASC ) )After Context Sum =
CALCULATE(
SUM( Sales[Amount] ),
ISAFTER( Sales[Date], MAX(Sales[Date]), ASC )
)
ผลรวมยอดขายหลังวันที่ในบริบทปัจจุบัน
ISAFTER ต้องการตำแหน่ง “ถัดไป” เท่านั้น (ไม่รวมค่าที่เท่ากับจุดอ้างอิง) ส่วน ISONORAFTER รวมค่าที่เท่ากับจุดอ้างอิงด้วย
ควรระบุลำดับ (ASC/DESC) ให้ชัดเจน โดยใช้คอลัมน์ที่มีการ sort อยู่แล้วเพื่อให้ผลลัพธ์ตรงตามที่คาดหวัง
ไม่รองรับในโหมด DirectQuery สำหรับคอลัมน์คำนวณหรือ RLS ตามข้อกำหนดของ Microsoft
ISAFTER คืนค่า TRUE เมื่อตำแหน่งของค่าแรกอยู่หลังค่าที่สองตามลำดับที่กำหนด (ASC/DESC) เหมาะสำหรับกรองข้อมูลแบบ “เริ่มหลังจุดนี้” หรือช่วยสร้างหน้าต่างข้อมูลโดยอิงคีย์เรียงหลายชั้น