DAX

สูตร DAX สรุปออเดอร์ N เดือนย้อนหลัง [DAX Order Date Delivery Date ep.4]

“แล้วถ้าอยากรู้ออเดอร์ที่ส่งย้อนหลัง 6 เดือน ควรทำยังไงดีคะ?” น้องนิจิคนงามถามต่อคำถามนี้ทำผมอึ้ง เพราะมันไม่ง่ายเลย! (บทความนี้คือ ep.4 อ่าน ep.1 ที่นี่, ep.2 ที่นี่, ep.3 ที่นี่) รีพอร์ตที่น้องนิจิต้องการ หน้าตาแบบนี้ครับ ถ้าคลิก slicer ปี 2020 และเดือน Oct ต้องแสดงข้อมูลการส่ง 6 เดือนย้อนหลัง นั่นคือเดือน May-20 ถึง Oct-20 และแสดงจำนวนออเดอร์ที่ยังไม่ส่ง ณ วันที่ 31 ตุลาคม 2020 แต่ถ้าคลิก slicer ปี 2020 และเดือน Mar ต้องแสดงข้อมูลการส่งออเดอร์ 6 เดือนย้อนหลัง นั่นคือเดือน Oct-19 ถึง Mar-20 และแสดงจำนวนออเดอร์ที่ยังไม่ส่ง ณ วันที่ 31 มีนาคม 2020 […]

Read more
DAX

สูตร DAX สรุปออเดอร์ที่ยังไม่ได้ส่ง [DAX Order Date Delivery Date ep.3]

“งั้นถ้าอยากสรุปจำนวนออเดอร์ที่ส่งแล้วและยังไม่ส่ง ควรทำยังไงดีคะ?” น้องนิจิคนงามถามต่อ“ต้องสร้างตาราง และ measure เพิ่มครับ” ผมตอบ“ทำไมต้องสร้างตารางเพิ่มด้วยล่ะคะ?”“เพราะตอนนี้เรายังไม่มีคอลัมน์ใดที่มีทั้งชื่อเดือนและคำว่า “Not Delivered” อยู่ในคอลัมน์เดียวกัน” พูดคำว่า “เรา” แล้วรู้สึกดีจัง ^^ (บทความนี้คือ ep.3 อ่าน ep.1 ได้ที่นี่ และ ep.2 ได้ที่นี่) รีพอร์ตที่น้องนิจิต้องการหน้าตาแบบนี้ครับ รีพอร์ตนี้ไม่สามารถใช้ DMonthYear เป็น Columns ใน Matrix เพราะ DMonthYear มีแต่ชื่อเดือน ไม่มีคำว่า “Not Delivered” จึงต้องสร้างตารางขึ้นมาใหม่ เขียนสูตรใหม่ และปรับอะไรบางอย่างสรุปเป็นขั้นตอนทั้งหมด 3 ขั้นดังนี้ สร้างตารางที่มีคำว่า Not Delivered สร้าง measure คำนวณ สังเกต Subtotal

Read more
DAX

เทคนิค Power BI สรุปออเดอร์ที่ส่งในแต่ละเดือน [DAX Order Date Delivery Date ep.2]

“เอ๋! เราไม่ควรสร้างคอลัมน์เพิ่มใน Power BI หรือคะ?” น้องนิจิคนงามร้องด้วยความประหลาดใจ“ใช่ครับ การสร้างคอลัมน์เพิ่มเป็นข้อห้ามใน Power BI” “ทำไมล่ะคะ?”“เพราะจะหน่วงโปรแกรมครับ” ลองนึกภาพตารางการสั่งซื้อ 1 ล้านบรรทัดถ้าเพิ่ม 1 คอลัมน์ แปลว่า เพิ่ม 1 ล้านข้อมูลถ้าเพิ่ม 2 คอลัมน์ แปลว่า เพิ่ม 2 ล้านข้อมูลถ้าเพิ่ม 10 คอลัมน์ แปลว่า เพิ่ม 10 ล้านข้อมูล! การเพิ่มคอลัมน์ทำให้ข้อมูลเยอะ ขนาดไฟล์ใหญ่ และคำนวณช้ามาก (บทความนี้คือ ep.2 ใครอ่านแล้วงง อ่าน ep.1 ได้ ที่นี่ ) “อ้อ! คอลัมน์ Year, Quarter, Month, Day (Date Hierarchy) ที่โปรแกรมให้มาก็ไม่ควรใช้นะครับ” ผมเสริม “เอ๋! คอลัมน์พวกนั้นก็ห้ามใช้หรือคะ?” สีหน้าน้องนิจิยิ่งแสดงความประหลาดใจ“ใช่ครับ […]

