คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › ความสัมพันธ์ › USERELATIONSHIP

USERELATIONSHIP

DAX · Power BIความสัมพันธ์ระดับกลางแบบ 5 · มีเฉพาะใน DAX

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

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

USERELATIONSHIP คืออะไร

เปิดใช้ความสัมพันธ์ที่ปิดไว้ในโมเดลเฉพาะใน CALCULATE เช่น นับยอดตามวันที่ส่งแทนวันที่สั่งซื้อ

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

  • รายงานตามวันที่ส่งหรือวันที่ชำระเงิน แทนวันที่สั่งซื้อ
  • มีคอลัมน์วันที่หลายคอลัมน์ที่เชื่อมกับตาราง Date เดียว

รูปแบบสูตร

=USERELATIONSHIP(<columnName1>, <columnName2>)

Argument แต่ละตัว

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

Argumentจำเป็นไหมความหมาย
columnName1จำเป็นคอลัมน์ฝั่งหลายของความสัมพันธ์ เช่น 'ยอดขาย'[วันที่ส่ง]
columnName2จำเป็นคอลัมน์ฝั่งหนึ่ง เช่น 'วันที่'[Date] ใส่สลับกันได้

ลองเลย: ยอดขายตามวันที่สั่งซื้อ เทียบกับตามวันที่ส่ง

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

[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[คำสั่งซื้อที่ส่ง] = CALCULATE(COUNTROWS('ยอดขาย'), USERELATIONSHIP('ยอดขาย'[วันที่ส่ง], 'วันที่'[Date]))
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขายไม่มีตัวกรอง
  • สินค้าไม่มีตัวกรอง
  • วันที่[ปี] = 2025[ชื่อเดือน] = "ม.ค."
  • ความสัมพันธ์ใช้ความสัมพันธ์ 'ยอดขาย'[วันที่ส่ง] → 'วันที่'[Date]
  • ยอดขายเหลือ 25 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดขายตามวันที่สั่งซื้อ เทียบกับตามวันที่ส่ง
ยอดขายตามวันที่สั่งซื้อ เทียบกับตามวันที่ส่ง · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
เดือนยอดขายยอดตามวันที่ส่งคำสั่งซื้อที่ส่ง
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
ยอดรวม
444,271ยอดตามวันที่ส่ง · ม.ค. · 2025
ดูทีละขั้นขั้น 4 / 4

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

EXCEL=SUMIFS(ยอดขาย[ยอดสุทธิ], ยอดขาย[วันที่ส่ง], ">="&DATE(2025,3,1), ยอดขาย[วันที่ส่ง], "<="&EOMONTH(DATE(2025,3,1),0))

Excel เปลี่ยนคอลัมน์เงื่อนไขเป็นวันที่ส่งเอง

DAXยอดตามวันที่ส่ง = CALCULATE([ยอดขาย], USERELATIONSHIP('ยอดขาย'[วันที่ส่ง], 'วันที่'[Date]))

ความสัมพันธ์ วันที่ส่ง → Date ต้องสร้างไว้แบบไม่ใช้งาน (เส้นประ)

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

คำสั่งซื้อปลายเดือนมักส่งต้นเดือนถัดไป ยอดตามวันที่ส่งของแต่ละเดือนจึงต่างจากยอดตามวันที่สั่งซื้อ แต่ยอดรวมทั้งปีใกล้กัน
ระหว่างสองตารางมีความสัมพันธ์ที่ใช้งานได้ทีละเส้น เส้นที่เหลือต้องปิดไว้ USERELATIONSHIP เปิดเส้นนั้นและปิดเส้นเดิมเฉพาะใน CALCULATE
ใช้ได้เฉพาะในตำแหน่งตัวกรองของ CALCULATE, CALCULATETABLE และฟังก์ชันกลุ่ม TOTALYTD

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

1. USERELATIONSHIP ใช้ได้ที่ใด

2. ความสัมพันธ์ วันที่ส่ง → Date ต้องเป็นแบบใด

3. เปิดความสัมพันธ์วันที่ส่งแล้ว ความสัมพันธ์วันที่สั่งซื้อเป็นอย่างไร

ไฟล์ฝึก USERELATIONSHIP

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

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

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

  1. ข้อ 1[ยอดตามวันที่ส่ง] ยอดขายที่ส่งของในช่วงที่กรอง (ตามวันที่ส่ง) · กรอง ปี = 2025, เดือน = ก.ค.
  2. ข้อ 2[ยอดตามวันที่ส่ง] ยอดขายที่ส่งของในช่วงที่กรอง (ตามวันที่ส่ง) · กรอง ช่องทาง = Online, ปี = 2025, เดือน = ธ.ค.
  3. ข้อ 3[ยอดขาย] ยอดขายตามวันที่สั่งซื้อ · กรอง ปี = 2025, เดือน = พ.ค.
  4. ข้อ 4[คำสั่งซื้อที่ส่ง] จำนวนคำสั่งซื้อที่ส่งของในช่วงที่กรอง · กรอง ช่องทาง = Modern Trade, ปี = 2025, เดือน = ต.ค.
  5. ข้อ 5[ยอดขาย] ยอดขายตามวันที่สั่งซื้อ · กรอง ปี = 2025

ไปต่อ

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

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

ดูหลักสูตร