สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ฐานข้อมูล · DBC-29

Advanced DAX in Power BI

หลักสูตร Advanced DAX in Power BI เป็นการอบรม DAX ขั้นสูงที่เจาะ Row Context, Filter Context และ Context Transition ต่อด้วย Window Functions, Calculation Groups, DAX User-Defined Functions และการปรับความเร็วด้วย VertiPaq เหมาะกับ Data Analyst นักพัฒนารายงาน Power BI และทีม BI ที่เขียน DAX พื้นฐานได้แล้ว

อัปเดตล่าสุด
ราคาเริ่มต้น 6,750 บาท / ท่าน 7,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา12 ชั่วโมง · 2 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

หลายทีมเขียน DAX ได้แล้ว แต่ยังเจอ Measure ที่ให้ตัวเลขผิดเมื่อเปลี่ยน Slicer ยอดรวมไม่ตรงกับผลรวมของแถว สูตรยาวจนไม่มีใครกล้าแก้ หรือรายงานช้าลงทุกครั้งที่ข้อมูลโตขึ้น สาเหตุส่วนใหญ่ไม่ได้อยู่ที่ฟังก์ชันที่เลือกใช้ แต่อยู่ที่ความเข้าใจ Evaluation Context, Context Transition และวิธีที่ Engine ของ Power BI ประมวลผลสูตร

หลักสูตรนี้พาผู้เรียนเจาะกลไกของ DAX อย่างเป็นระบบ ตั้งแต่ Variable และ Iterator, Row Context กับ Filter Context, CALCULATE และ Context Transition, Table Function และความสัมพันธ์ขั้นสูง ไปจนถึงเครื่องมือรุ่นใหม่อย่าง Window Functions, Calculation Groups, DAX User-Defined Functions และ DAX query view แล้วปิดท้ายด้วยการวิเคราะห์ประสิทธิภาพผ่าน Formula Engine, Storage Engine และ VertiPaq ทุกหัวข้อฝึกด้วยโจทย์ธุรกิจจริงบนโมเดลเดียวกันตลอดหลักสูตร (อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง ระดับ Intermediate ถึง Advanced)

สิ่งที่คุณจะได้รับ

  • อธิบายและควบคุม Row Context, Filter Context และ Context Transition ได้อย่างถูกต้อง
  • เขียน Measure ที่อ่านง่ายและตรวจสอบได้ด้วย Variable, Iterator และ DAX query view
  • ใช้ Table Function และความสัมพันธ์ขั้นสูง เช่น USERELATIONSHIP และ TREATAS ได้
  • สร้าง Calculation Groups และ DAX User-Defined Functions เพื่อลดสูตรซ้ำซ้อน
  • ใช้ Window Functions และ Time Intelligence ขั้นสูงกับโจทย์ธุรกิจได้
  • วิเคราะห์และปรับปรุงประสิทธิภาพของ DAX และ Data Model ได้

หลักสูตรนี้เหมาะสำหรับ

  • Data Analyst และนักพัฒนารายงาน Power BI ที่เขียน DAX อยู่แล้วและต้องการเข้าใจให้ลึกขึ้น
  • Data Scientist และ Digital Marketer ที่ใช้ Power BI วิเคราะห์ข้อมูลหลายมิติ
  • ทีม BI ที่ต้องดูแล Semantic Model กลางให้หลายรายงานใช้ร่วมกัน
  • ผู้ที่ผ่านหลักสูตร Power BI หรือ DAX ระดับพื้นฐานมาแล้ว

