คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › ตรรกะและตัวแปร › VAR

VAR

DAX · Power BIตรรกะและตัวแปรระดับกลางแบบ 3 · แนวคิดเดียวกัน คนละฟังก์ชัน

อัปเดต 26 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop

เอกสารอ้างอิง: VAR (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)

VAR คืออะไร

ตั้งชื่อให้ค่าระหว่างคำนวณด้วย VAR แล้วใช้ใน RETURN ทำให้สูตรอ่านง่าย และคำนวณค่านั้นครั้งเดียว

ใช้เมื่อไหร่

  • เก็บค่าที่ใช้หลายครั้งใน Measure เดียว
  • ทำ Measure ยาว ๆ ให้อ่านง่ายและตรวจทีละส่วนได้

รูปแบบสูตร

VAR <name> = <expression> … RETURN <result_expression>

Argument แต่ละตัว

ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น

Argumentจำเป็นไหมความหมาย
nameจำเป็นชื่อตัวแปร ใช้ a–z, A–Z, 0–9 ขึ้นต้นด้วยตัวเลขไม่ได้ ใช้ __ นำหน้าได้ ห้ามมีช่องว่าง ห้ามเป็นคำสงวน และห้ามซ้ำชื่อตารางในโมเดล (ตามเอกสาร Microsoft)
expressionจำเป็นค่าของตัวแปร คำนวณตามตัวกรองตรงจุดที่ประกาศ
result_expressionจำเป็นผลลัพธ์ของ Measure หลัง RETURN

ลองเลย: อัตรากำไรขั้นต้นด้วย VAR แยกตามภูมิภาค

คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน

[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[ต้นทุน] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * RELATED('สินค้า'[ต้นทุนต่อหน่วย]))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขาย[ภูมิภาค] = "กลาง"
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025
  • ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
อัตรากำไรขั้นต้นด้วย VAR แยกตามภูมิภาค
อัตรากำไรขั้นต้นด้วย VAR แยกตามภูมิภาค · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
ภูมิภาคยอดขายต้นทุนอัตรากำไร
กลาง
เหนือ
ตะวันออกเฉียงเหนือ
ตะวันออก
ใต้
ยอดรวม
29.5%อัตรากำไร · กลาง · 2025
ดูทีละขั้นขั้น 7 / 7

ถ้าคุณเขียน Excel อยู่แล้ว

EXCEL=LET(s, SUMIFS(…), c, SUMIFS(…), IFERROR((s-c)/s, ""))

LET ของ Excel คือแนวคิดเดียวกัน ตั้งชื่อค่าแล้วใช้ต่อในสูตรเดียว

DAXอัตรากำไร (VAR) = VAR Sales = [ยอดขาย] VAR Cost = [ต้นทุน] RETURN DIVIDE(Sales - Cost, Sales)

ชื่อตัวแปรใช้ได้เฉพาะใน Measure นี้

ข้อผิดพลาดและเคล็ดลับ

ตัวแปรเก็บค่า ณ จุดที่ประกาศ ใส่ตัวแปรใน CALCULATE ภายหลังจะไม่ถูกกรองใหม่ ถ้าต้องการให้กรองใหม่ให้เรียก Measure ตรง ๆ
ใช้ VAR เก็บค่าที่ใช้ซ้ำหลายครั้งในสูตร เช่น [ยอดขาย] ที่ใช้ทั้งตัวตั้งและตัวหาร สูตรจะคำนวณค่านั้นครั้งเดียว
ระหว่างเขียนสูตร ลองเปลี่ยนสิ่งที่อยู่หลัง RETURN เป็นชื่อตัวแปร เพื่อตรวจค่าของตัวแปรนั้นทีละตัว

แบบทดสอบ 3 ข้อ

1. ข้อใดถูกต้องเกี่ยวกับ VAR

2. ชื่อตัวแปรใดใช้ได้

3. ฟังก์ชันใดของ Excel คู่กับ VAR … RETURN

ไฟล์ฝึก VAR

9Expert-DAX-VAR-Practice-v1.0.xlsx

รุ่น 1.0 · 26/9/2026 · 70 KB · ไม่มี Macro · นำเข้า Power BI แล้วทำโจทย์ พิมพ์คำตอบกลับในไฟล์ ตรวจเอง
เริ่มต้นยอดขายสินค้าพนักงานขายวันที่คงคลังเป้าภูมิภาคแบบฝึกหัดเฉลย

โจทย์ในชีตแบบฝึกหัด

  1. ข้อ 1[อัตรากำไร] อัตรากำไรขั้นต้น เขียนด้วย VAR · กรอง ภูมิภาค = ใต้, ปี = 2024
  2. ข้อ 2[อัตรากำไร] อัตรากำไรขั้นต้น เขียนด้วย VAR · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
  3. ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ปี = 2025
  4. ข้อ 4[ต้นทุน] ต้นทุนสินค้า (จำนวน × ต้นทุนต่อหน่วยจากตารางสินค้า) · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
  5. ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ปี = 2025

ไปต่อ

อยากเขียน DAX สำหรับรายงานจริงทั้งระบบ

ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)

ดูหลักสูตร