Thep Excel

SELECTEDMEASURE – ดึงค่า Measure ที่กำลังถูกใช้งาน

SELECTEDMEASURE() คืนค่าของ Measure ต้นทางที่กำลังถูกประมวลผลอยู่ในบริบท Calculation Group ช่วยให้สร้าง Calculation Item ที่ยืดหยุ่น สามารถนำไปใช้งานกับหลาย Measure พร้อมกันได้อย่างมีประสิทธิภาพ

=SELECTEDMEASURE()

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
4/10

Difficulty
5/10

Usefulness
5/10

Syntax & Arguments

=SELECTEDMEASURE()

Argument Type Required Default Description
(ไม่มีอาร์กิวเมนต์) ไม่มี Optional ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ เลย จะดึงค่าของ Measure ปัจจุบันจากบริบทการประมวลผลโดยอัตโนมัติ

How it works

ดึงค่าต้นทางใน Calculation Group

ใช้ใน Calculation Item เพื่อคืนค่าของ Measure ดั้งเดิมก่อนปรับแต่ง เช่น เพิ่ม/ลด/แปลงฟอร์แมต

ปรับค่าที่เลือกด้วยตัวคูณ

นำค่า SELECTEDMEASURE ไปคูณ/บวก/ปรับเปอร์เซ็นต์ ตามกฎธุรกิจที่ต้องการ

เปลี่ยนบริบทเวลาแล้วดึงค่าปัจจุบัน

ใช้ CALCULATE ปรับบริบทเวลา (เช่น ปีที่แล้ว) แล้วใช้ SELECTEDMEASURE คืนค่าต้นทางในบริบทใหม่

Examples

ปรับค่า Measure ต้นทาง +10% ใน Calculation Item
Boosted Sales = SELECTEDMEASURE() * 1.10
ใน Calculation Group แต่ละ Calculation Item สามารถใช้ SELECTEDMEASURE() เพื่ออ้างอิง Measure ปัจจุบันแล้วนำไปปรับแต่ง ไม่ว่า Measure นั้นจะเป็นอะไรก็ตาม
DAX Formula:

Boosted Sales = SELECTEDMEASURE() * 1.10

Result:

ค่าของ Measure ต้นทางที่เพิ่มขึ้น 10%

คำนวณ Year-over-Year Growth สำหรับ Measure ใดๆ
YoY Growth = VAR CurrentYear = SELECTEDMEASURE() VAR PriorYear = CALCULATE( SELECTEDMEASURE(), SAMEPERIODLASTYEAR('Date'[Date]) ) RETURN CurrentYear - PriorYear
ใช้ VAR เก็บค่า SELECTEDMEASURE() ใน filter context ปกติ แล้วเก็บอีกค่าใน CALCULATE ที่มี SAMEPERIODLASTYEAR เพื่อเปลี่ยนบริบท ลบกันแล้วได้ผลต่าง ทั้งนี้เวลารัน Calculation Item นี้ไปใช้กับ Sales, Quantity, Profit มันจะเอา SELECTEDMEASURE() ไปแทนทั้งหมด
DAX Formula:

YoY Growth = 
VAR CurrentYear = SELECTEDMEASURE()
VAR PriorYear = CALCULATE(
    SELECTEDMEASURE(),
    SAMEPERIODLASTYEAR('Date'[Date])
)
RETURN CurrentYear - PriorYear

Result:

ความแตกต่างระหว่างปีปัจจุบันและปีที่แล้ว

แปลง Measure ใดๆ เป็น Year-to-Date
YTD Conversion = CALCULATE( SELECTEDMEASURE(), DATESYTD('Date'[Date]) )
CALCULATE เปลี่ยน filter context ให้เป็นช่วงตั้งแต่ต้นปี แล้ว SELECTEDMEASURE() จะทำงานภายใต้บริบทใหม่นั้น ผลคือ YTD ของ Measure ใดๆ ที่เลือก
DAX Formula:

YTD Conversion = 
CALCULATE(
    SELECTEDMEASURE(),
    DATESYTD('Date'[Date])
)

Result:

ค่า Measure นั้นจากต้นปีถึงวันปัจจุบัน

