คลังสูตรExcel 80 · DAX 95 · M 15
ในหน้านี้
หน้าแรก › DAX › เทียบช่วงเวลา (Time Intelligence) › SAMEPERIODLASTYEAR

SAMEPERIODLASTYEAR

DAX · Power BIเทียบช่วงเวลา (Time Intelligence)ระดับกลางแบบ 5 · มีเฉพาะใน DAX

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

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

SAMEPERIODLASTYEAR คืออะไร

คืนตารางวันที่ของช่วงเดียวกันในปีก่อน ใช้ใน CALCULATE เพื่อหายอดปีก่อนและอัตราเติบโต

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

  • หายอดขายช่วงเดียวกันปีก่อน
  • คำนวณอัตราเติบโตเทียบปีก่อน (YoY)

รูปแบบสูตร

=SAMEPERIODLASTYEAR(<dates> or <calendar>)

Argument แต่ละตัว

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

Argumentจำเป็นไหมความหมาย
datesจำเป็นคอลัมน์วันที่ของตาราง Date เช่น 'วันที่'[Date]

ลองเลย: ยอดขายเทียบช่วงเดียวกันปีก่อน รายเดือน

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

[ยอดขาย] = SUMX('ยอดขาย', 'ยอดขาย'[จำนวน] * 'ยอดขาย'[ราคาต่อหน่วย] * (1 - 'ยอดขาย'[ส่วนลด]))
[เติบโตจากปีก่อน] = DIVIDE([ยอดขาย] - [ยอดขายปีก่อน], [ยอดขายปีก่อน])
Ctrl + Enter คำนวณ · พิมพ์ ' เลือกตาราง · [ เลือกคอลัมน์หรือ Measure
  • พนักงานขายไม่มีตัวกรอง
  • สินค้าไม่มีตัวกรอง
  • วันที่[Date] 1/1/2024 ถึง 31/1/2024
  • ยอดขายเหลือ 21 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
ยอดขายเทียบช่วงเดียวกันปีก่อน รายเดือน
ยอดขายเทียบช่วงเดียวกันปีก่อน รายเดือน · ใช้ลูกศรเลื่อนระหว่างช่อง Enter เพื่อดูว่าตัวเลขนั้นคำนวณอย่างไร
เดือนยอดขายยอดขายปีก่อนเติบโตจากปีก่อน
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
ยอดรวม
339,060ยอดขายปีก่อน · ม.ค. · 2025
ดูทีละขั้นขั้น 5 / 5

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

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

Excel เขียนช่วงวันที่ของปีก่อนเองทุกแถว

DAXยอดขายปีก่อน = CALCULATE([ยอดขาย], SAMEPERIODLASTYEAR('วันที่'[Date]))

อัตราเติบโต = DIVIDE([ยอดขาย] - [ยอดขายปีก่อน], [ยอดขายปีก่อน])

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

เลือกปี 2024 แล้วยอดปีก่อนว่าง เพราะตาราง Date ไม่มีปี 2023 SAMEPERIODLASTYEAR คืนเฉพาะวันที่ที่มีในคอลัมน์
เท่ากับ DATEADD('วันที่'[Date], -1, YEAR) ถ้าช่วงที่กรองมีสองวันสุดท้ายของเดือน ผลจะยืดถึงสิ้นเดือน เช่น ก.พ. 2025 ทั้งเดือนได้ 1–29 ก.พ. 2024
ตาราง 'วันที่' ต้องมีวันที่ครบทุกวันไม่ขาด และตั้งเป็น Date table (Table tools › Mark as date table › Date) ก่อนใช้ฟังก์ชันกลุ่มนี้ ตามคำแนะนำของ Microsoft

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

1. แถว มี.ค. 2025 ของ CALCULATE([ยอดขาย], SAMEPERIODLASTYEAR('วันที่'[Date])) คือยอดใด

2. เลือกปี 2024 แล้วยอดปีก่อนว่าง เพราะอะไร

3. อัตราเติบโตเทียบปีก่อนเขียนแบบใด

ไฟล์ฝึก SAMEPERIODLASTYEAR

9Expert-DAX-SAMEPERIODLASTYEAR-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 วัน)

ดูหลักสูตร