EARLIEST ดึงค่าคอลัมน์จาก row context ชั้นนอกสุดเมื่อสูตรสร้าง row context ซ้อน (เช่น FILTER, RANKX, SUMX ในคอลัมน์คำนวณ) ทำให้ยังเข้าถึงค่าดั้งเดิมของแถวที่กำลังประเมินได้แม้จะเข้าสู่บริบทใหม่
=EARLIEST(<column>)
=EARLIEST(<column>)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| column | column | Yes | คอลัมน์ที่ต้องการดึงค่าจาก row context ชั้นนอกสุด |
Category Position = CALCULATE( RANKX( FILTER( Sales, Sales[Category] = EARLIEST(Sales[Category]) ), Sales[Amount] ), ALL( Sales ) )Category Position =
CALCULATE(
RANKX(
FILTER( Sales, Sales[Category] = EARLIEST(Sales[Category]) ),
Sales[Amount]
),
ALL( Sales )
)
ลำดับยอดขายต่อหมวดหมู่ของแต่ละแถวใน Sales
Category Share = VAR CategoryFromOuter = EARLIEST(Sales[Category]) RETURN DIVIDE( SUMX( FILTER(Sales, Sales[Category] = CategoryFromOuter), Sales[Amount] ), CAL…Category Share =
VAR CategoryFromOuter = EARLIEST(Sales[Category])
RETURN
DIVIDE(
SUMX( FILTER(Sales, Sales[Category] = CategoryFromOuter), Sales[Amount] ),
CALCULATE( SUM(Sales[Amount]), Sales[Category] = CategoryFromOuter )
)
เปอร์เซ็นต์ยอดขายของแถวปัจจุบันเทียบกับยอดรวมใน Category เดียวกัน
Match Outer Value = SUMX( FILTER( Sales, Sales[Customer] = EARLIEST(Sales[Customer]) ), IF( Sales[Amount] = EARLIEST(Sales[Amount]), 1, 0 ) )Match Outer Value =
SUMX(
FILTER( Sales, Sales[Customer] = EARLIEST(Sales[Customer]) ),
IF( Sales[Amount] = EARLIEST(Sales[Amount]), 1, 0 )
)
จำนวนแถวในลูกค้าคนเดียวกันที่ Amount เท่ากับค่าของแถวปัจจุบัน
ใช้เมื่อสูตรสร้าง row context ซ้อน เช่น คอลัมน์คำนวณที่ใช้ FILTER, SUMX, RANKX แล้วต้องอ้างอิงค่าของแถวต้นทาง
EARLIEST ออกแบบมาสำหรับคอลัมน์คำนวณที่มี row context หากใช้ใน Measure (ไม่มี row context) จะไม่ทำงานและควรใช้การอ้างอิงแบบอื่นแทน
ไม่รองรับในโหมด DirectQuery สำหรับคอลัมน์คำนวณหรือ RLS ตามข้อจำกัดของ Microsoft
EARLIEST ใช้เรียกค่าคอลัมน์จาก row context ชั้นนอกสุดเมื่อสูตรสร้าง row context ซ้อน (เช่น FILTER หรือ iterator ต่างๆ) ช่วยอ้างอิงค่าดั้งเดิมของแถวในคอลัมน์คำนวณได้อย่างถูกต้อง