---
title: SELECTEDMEASURE – ดึงค่า Measure ที่กำลังถูกใช้งาน
url: https://www.thepexcel.com/functions/dax/information/selectedmeasure-dax/
type: function-explainer
program: DAX
syntax: SELECTEDMEASURE()
date: 2025-12-14
updated: 2025-12-25
scores:
  popularity: 4
  difficulty: 5
  usefulness: 5
---

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

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

## คำอธิบาย

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

## Syntax

```excel
SELECTEDMEASURE()
```

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ calc-group-base-value

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

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

_เหมาะกับ:_ value-scaling

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

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

_เหมาะกับ:_ time-shift

## ตัวอย่าง

### 1. ปรับค่า Measure ต้นทาง +10% ใน Calculation Item

```excel
Boosted Sales = SELECTEDMEASURE() * 1.10
```

**ผลลัพธ์:** `ค่าของ Measure ต้นทางที่เพิ่มขึ้น 10%`

ใน Calculation Group แต่ละ Calculation Item สามารถใช้ SELECTEDMEASURE() เพื่ออ้างอิง Measure ปัจจุบันแล้วนำไปปรับแต่ง ไม่ว่า Measure นั้นจะเป็นอะไรก็ตาม

### 2. คำนวณ Year-over-Year Growth สำหรับ Measure ใดๆ

```excel
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() ไปแทนทั้งหมด

### 3. แปลง Measure ใดๆ เป็น Year-to-Date

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

**ผลลัพธ์:** `ค่า Measure นั้นจากต้นปีถึงวันปัจจุบัน`

CALCULATE เปลี่ยน filter context ให้เป็นช่วงตั้งแต่ต้นปี แล้ว SELECTEDMEASURE() จะทำงานภายใต้บริบทใหม่นั้น ผลคือ YTD ของ Measure ใดๆ ที่เลือก

### 4. ดึงค่า Measure พร้อมสูตรการจัดรูปแบบแบบไดนามิก

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

**ผลลัพธ์:** `ค่า Measure ที่ปรับรูปแบบตามขนาด (1K, 1M ฯลฯ)`

ใช้ SWITCH + SELECTEDMEASURE() เพื่อตรวจสอบขนาดของค่า แล้วเลือกรูปแบบให้เหมาะสม ค่าน้อยแสดง $, ค่ามากแสดง K, ค่าที่ยิ่งใหญ่แสดง M

## หมายเหตุเพิ่มเติม

- ผมแนะนำให้เริ่มเขียน Calculation Item ตัวง่ายก่อน เช่น = SELECTEDMEASURE() * 1.1 แล้วค่อย upgrade เป็น VAR + CALCULATE ทีละน้อย ทำให้เข้าใจ context flow ได้ดีขึ้น

- ระวัง DirectQuery mode บางฟีเจอร์ไม่ support SELECTEDMEASURE() ให้เช็คความเข้ากันได้ก่อนเขียน Calculation Group ในโปรเจคที่ใช้ DirectQuery

- ใช้ VAR เก็บค่า SELECTEDMEASURE() ไว้ก่อน แล้วค่อย reference ให้หลายทีได้เลย เช่น VAR Base = SELECTEDMEASURE() แล้ว RETURN Base - Threshold จะดีกว่า inline ตรงๆ เพราะ debug ง่ายกว่า

- ใน Calculation Item ไม่จำเป็นต้องใส่ IF เพื่อตรวจสอบค่า SELECTEDMEASURE() เป็น blank หรือไม่ เพราะ Measure ต้นทางเอง blank ได้แล้ว ก็ปล่อยให้มันไหลผ่านไปปกติ

- ผมมักใช้ SELECTEDMEASURENAME() เพื่อทำ conditional logic ใน Calculation Item เช่น IF(SELECTEDMEASURENAME() = "Sales", ...) ช่วยให้ Calculation Item เดียวสามารถ handle หลาย Measure ได้โดยให้ logic ต่างกัน

## คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- selectedmeasurename-dax
- selectedmeasureformatstring-dax
- [CALCULATE – ฟังก์ชันหลักของ DAX ที่ควบคุม Filter Context](https://www.thepexcel.com/functions/dax/filter/calculate-dax/)
- [FILTER – กรองตารางด้วยเงื่อนไขที่ซับซ้อน (Iterator Function)](https://www.thepexcel.com/functions/dax/filter/filter-dax/)
- [SAMEPERIODLASTYEAR – คืนช่วงเวลาเดียวกันของปีก่อนหน้า (Year-over-Year)](https://www.thepexcel.com/functions/dax/time-intelligence/sameperiodlastyear-dax/)

## แหล่งข้อมูลเพิ่มเติม

- [DAX Guide: SELECTEDMEASURE](https://dax.guide/selectedmeasure/) _(guide)_
- [Microsoft Learn: SELECTEDMEASURE Function](https://learn.microsoft.com/en-us/dax/selectedmeasure-function-dax) _(official)_
- [SQLBI: Calculation Groups in Power BI](https://www.sqlbi.com/blog/marco/2021/05/17/calculation-groups-in-power-bi/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/dax/information/selectedmeasure-dax/](https://www.thepexcel.com/functions/dax/information/selectedmeasure-dax/)_