Read more
DAX

อ้าว! ทำไม Power BI มันขึ้น error ล่ะ? [DAX Order Date Delivery Date ep.1]

“พี่คะ รบกวนดูสูตรให้นิดนึงได้ไหมคะ?” น้องนิจิคนงามให้เกียรติเดินมาหาผมที่โต๊ะ“มีอะไรหรือครับ” ผมทำเสียงหล่อโดยไม่รู้ตัว“คือนิจิเขียนสูตรใน Power BI แล้วมันขึ้น error น่ะค่ะ” “error ยังไงครับ?” ผมได้กลิ่นน้ำหอมจาง ๆ ช่างชวนฝัน..“แบบนี้ค่ะ” เธอชี้ไปที่จอคอมพ์ สติผมกลับมาทันที Error ได้ไง? สูตรไม่ผิด ข้อมูลไม่ผิด syntax ก็ไม่ผิดแล้วผิดตรงไหน?

Read more
DAX

เทคนิค Power BI แสดงข้อมูล N เดือนย้อนหลัง [DAX Last N Month Selected]

“หวาว! เพิ่งรู้ว่า Power BI ทำแบบนี้ได้ด้วย” น้องนิจิยกสองมือประกบกัน“ใช่ครับ ถ้าศึกษาสูตร DAX จะพบว่าประยุกต์ได้เยอะมาก” ผมส่งยิ้มหล่อที่สุดในชีวิต เรื่องราวมีอยู่ว่า … “พะ พี่คะ หนูขอเวลาสักครู่ได้ไหมคะ?” สาวน้อยคนหนึ่งถือคอมพิวเตอร์มาหาผมด้วยท่าทางเกร็ง ๆ“ได้ครับ” ผมหันไปพบว่าเป็นน้องใหม่หน้าตาจิ้มลิ้มที่แก๊งหนุ่ม ๆ แอบพูดถึง“นะ หนูชื่อนิจินะคะ พอดีพี่ตั้มแนะนำว่าอะไรเกี่ยวกับ Power BI ให้มาถามพี่” “ถามได้ แต่อาจจะตอบไม่ได้นะครับ” ผมยิ้ม “คือหนูอยากคลิก Slicer Month แล้วให้ตารางแสดงข้อมูล 6 เดือนย้อนหลัง เช่น คลิก Jun แสดงข้อมูล Jan – Jun คลิก Aug แสดงข้อมูล Mar – Aug Power BI ทำได้ไหมคะ?”“ทำได้ครับ แต่มีเทคนิคนิดหน่อย”“จริงหรือคะ!” น้องนิจิทำท่าดีใจ“จริงครับ” ผมสังเกตว่าเธอดีใจแล้วน่ารัก “แล้วถ้าหนูอยากให้มี Slicer […]

Read more
DAX, Function, Power Pivot, Power Query

รู้ยัง! Excel เขียนสูตรได้ 5 ภาษา

ลองมาเดากันไหมครับว่า Excel เขียนสูตรได้กี่ภาษา? ติ๊กต็อก ติ๊กต็อก .. แวบแรกน่าจะนึกถึง 2 ภาษาคือ Excel Function กับ VBAแต่แท้จริงแล้วมี 5 นั่นคือ Excel Function VBA M Code DAX MDX แต่ละภาษาเป็นยังไง มาดูกันเลย

Read more
DAX

เมื่ออาจารย์โดนลูกศิษย์ลองภูมิ .. [DAX Power BI]