พื้นฐานของผู้เข้าอบรม

  • ใช้ Power BI Desktop สร้างรายงานและ Data Model ได้
  • เขียน DAX Measure พื้นฐานได้ เช่น SUM, DIVIDE และ CALCULATE แบบง่าย
  • เข้าใจ Star Schema และ Relationship เบื้องต้น
  • โน้ตบุ๊ก Windows ที่ติดตั้ง Power BI Desktop รุ่นล่าสุดได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Advanced DAX in Power BI Desktop เนื้อหาเขียนใหม่ให้ตรงกับ Power BI Desktop รุ่นปัจจุบัน อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนโมเดลยอดขายชุดเดียวตลอดหลักสูตร ระดับ Intermediate ถึง Advanced วันแรกเจาะ Evaluation Context, CALCULATE, Context Transition, Table Function

และความสัมพันธ์ขั้นสูง วันที่สองฝึก Time Intelligence ขั้นสูง, Window Functions, Calculation Groups, DAX User-Defined Functions และการปรับประสิทธิภาพด้วย VertiPaq หลักสูตรนี้ต่อยอดจาก Analyzing Data with Power BI Desktop และ Basic DAX in Power BI Desktop จึงไม่สอนการเตรียมข้อมูลหรือการออกแบบ Dashboard ซ้ำ ผู้เรียนจะได้ไฟล์ Power BI และชุดโจทย์ DAX ของทุก Lab กลับไปใช้งานต่อ

Day 1 เจาะกลไก Evaluation Context ของ DAX

Section 1: Lab: Variable, Iterator และการทดสอบด้วย DAX query view

  • DAX query view (EVALUATE, DEFINE MEASURE) และ TMDL view สำหรับตรวจและแก้โมเดล
  • VAR และ RETURN ช่วยให้สูตรอ่านง่าย คำนวณครั้งเดียว และ Debug ได้
  • SUMX, AVERAGEX และ MAXX ทำงานทีละแถว และผลของ Iterator ซ้อนกันต่อความเร็ว
  • RANKX และ CONCATENATEX สำหรับจัดอันดับและตรวจค่าภายในสูตร
  • Lab: Measure กำไรและอันดับสินค้า ตรวจผลด้วย Query ก่อนนำไปใช้ใน Visual

Section 2: Lab: Row Context, Filter Context และ Relationship

  • Row Context เกิดขึ้นที่ไหน และทำไมจึงไม่กรองข้อมูลเอง
  • Filter Context มาจาก Slicer, แถวและคอลัมน์ของ Visual และ Filter Pane
  • RELATED, RELATEDTABLE และการไหลของตัวกรองผ่าน Relationship
  • Cross Filter Direction แบบสองทางและความเสี่ยงที่ตามมา
  • Lab: ไล่หาสาเหตุที่ยอดรวมไม่เท่ากับผลรวมของแต่ละแถว

Section 3: Lab: CALCULATE ขั้นลึกและ Context Transition

  • ลำดับการทำงานของ CALCULATE และการแทนที่ตัวกรองเดิม
  • KEEPFILTERS, REMOVEFILTERS, ALL, ALLEXCEPT และ ALLSELECTED
  • Context Transition ใน Calculated Column และใน Iterator
  • การอ้าง Measure ภายใน Iterator ซึ่งถูกครอบด้วย CALCULATE โดยอัตโนมัติ
  • Lab: ส่วนแบ่งยอดขายที่ถูกต้องเมื่อผู้ใช้เลือกหลายตัวกรองพร้อมกัน

Section 4: Lab: Table Function และตารางเสมือนใน Measure

  • FILTER เทียบกับเงื่อนไขแบบ Boolean ใน CALCULATE
  • VALUES, DISTINCT, SUMMARIZECOLUMNS, ADDCOLUMNS และ SELECTCOLUMNS
  • TOPN และการสร้างตารางเสมือนเพื่อคำนวณต่อใน Measure
  • ตรวจผลตารางเสมือนด้วย DAX query view ก่อนนำไปใช้
  • Lab: ยอดขายของลูกค้า Top 10 เทียบกับกลุ่มที่เหลือ

