---
title: CUBEMEMBER – ดึงสมาชิกจากคิวบ์ OLAP
url: https://www.thepexcel.com/functions/excel/cube/cubemember/
type: function-explainer
program: Excel
syntax: "=CUBEMEMBER(connection, member_expression, [caption])"
date: 2025-12-11
updated: 2025-12-26
scores:
  popularity: 2
  difficulty: 7
  usefulness: 5
---

# CUBEMEMBER – ดึงสมาชิกจากคิวบ์ OLAP

> CUBEMEMBER ส่งกลับสมาชิกหรือ tuple จากคิวบ์ OLAP โดยใช้ MDX expression เพื่อระบุตำแหน่ง ใช้สำหรับตรว

## คำอธิบาย

CUBEMEMBER ส่งกลับสมาชิกหรือ tuple จากคิวบ์ OLAP โดยใช้ MDX expression เพื่อระบุตำแหน่ง ใช้สำหรับตรวจสอบความมีตัวตนของสมาชิกและสร้าง tuple สำหรับ cube function อื่น

## Syntax

```excel
=CUBEMEMBER(connection, member_expression, [caption])
```

**Variant**

```excel
=CUBEMEMBER("Sales", "[Time].[Fiscal].[2004]")
```

ส่งกลับสมาชิก 2004 จากมิติ Fiscal Time ของการเชื่อมต่อ Sales

**Variant**

```excel
=CUBEMEMBER("Sales", (B4, C6, D5), "Sales for 2004")
```

ส่งกลับ tuple จากช่วงเซลล์ที่มีสมาชิกหลายตัว

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| connection | Yes | text |  | ชื่อของการเชื่อมต่อกับคิวบ์ ปกติเป็นชื่อที่ตั้งไว้ใน Data Models หรือชื่อแหล่งข้อมูล SSAS |
| member_expression | Yes | text/range |  | MDX expression ที่ประเมินเป็นสมาชิกเดียว หรือ tuple ผ่านวงเล็บเหลี่ยม เช่น [Dimension].[Hierarchy].[Member] สามารถอ้างอิงเซลล์ได้ |
| caption | No | text |  | ข้อความที่แสดงในเซลล์แทนชื่อจริงของสมาชิก หากไม่ระบุจะแสดงชื่อของสมาชิกเอง |

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

### ตรวจสอบสมาชิกในมิติเวลา

ใช้ CUBEMEMBER เพื่อตรวจสอบว่าปี 2004 มีอยู่ในมิติ Fiscal Time ของคิูบหรือไม่

_เหมาะกับ:_ member-validation

### สร้าง tuple จากสมาชิกหลายตัว

ใช้ CUBEMEMBER เพื่อสร้าง tuple จากสมาชิกที่อยู่ในเซลล์ต่าง ๆ เช่น สมาชิกจากมิติ Time Product และ Store

_เหมาะกับ:_ tuple-creation

## ตัวอย่าง

### 1. สมาชิกเดียวจากมิติ Time

```excel
=CUBEMEMBER("Sales", "[Time].[Fiscal].[2004]")
```

**ผลลัพธ์:** `2004`

ดึงสมาชิก 2004 จากสายการสืบทอด Fiscal ในมิติ Time ของคิวบ์ Sales และแสดงผล '2004' ที่ประเมินว่ามีอยู่จริง

### 2. Tuple ด้วยหลายมิติพร้อม custom caption

```excel
=CUBEMEMBER("Sales", "([Time].[Fiscal].[2004], [Product].[Category].[Electronics])", "2004 Electronics")
```

**ผลลัพธ์:** `2004 Electronics`

สร้าง tuple ที่รวมสมาชิกจากมิติ Time (ปี 2004) และ Product (ประเภท Electronics) แล้วแสดงชื่อ '2004 Electronics' เพื่อให้อ่านง่าย

### 3. อ้างอิงมิติจากเซลล์ helper

```excel
=CUBEMEMBER("Sales", A1)
```

**ผลลัพธ์:** `ค่าสมาชิกตามสูตร MDX ใน A1`

เมื่อ MDX expression ยาวเกิน 255 ตัวอักษร ให้เขียนไว้ในเซลล์ A1 แล้วอ้างอิง จะง่ายต่อการแก้ไขและ debug

### 4. Tuple จากช่วงเซลล์

```excel
=CUBEMEMBER("Sales", (B4, C6))
```

**ผลลัพธ์:** `Tuple ของสมาชิกจาก B4 และ C6`

รวมสมาชิกจากหลายเซลล์เป็น tuple เดียว โดย CUBEMEMBER จะ validate ว่าทั้งสองสมาชิกอยู่ในแต่ละมิติของคิวบ์

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

