---
title: TOJSON – แปลงตารางเป็นข้อความ JSON
url: https://www.thepexcel.com/functions/dax/text/tojson-dax/
type: function-explainer
program: DAX
syntax: "TOJSON(<Table> [, <MaxRows>])"
date: 2025-12-13
updated: 2025-12-17
scores:
  popularity: 5
  difficulty: 3
  usefulness: 5
---

# TOJSON – แปลงตารางเป็นข้อความ JSON

> แปลงตารางเป็นสตริง JSON

## คำอธิบาย

แปลงตารางเป็นสตริงรูปแบบ JSON โดยกำหนดจำนวนแถวสูงสุดที่ต้องการแปลงได้

## Syntax

```excel
TOJSON(&lt;Table&gt; [, &lt;MaxRows&gt;])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| Table | Yes | table |  | ตารางที่ต้องการแปลงเป็น JSON |
| MaxRows | No | number | 10 | จำนวนแถวสูงสุดที่จะแปลง; ถ้าเป็นค่าติดลบหมายถึงแปลงทุกแถว (ค่าเริ่มต้นโดยทั่วไปคือ 10) |

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

### ส่งออกตารางย่อยเป็นข้อความ JSON

ใช้กับตารางที่สร้างจาก SUMMARIZECOLUMNS/ADDCOLUMNS เพื่อแปลงเป็นข้อความสำหรับส่งต่อหรือเก็บเป็นสตริง

_เหมาะกับ:_ export-table-to-json

### ดีบักตารางที่สร้างจาก DAX

เมื่อได้ตารางผลลัพธ์ที่ซับซ้อน การแปลงเป็น JSON ช่วยให้ตรวจสอบโครงสร้าง/ค่าตัวอย่างได้เร็ว

_เหมาะกับ:_ debug-table-as-json

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: แปลงตารางสรุปเป็น JSON (3 แถวแรก)

```excel
JSON 3 แถว =
VAR T =
    ADDCOLUMNS(
        VALUES('Customer'[CountryRegion]),
        "Amount", [Sales Amount]
    )
RETURN
    TOJSON(T, 3)
```

**ผลลัพธ์:** `ได้ข้อความ JSON ที่มี 3 รายการจากตาราง T`

สร้างตารางด้วย ADDCOLUMNS/VALUES แล้วใช้ TOJSON เพื่อแปลงเป็นสตริงสำหรับดูค่าตัวอย่าง

### 2. ตัวอย่างที่ 2: ใช้กับตารางสรุปหลายคอลัมน์ (แนวคิด)

```excel
JSON จากตารางสรุป (แนวคิด) =
VAR T =
    SUMMARIZECOLUMNS(
        'Product'[Category],
        'Date'[ปี],
        "Amount", [Sales Amount]
    )
RETURN
    TOJSON(T, 10)
```

**ผลลัพธ์:** `ได้ JSON ของตารางสรุปตาม Category x ปี`

ถ้าตารางยาวมาก ให้ใช้ MaxRows จำกัดจำนวนแถวที่แปลงเพื่อไม่ให้สตริงยาวเกินไป

### 3. ตัวอย่างที่ 3: จัดรูปตารางก่อนเพื่อให้ผลลัพธ์อ่านง่าย (แนวคิด)

```excel
แนวคิด: จำกัดชุดแถวที่ต้องการก่อนด้วย TOPN แล้วค่อยแปลง
TOJSON(
    TOPN(10, &lt;Table&gt;, &lt;OrderExpr&gt;, DESC),
    -1
)
```

**ผลลัพธ์:** `ได้ JSON ที่มีเฉพาะแถวสำคัญและความยาวเหมาะสม`

เมื่อแปลงทั้งตารางอาจยาวเกินไป ควรเลือกชุดแถวสำคัญก่อน แล้วค่อยแปลงเป็น JSON

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

TOJSON เหมาะสำหรับส่งออก/ดีบัก ไม่ใช่เครื่องมือหลักในการสร้างไฟล์; ใช้ MaxRows เพื่อจำกัดความยาวของสตริง

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

**Q: TOJSON คืนค่าเป็นตารางหรือข้อความ?**

คืนค่าเป็นสตริงเดียว (ข้อความ JSON)

**Q: สามารถควบคุมลำดับแถวในผลลัพธ์ได้ไหม?**

โดยทั่วไปไม่สามารถควบคุมลำดับผลลัพธ์ของ TOJSON ได้ ถ้าต้องการลำดับแน่นอนให้จัดรูป/เลือกชุดแถวที่ต้องการล่วงหน้า

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

- tocsv
- topn
- summarizecolumns
- addcolumns
- values
- selectcolumns

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

- [DAX Guide: TOJSON](https://dax.guide/tojson/) _(documentation)_

---

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