Section 5: Lab: ความสัมพันธ์ขั้นสูง

  • Role-playing Date และ USERELATIONSHIP กับ Relationship ที่ไม่ Active
  • CROSSFILTER สำหรับเปลี่ยนทิศทางการกรองเฉพาะใน Measure
  • TREATAS สร้างความสัมพันธ์เสมือนระหว่างตารางคนละระดับ
  • Many-to-many และ Bridge Table ใช้อย่างไรให้ตัวเลขไม่ผิด
  • Lab: เทียบยอดขายจริงกับงบประมาณที่เก็บเป็นรายเดือนและรายกลุ่มสินค้า
Day 2 DAX รุ่นใหม่ที่นำกลับมาใช้ซ้ำได้และทำงานเร็ว

Section 6: Lab: Time Intelligence ขั้นสูง

  • Date Table ที่ถูกต้องและปีงบประมาณที่ไม่เริ่มเดือนมกราคม
  • ยอดสะสมแบบ Rolling ด้วย DATESINPERIOD และค่าเฉลี่ยเคลื่อนที่
  • Semi-additive Measure สำหรับยอดคงเหลือและสต็อกปลายงวด
  • ภาพรวม Calendar-based Time Intelligence สำหรับปฏิทินรายสัปดาห์ (Preview)
  • Lab: ยอดขาย 12 เดือนย้อนหลังและสต็อกคงเหลือ ณ สิ้นเดือน

Section 7: Lab: Window Functions

  • OFFSET, INDEX และ WINDOW ต่างกันอย่างไร
  • ORDERBY, PARTITIONBY และ MATCHBY กำหนดลำดับและกลุ่มอย่างไร
  • เทียบกับงวดก่อนหน้า ยอดสะสม และอันดับภายในกลุ่ม
  • เมื่อไรควรใช้ Window Functions และเมื่อไรใช้ Visual Calculations
  • Lab: ยอดขายเทียบเดือนก่อนแยกตามกลุ่มสินค้าโดยไม่ต้องใช้ Date Table

Section 8: Lab: Calculation Groups

  • ปัญหา Measure ซ้ำซ้อนหลายสิบตัว และแนวคิดของ Calculation Groups
  • สร้าง Calculation Group ใน Model view ของ Power BI Desktop
  • SELECTEDMEASURE และ Format String Expression
  • Precedence เมื่อมีหลาย Calculation Group และข้อควรระวัง
  • Lab: กลุ่มเทียบเวลา MTD, YTD, ปีก่อน และ % เติบโต ใช้กับทุก Measure

Section 9: Lab: DAX User-Defined Functions

  • DAX UDF คืออะไร และสถานะ General Availability ตั้งแต่รุ่นมิถุนายน 2026
  • เขียน FUNCTION ใน DAX query view และ TMDL view แล้วบันทึกลงโมเดล
  • Parameter Type, Subtype และโหมด VAL กับ EXPR
  • จัดการฟังก์ชันใน Model explorer และใช้ใน Measure, Column และ Visual Calculation
  • Lab: สร้างชุดฟังก์ชันกลางสำหรับอัตรากำไร การเติบโต และการแปลงสกุลเงิน

Section 10: Workshop: ปรับประสิทธิภาพและสร้าง Measure Library

  • Formula Engine กับ Storage Engine, VertiPaq Encoding และ Cardinality ของคอลัมน์
  • หาจุดช้าด้วย Performance Analyzer, DAX Studio และ VertiPaq Analyzer
  • Workshop: ออกแบบชุด Measure สำหรับรายงานผู้บริหารด้วย UDF และ Calculation Group
  • ทดสอบตัวเลขด้วย DAX query view แล้วปรับ Measure ที่ช้าและวัดผลก่อนหลัง
  • นำเสนอผลงานและสรุป Checklist การรีวิว DAX ในทีม

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

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

Row Context กับ Filter Context ใน DAX ต่างกันอย่างไร