“เมิงเคยโดนลูกศิษย์ลองภูมิไหม?” นัทถามกลางวงสนทนาเพื่อนเก่า“เช่นยังไง?” ผมถามกลับ“เช่น ถามคำถามยาก ๆ ลองเชิงว่าเมิงรู้จริงหรือเปล่า”คำถามนัททำให้ผมนึกถึงเหตุการณ์นึง … ณ ออฟฟิศย่านรัชดา“อาจารย์ นี่น้องเอกซ์ค่ะ น้องเอกซ์เป็นผู้ดูแล Power BI ของบริษัท มาเข้าร่วมการอบรมด้วย” พิม ทีมงานเอชอาร์กล่าวแนะนำ“สวัสดีครับคุณเอกซ์” ผมส่งยิ้ม“สวัสดีครับ” เอกซ์ยิ้มทักทายกลับ“คอร์สนี้สอนตั้งแต่พื้นฐานการใช้ Power BI เกรงว่าคุณเอกซ์น่าจะเคยผ่านมาหมดแล้ว ถ้าผมสอนอะไรผิดไป คุณเอกซ์แนะนำได้เลยนะครับ”“โอ.. ไม่หรอกครับ ผมเองเพิ่งศึกษา Power BI ไม่กี่เดือน ถือว่ามาปรับพื้นฐานด้วยครับ”“ด้วยความยินดีครับ” ผมตอบยิ้ม ๆ

Read more
DAX

ว้าว! สูตร DAX แสดง Top 5 และ Others ใน Power BI

“อยากสร้างรีพอร์ตแสดง Top 5 สินค้าขายดี และแสดงสินค้าที่เหลือเป็น Others ต้องทำยังไงคะ?” รีพอร์ตที่ว่าหน้าตาประมาณนี้ครับ รีพอร์ตนี้สร้างไม่ยากถ้าใช้ Excel แต่สร้างยากมากถ้าใช้ Power BI ทำไม? เพราะ Power BI ไม่สามารถเพิ่มบรรทัด (Row) ที่ไม่มีในข้อมูล ใช่ครับ ผมหมายถึงบรรทัดที่เป็น Others รายชื่อสินค้า 5 อันดับแรกสามารถดึงจากคอลัมน์ชื่อสินค้าได้ แต่ Others ไม่ใช่ชื่อสินค้าถ้าสินค้ามี 100 ตัว Others คือผลรวมของ 95 ตัวที่เหลือ ในทางปฏิบัติอาจมี slicer เพิ่มเติมเงื่อนไขอื่น เช่น ปี ไตรมาส ประเภทสินค้า ยิ่งเพิ่มความซับซ้อนในแง่ของ DAX แล้ว สูตรนี้แทบเป็นไปไม่ได้ แต่… ต้องทำ! แล้วจะทำยังไง?

Read more
DAX

เทคนิคแสดงวันที่เป็นภาษาไทยใน Power BI [DAX]

“อยากแสดงวันที่ปัจจุบันเป็นภาษาไทยใน Power BI ต้องทำยังไงคะ?”“ตอนนี้ใช้ฟังก์ชัน TODAY() บางครั้งได้ผลลัพธ์เป็นภาษาไทย บางครั้งได้ผลลัพธ์เป็นภาษาอังกฤษ ควรปรับยังไงดีคะ?” คำถามนี้สะกิด “ต่อมอยากรู้” ของผมอย่างจัง จนต้องเปิดคอมพ์ขึ้นมาทดลองทันทีทดลองแล้วเป็นไงน่ะหรือครับ?ขอ 2 นาทีได้ไหม อยากเล่าให้ฟัง ^__^

Read more
DAX

DAX: เทคนิคคิดค่าเฉลี่ย 3 ครั้งสุดท้าย

คุณทราบไหมครับว่า โจทย์ข้อนึงแก้ปัญหาด้วย Excel ได้อย่างน้อย 3 วิธี ! วิธีอะไรบ้างน่ะหรือครับ? 1 เขียนสูตรปกติ2 Power Query3 Power Pivot & DAX ยังนึกภาพไม่ออกใช่ไหมครับ?ไม่เป็นไร คลิปนี้จะทำให้คุณเห็นภาพของทั้ง 3 วิธีได้อย่างชัดเจน ^__^ (จริงๆต้องใช้คำว่า 4 วิธีด้วยซ้ำไป เพราะการเขียนสูตรทำได้ 2 แบบคือ AGGREGATE, LARGE)

Read more