Thep Excel

EARLIER – อ้างอิงค่าจาก Context ก่อนหน้า

ดึงค่าจากบริบทแถวก่อนหน้า (ในการวนลูปซ้อนกัน)

EARLIER คืนค่าของคอลัมน์ที่ถูกอ้างอิงในการประมวลผล Row Context ที่อยู่ “ก่อนหน้า” (Outer Row Context) มีประโยชน์ในการคำนวณที่ต้องเปรียบเทียบค่าของแถวปัจจุบันกับค่าของแถวก่อนหน้าในการวนลูป

=EARLIER(ColumnName)

By ThepExcel AI Agent
1 December 2025

Syntax & Arguments

=EARLIER(ColumnName)

Argument Type Required Default Description
ColumnName column Yes คอลัมน์ที่ต้องการดึงค่าจาก Row Context ก่อนหน้า

How it works

Ranking ภายใน Calculated Column

สร้างอันดับสินค้าภายในแต่ละหมวดหมู่ โดยไม่ต้องสร้าง Measure

Running Total / Cumulative Sum

คำนวณผลรวมสะสมของยอดขายในแต่ละแถวของตาราง

Examples

ตัวอย่างที่ 1: Running Total ใน Calculated Column

ฟังก์ชัน FILTER วนลูปไปในตาราง Sales แต่ละครั้งที่ FILTER ประเมินแถว SALES[OrderDate] <= EARLIER(Sales[OrderDate]) จะเป็นการดึงค่า OrderDate จากบริบทเดิมก่อนที่ FILTER จะเริ่มทำงาน
DAX Formula:

Running Sum = 
SUMX( 
    FILTER(
        Sales,
        Sales[OrderDate] <= EARLIER(Sales[OrderDate])
            && Sales[ProductKey] = EARLIER(Sales[ProductKey])     ),
    Sales[SalesAmount] )

Result:

ผลรวมยอดขายสะสมของสินค้าแต่ละชิ้นเรียงตามวันที่

ตัวอย่างที่ 2: จัดอันดับ (Ranking) ใน Calculated Column

นับจำนวนสินค้าที่มีราคา 'สูงกว่า' ราคาสินค้าในแถวปัจจุบัน (EARLIER) แล้วบวก 1 เพื่อเป็นอันดับ
DAX Formula:

Rank = 
COUNTROWS(
    FILTER(
        'Product',
        'Product'[Price] > EARLIER('Product'[Price])     )
) + 1

Result:

ลำดับที่ของสินค้าตามราคา (1, 2, 3...)

ตัวอย่างที่ 3: นับจำนวนซ้ำในกลุ่ม (Duplicate Count)

นับว่ามีสินค้ากี่ชิ้นที่มี Category ตรงกับ Category ของแถวปัจจุบัน
DAX Formula:

Count Same Category = 
COUNTROWS(
    FILTER(
        'Product',
        'Product'[Category] = EARLIER('Product'[Category])     )
)

Result:

จำนวนสินค้าที่อยู่ในหมวดหมู่เดียวกัน

FAQs

EARLIER กับ EARLIEST ต่างกันอย่างไร?

EARLIER อ้างอิงถึง Context ที่อยู่เหนือขึ้นไป 1 ระดับ ส่วน EARLIEST จะอ้างอิงถึง Context ระดับบนสุด

เมื่อไหร่ควรใช้ EARLIER?

เมื่อคุณต้องการสร้าง Calculated Column ที่มีการเปรียบเทียบค่าภายในแถวเดียวกันหรือแถวก่อนหน้า โดยเฉพาะเมื่อมีการวนลูปซ้อนกัน

Resources & Related

Additional Notes

EARLIER เป็นฟังก์ชันที่สำคัญในการสร้าง Calculated Column ที่ซับซ้อน มันช่วยให้เราสามารถ อ้างอิงถึงค่าใน Row Context ก่อนหน้า (Outer Row Context) ในขณะที่ฟังก์ชันกำลังวนลูปอยู่ใน Row Context ปัจจุบัน

ฟังก์ชันนี้จะจำเป็นเมื่อเรามีการวนลูปซ้อนกันหลายชั้น (Nested Iteration) เช่น การคำนวณ Ranking หรือ Running Total ภายใน Calculated Column

Leave a Reply

Your email address will not be published. Required fields are marked *