- ผมแนะนำให้ใช้ CUBEMEMBER กับ IFERROR เพื่อสร้าง fallback เมื่อสมาชิกไม่พบ เช่น =IFERROR(CUBEMEMBER(...), "ไม่พบ") มันช่วยให้ dashboard ไม่ดูเสีย ๆ

- วงเล็บเหลี่ยม [Dimension].[Hierarchy].[Member] ต้องเขียนแบบนี้เท่านั้น ผมเคยลืมวงเล็บ น้อยมากครั้งแรกมันเฮ้อ ผิดหมด เช็คชื่อใน Data Model หรือ SSAS ให้ดี

- ส่วนตัวผมพบว่า MDX expression ยาว ๆ นั่ง hardcode ในสูตรไม่ได้ ต้องเก็บไว้ในเซลล์ แล้วอ้างอิง เพราะมีจำกัด 255 ตัวอักษรต่อ argument ให้สร้าง helper column ไว้ก่อน

- ผมแนะนำให้ใช้ CUBESET ก่อน หากต้องสร้าง tuple ที่ซับซ้อน เพื่อให้โครงสร้างชัดเจน แล้วค่อย feed เข้า CUBEMEMBER จะง่ายในการ debug หาก tuple ไม่ถูก

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

**Q: MDX expression คืออะไร เขียนยังไง?**

MDX (Multidimensional Expressions) เป็นภาษาของระบบ OLAP เหมือน SQL สำหรับ cubes ครับ ผมคิดว่าเขียนแบบ [Dimension].[Hierarchy].[Member] เช่น [Time].[Fiscal].[2004] หรือ [Geography].[Country].[Thailand] วงเล็บเหลี่ยมเป็นสิ่งที่ห้ามลืม ส่วน tuple คือรวมหลายสมาชิก เช่น ([Time].[2004], [Product].[Electronics]) อันนี้ผมเห็นหลายคนลืมวงเล็บนอก

**Q: CUBEMEMBER แตกต่างจาก CUBEVALUE อย่างไร?**

ผมเห็นประเด็นนี้ชัด ๆ ครับ CUBEMEMBER ส่งกลับสมาชิกหรือ tuple เพื่อเช็คว่าหาได้ไหม ส่วน CUBEVALUE ส่งกลับค่าตัวเลขจริง ๆ จากคิวบ์ ผมใช้ CUBEMEMBER ก่อนเสมอเพื่อ validate tuple ก่อนส่งไป CUBEVALUE จะได้ค่าถูกต้องและไม่ได้ #N/A ตั้งแต่เริ่ม

**Q: Tuple คืออะไร ต้องใช้บ้าง?**

Tuple คือชุดของสมาชิก หนึ่งตัวจากแต่ละมิติ ใช้ระบุตำแหน่งเฉพาะในคิวบ์หลายมิติ เช่น ([Time].[2004], [Product].[Sales], [Location].[Bangkok]) ก็คือจุดตัดระหว่างปี 2004 ประเภท Sales และเมืองกรุงเทพ ผมใช้ tuple เมื่อต้องเอา aggregate value จากเซลล์เดียว ไม่ใช่ช่วง

**Q: ถ้า MDX expression เขียนผิด จะเกิดอะไร?**

จะได้ #N/A error ครับ ผมเห็นเรื่องนี้บ่อยตอนเขียน MDX ต้องเช็ค (1) วงเล็บเหลี่ยมครบไหม (2) ชื่อ dimension hierarchy member ถูกไหม (3) tuple มี element จากแต่ละมิติไหม ถ้าเกิน 255 ตัวอักษรก็เก็บไว้ในเซลล์ใช่ ไม่ใช่ยัดเข้าสูตรโดยตรง

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

- [CUBEVALUE – ฟังก์ชันดึงค่าจากคิูบ OLAP](https://www.thepexcel.com/functions/excel/cube/cubevalue/)
- [CUBEMEMBERPROPERTY – ดึงคุณสมบัติสมาชิกจากคิูบ](https://www.thepexcel.com/functions/excel/cube/cubememberproperty/)
- [CUBEKPIMEMBER – ดึงข้อมูล KPI จากคิวบ์](https://www.thepexcel.com/functions/excel/cube/cubekpimember/)

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

- [Microsoft Learn: CUBEMEMBER Function](https://support.microsoft.com/en-us/office/cubemember-function-0f6a15b9-2c18-4819-ae89-e1b5c8b398ad) _(official)_
- [Microsoft Learn: Working with OLAP Cubes](https://support.microsoft.com/en-us/office/cubevalue-function-8733da24-26d1-4e34-9b3a-84a8f00dcbe0) _(official)_

---

_Source: [https://www.thepexcel.com/functions/excel/cube/cubemember/](https://www.thepexcel.com/functions/excel/cube/cubemember/)_