ดึงค่า Measure พร้อมสูตรการจัดรูปแบบแบบไดนามิก
Formatted Value = SWITCH( TRUE(), SELECTEDMEASURE() < 1000, FORMAT(SELECTEDMEASURE(), "$#,##0"), SELECTEDMEASURE() < 1000000, FORMAT(SELECTEDMEASURE(), "$#,##0,…
ใช้ SWITCH + SELECTEDMEASURE() เพื่อตรวจสอบขนาดของค่า แล้วเลือกรูปแบบให้เหมาะสม ค่าน้อยแสดง $, ค่ามากแสดง K, ค่าที่ยิ่งใหญ่แสดง M
DAX Formula:

Formatted Value = 
SWITCH(
    TRUE(),
    SELECTEDMEASURE() < 1000,
        FORMAT(SELECTEDMEASURE(), "$#,##0"),
    SELECTEDMEASURE() < 1000000,
        FORMAT(SELECTEDMEASURE(), "$#,##0,.0K"),
    FORMAT(SELECTEDMEASURE(), "$#,##0,,.0M")
)

Result:

ค่า Measure ที่ปรับรูปแบบตามขนาด (1K, 1M ฯลฯ)

FAQs

SELECTEDMEASURE() ใช้ได้เฉพาะใน Calculation Group หรือไม่?

ใช่ครับ SELECTEDMEASURE() ออกแบบมาให้ใช้ในบริบท Calculation Group, Calculation Item, หรือ Format String เท่านั้น ใช้ที่อื่นจะเกิดข้อผิดพลาด มันต้องมี Measure ต้นทางในบริบทการประมวลผลจึงจะดึงค่าได้ ส่วนตัวผมมักตรวจสอบก่อนเขียน Calculation Item ว่า Measure นั้นถูก Pivot แล้วหรือยัง

ต่างจาก SELECTEDMEASURENAME กับ SELECTEDMEASUREFORMATSTRING อย่างไร?

ทั้งสามฟังก์ชันเป็น trio ของ Calculation Group คำว่า SELECTED ก็คือต้องอยู่ใน Calculation Group เหมือนกัน แต่ SELECTEDMEASURE() คืนค่าตัวเลข (scalar value) ของ Measure ต้นทาง สำหรับการคำนวณต่อ ส่วน SELECTEDMEASURENAME() คืนชื่อของ Measure (text), และ SELECTEDMEASUREFORMATSTRING() คืนรูปแบบตัวเลข (format code) ของ Measure นั้น

ถ้า SELECTEDMEASURE() ใช้ใน CALCULATE จะเกิดอะไร?

CALCULATE จะเปลี่ยน filter context, SELECTEDMEASURE() จะดึงค่า Measure ต้นทางแต่ในบริบท filter context ใหม่ที่ CALCULATE กำหนด งานนี้มีประโยชน์มากเวลาสร้าง YoY, MoM, หรือ Cumulative ใน Calculation Item ตัวอย่างเช่น YoY Growth = SELECTEDMEASURE() – CALCULATE(SELECTEDMEASURE(), SAMEPERIODLASTYEAR(‘Date'[Date])) มันจะเก็บค่าปัจจุบัน ลบด้วยค่าปีที่แล้วของ Measure เดียวกัน

ใช้เหมือนกัน Reference ไปยัง Measure ปกติหรือไม่?

ไม่เหมือนกันเลย ถ้าเขียน [Sales Amount] ตรงๆ จะอ้างถึง Sales Amount นั้นโดยเฉพาะ แต่ SELECTEDMEASURE() เป็นตัวแทนไดนามิก (dynamic placeholder) ของ Measure ใดๆ ที่กำลัง Pivot อยู่ งานนี้มีประโยชน์มากเวลาต้อง Calculation Item เดียวใช้กับหลาย Measure

Resources & Related

Additional Notes

SELECTEDMEASURE คือฟังก์ชันพิเศษสำหรับ Calculation Group ใน Power BI ครับ ลองนึกภาพว่าคุณมี Measure หลายตัว เช่น ยอดขาย จำนวนสินค้า กำไร แล้วต้องการสร้าง Calculation Item เดียวที่ทำให้ทุก Measure บวก 10% ง่ายมาก SELECTEDMEASURE() จะดึงค่าของ Measure ปัจจุบันที่กำลังถูกประมวลผลอยู่ ไม่ว่ามันจะเป็น Measure ไหนก็ตาม

ที่เจ๋งคือไม่ต้องเขียนสูตรซ้ำหลายครั้ง ใช้ SELECTEDMEASURE() ครั้งเดียว มันจะทำงานกับทุก Measure ที่ถูกเลือกอัตโนมัติ ช่วยลดเวลาและลดข้อผิดพลาดได้มาก ส่วนตัวผมถือว่า Calculation Group รวมกับ SELECTEDMEASURE เป็นฟีเจอร์สำคัญของ Power BI ที่ช่วยให้การจัดการ Measure ยืดหยุ่นมากขึ้น สามารถสร้างการคำนวณแบบไดนามิกที่ใช้ได้กับหลาย Measure พร้อมกันได้ครับ

Leave a Reply

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