Row Context คือการที่สูตรรู้ว่ากำลังคำนวณอยู่ที่แถวใด เกิดขึ้นใน Calculated Column และในฟังก์ชันวนแถวอย่าง SUMX ทำให้อ้างค่าคอลัมน์ของแถวนั้นได้ ส่วน Filter Context คือชุดตัวกรองที่มีผลกับการคำนวณ มาจาก Slicer แถวและคอลัมน์ของ Visual หรือที่กำหนดใน CALCULATE ข้อสำคัญคือ Row Context ไม่กรองข้อมูลเอง และไม่ไหลผ่าน Relationship จนกว่าจะเกิด Context Transition

Context Transition ใน DAX คืออะไร เกิดขึ้นเมื่อไหร่

Context Transition คือการที่ CALCULATE แปลง Row Context ที่มีอยู่ให้กลายเป็น Filter Context โดยนำค่าของทุกคอลัมน์ในแถวปัจจุบันมาเป็นตัวกรอง เกิดขึ้นเมื่อเรียก CALCULATE ภายใน Calculated Column หรือในฟังก์ชันวนแถว และเมื่ออ้าง Measure ภายในฟังก์ชันวนแถว เพราะ Measure ถูกครอบด้วย CALCULATE โดยอัตโนมัติ ถ้าไม่เข้าใจจุดนี้จะได้ตัวเลขที่ผิดหรือสูตรทำงานช้า

DAX User-Defined Functions กับ Calculation Groups ต่างกันอย่างไร

DAX User-Defined Functions คือการเขียนตรรกะที่มี Parameter ไว้ครั้งเดียวในโมเดล แล้วเรียกใช้ซ้ำได้ทุกที่ที่ใช้ DAX ได้ เช่น ฟังก์ชันคำนวณอัตรากำไรหรือแปลงสกุลเงิน ส่วน Calculation Groups ใช้ปรับการคำนวณของ Measure ที่มีอยู่แล้วด้วย SELECTEDMEASURE เช่น เปลี่ยนทุก Measure เป็น YTD หรือเทียบปีก่อนได้จาก Slicer เดียว ทั้งสองแบบช่วยลดสูตรซ้ำซ้อน และในงานจริงมักใช้ร่วมกัน

VertiPaq ใน Power BI บีบอัดข้อมูลอย่างไร ทำไมจำนวนค่าที่ไม่ซ้ำจึงสำคัญ

VertiPaq เก็บข้อมูลแยกตามคอลัมน์แทนการเก็บทีละแถว แล้วบีบอัดแต่ละคอลัมน์ด้วย Value Encoding สำหรับตัวเลข Hash Encoding ที่สร้างพจนานุกรมของค่าที่ไม่ซ้ำ และ Run Length Encoding ที่เก็บค่าซ้ำติดกันเป็นช่วงเดียว คอลัมน์ที่มีค่าไม่ซ้ำจำนวนมาก เช่น วันเวลาละเอียดถึงวินาทีหรือรหัสรายการ จึงกินหน่วยความจำมากและทำให้คำนวณช้า การตัดคอลัมน์ที่ไม่ใช้หรือแยกวันกับเวลาจึงช่วยให้โมเดลเล็กลง และตรวจได้ด้วย VertiPaq Analyzer

หลักสูตร Advanced DAX in Power BI เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับ Data Analyst นักพัฒนารายงาน Power BI ทีม BI และผู้ที่ใช้ DAX ระดับพื้นฐานแล้วและต้องการเข้าใจกลไกการคำนวณให้ลึกขึ้น ควรสร้างรายงานและ Data Model ใน Power BI Desktop ได้ และเขียน Measure พื้นฐานอย่าง SUM, DIVIDE และ CALCULATE แบบง่ายได้แล้ว หลักสูตรนี้ไม่สอนการเตรียมข้อมูลหรือออกแบบ Dashboard ซ้ำ

จัดอบรมหลักสูตร Advanced DAX in Power BI ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น วิเคราะห์ Measure ที่ให้ผลผิดหรือทำงานช้าในโมเดลของทีม ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449