Power BI ตอนที่ 13: CALCULATE ฟังก์ชันที่ทรงพลังที่สุดใน DAX 1

Power BI ตอนที่ 13: CALCULATE ฟังก์ชันที่ทรงพลังที่สุดใน DAX

ในบทความนี้ผมจะมาพูดถึงฟังก์ชัน CALCULATE ฟังก์ชันที่ทรงพลังที่สุดใน DAX ที่ถูกออกแบบมาให้ทำหน้าที่ "เปลี่ยน Filter Context" โดยเฉพาะ CALCULATE เป็นฟังก์ชันที่หน้าตาดูเรียบง่าย เหมือนไม่มีอะไร แต่ทรงพลังมากๆ ผมว่ามันเทียบได้กับตัวการ์ตูนเอกในเรื่อง One Punch Man ที่ชื่อไซตามะเลยครับ หน้าตาดูไม่เก่งอะไรเลย แต่ต่อยทีเดียวศัตรูตายหมด ดังนั้นอย่าดูถูก CALCULATE เด็ดขาด!! ผมกล้าพูดได้เลยว่าใครที่ใช้ Power BI แต่ไม่รู้จัก CALCULATE ก็เหมือนกับยังใช้ Power BI ไม่เป็นอ่ะครับ ดังนั้นมันสำคัญจริงๆ บอกเลยว่าตั้งแต่บทนี้ไปเนื้อหาจะเริ่มลึกซึ้งมากขึ้นๆ ดังนั้นความรู้เดิมควรจะแน่นก่อน และควรมีสมาธิในการอ่านดีๆ นะครับ อ่านผ่านๆ ไม่คิดตาม ไม่เข้าใจแน่นอน เอาล่ะเราไปเริ่มกันเลย! Recap เล็กน้อย ความหมายของการเปลี่ยน Filter Context ก็จะคล้ายๆ กับในบทความตอนก่อนหน้านี้ที่ ผมได้พยายามเขียนสูตร ALL…
distinct values all

Power BI ตอนที่ 12: DISTINCT, VALUES, ALL และผองเพื่อน

เรื่องของ Table Function ใน DAX นอกจาก FILTER ที่แนะนำไปในบทความที่แล้ว ยังมีที่เราควรจะรู้จักอีก 3 ตัว ก็คือ DISTINCT, VALUES, ALL (และเพื่อนๆ ของมัน) เนื่องจากทั้ง 3 ตัวนี้ทำงานคล้ายกันๆ แต่ไม่เหมือนกัน... ดูเผินๆ แล้วจะสับสนได้ ผมจึงขอทำตารางเปรียบเทียบดังนี้ ฟังก์ชันรองรับ Table/Col ที่เป็นสูตร (Expression)กรณีใช้กับ Tableกรณีใช้กับคอลัมน์เดียวกรณีใช้กับหลายคอลัมน์DISTINCTได้•ได้ Table แบบค่าที่ไม่ซ้ำกัน•ได้ค่าไม่ซ้ำกันในคอลัมน์นั้นทำไม่ได้VALUESไม่ได้•ค่า Duplicates ยังอยู่ •ได้ Blank Row พิเศษ•ได้ค่าไม่ซ้ำกันในคอลัมน์นั้น •ได้ Blank Rowพิเศษทำไม่ได้ALLไม่ได้•ค่า Duplicates ยังอยู่ •ได้ Blank Row พิเศษ •ปลด Filter ออกหมด•ได้ค่าไม่ซ้ำกันในคอลัมน์นั้น •ได้…
Power BI ตอนที่ 11: เรียนรู้ DAX Table Function - FILTER 2

Power BI ตอนที่ 11: เรียนรู้ DAX Table Function – FILTER

ในซีรีส์ Power BI บทก่อนหน้านี้เราได้เรียนรู้จักสูตร DAX พื้นฐานกันไปแล้ว คราวนี้เรามารู้จักฟังก์ชันกลุ่ม Table Function เพิ่มเติม นั่นก็คือ FILTER, DISTINCT, VALUES, ALL ซึ่งจะช่วยให้เราสามารถเขียนสูตร DAX ที่ซับซ้อนได้มากขึ้นในอนาคตนั่นเอง แต่เพื่อไม่ให้มันเยอะเกินไป เดี๋ยวบทความนี้ผมจะพูดถึง FILTER แค่ตัวเดียวก่อน ส่วน ALL, DISTINCT, VALUES และผองเพื่อน จะพูดในตอนถัดไปนะครับ ไฟล์ประกอบ ใช้ไฟล์เดิมmี่ทำมาจากตอนก่อนหน้าได้เลยนะครับ หรือจะใช้อันนี้ก็ได้ Table Function คืออะไร? คำว่า Table Function ก็คือ ฟังก์ชันที่ให้ผลลัพธ์กลับมาเป็น Table หรือตารางนั่นเอง ต้องบอกว่าฟังก์ชันปกติที่เราคุ้นเคยกันก่อนหน้านี้ทุกอัน จะให้คำตอบออกมาเป็นค่าเดียว (เรียกว่า Scalar Value) ไม่ว่าจะเป็นประเภทตัวเลข ตัวหนังสือ logic ก็ตาม…
สูตรสำเร็จรูปสำหรับสร้าง Date Table ด้วย DAX และ Power Query M Code 3

สูตรสำเร็จรูปสำหรับสร้าง Date Table ด้วย DAX และ Power Query M Code

จากที่ผมได้เคยอธิบายไปว่า Date Table มีความสำคัญต่อการทำ Data Model เป็นอย่างยิ่ง โดยเฉพาะการใช้ฟังก์ชัน Date Intelligence ยิ่งจำเป็นต้องใช้ Date Table เลยล่ะ แปลว่า Data Model ของทุกคนควรมี Date Table ซึ่งกลายเป็นเรื่องที่ทุกๆ คนต้องทำเหมือนๆ กันหมด ดังนั้นจะดีกว่ามั้ย ถ้าเราสามารถมีสูตรสำเร็จรูปอะไรซักอย่าง ที่สามารถ Copy Paste ไปใช้สร้าง Date Table ได้เลย? และนั่นคือที่มาของบทความนี้ครับ ทีนี้การสร้าง Date Table นั้นทำได้ 2 วิธี คือใช้ DAX กับใช้ M Code ของ Power Query เรามาดูแต่ละวิธีกันครับ สร้าง Date…
Power BI ตอนที่ 10: เรียนรู้ DAX เบื้องต้น 4

Power BI ตอนที่ 10: เรียนรู้ DAX เบื้องต้น

ในบทความนี้เราจะมาเรียนรู้การใช้ DAX เบื้องต้นกันครับ เดี๋ยวจะสอนแบบที่ว่า ไม่เคยใช้ DAX เลยก็สามารถเข้าใจได้นะ ก่อนอื่นเรามาลองดู Data ของตารางหลัก นั่นก็คือ fSales กันก่อนครับ เกิดอะไรขึ้นเมื่อลาก Field ตัวเลขลง Visual สิ่งที่เราควรรู้คือ เราสามารถลาก Field ที่เป็นตัวเลข (สังเกตว่าที่ Field มีสัญลักษณ์ Sigma อยู่) อย่างเช่น SalesQuantity ลง Visual ได้เลย และเราก็สามารถเลือกวิธีสรุปข้อมูลได้เช่นจะให้ Sum, Count, Average, Max, Min หรือแม้แต่ Distinct Count เวลาใน Values เรากดที่ลูกศรลงของ SalesQuantity ก็จะเห็นวิธีสรุปที่เลือกได้มากมายดังนี้ ค่า Default ของการลากข้อมูลตัวเลขลงมาก็คือการ Sum แต่เราสามารถเปลี่ยนวิธีการสรุปข้อมูลได้ตาม…
Power BI ตอนที่ 09: สร้าง Date Table ด้วย DAX 5

Power BI ตอนที่ 09: สร้าง Date Table ด้วย DAX

ในตอนที่แล้วเราได้สร้าง Data Model ให้เป็น Star Schema ได้แล้ว เหลืออีกขั้นตอนนึงในการทำให้ Data Model ของเราสมบูรณ์ยิ่งขึ้น นั่นก็คือการสร้าง Date Table นั่นเอง แม้ว่าในความเป็นจริงแล้วเราสามารถลาก Field วันที่จาก Fact Table ลงไปใน Visual ได้เลย แต่ทว่านั่นเป็นสิ่งที่เหล่าผู้เชี่ยวชาญไม่แนะนำให้ทำ เพราะมันจะสร้างตารางวันที่จำลองที่มองไม่เห็นขึ้นมาเต็มไปหมด วิธีที่ถูกต้องคือสร้าง Dimension Table ที่เป็นตารางวันที่ขึ้นมาต่างหาก การสร้าง Date Table นอกจากจะลดปัญหาที่บอกข้างบนแล้ว ยังช่วยให้ฟังก์ชัน DAX ตระกูล Time Intelligence ทั้งหมดทำงานได้อย่างถูกต้องอีกด้วย เช่นการคิดเลขสะสมตั้งแต่ต้นปี (Year-to-Date) หรือ การคิดเทียบกับช่วงเดียวกันในปีที่แล้ว (Same period last year) แต่ว่าการเขียนสูตรพวก Time Intelligence…
Power BI ตอนที่ 08: สร้าง Data Model ที่เหมาะสม 6

Power BI ตอนที่ 08: สร้าง Data Model ที่เหมาะสม

ในที่สุดก็มาถึงตอนที่เป็น Concept สำคัญอีกตอนหนึ่ง นั่นก็คือเรื่องของ Data Model นั่นเอง ถ้าใครได้ลองทำ Visual ในตอนที่ 4 ก็จะรู้ว่า เราสามารถลาก Field ข้ามตารางมาลงใน Visual ได้ถ้าตารางนั้นได้มีการผูก Relationship กันไว้แล้ว และทิศทางของการ Filter ข้อมูลจะวิ่งตามทิศทางของลูกศรใน Relationship ด้วย พอพูดถึงเรื่อง Data Model แล้ว การออกแบบ Data Model ที่ดี จะช่วยให้ Performance ของงานเราเร็วขึ้น และสามารถเขียนสูตร DAX ได้ง่ายขึ้นด้วย Star Schema: Data Model ที่ Power BI ชอบที่สุด และจากคำแนะนำของกูรูระดับโลกในเรื่อง DAX อย่าง Marco…
Power BI ตอนที่ 02: พื้นฐาน Excel ที่สำคัญก่อนจะเรียนรู้ Power BI 7

Power BI ตอนที่ 02: พื้นฐาน Excel ที่สำคัญก่อนจะเรียนรู้ Power BI

จะเข้าใจ Power BI ได้ พื้นฐาน Excel ที่สำคัญก่อนจะเรียนรู้ Power BI ในความคิดเห็นส่วนตัวของผมก็คือ เราควรจะมีความเข้าใจเรื่อง PivotTable ใน Excel ซะก่อน ทั้งนี้เพราะพื้นฐานหลายๆ อย่างมันเหมือนกัน และการดูค่าใน Excel สามารถตรวจสอบผลลัพธ์ง่ายกว่า ดังนั้นผมจะขออธิบายการทำงานของ Pivot Table ใน Excel คร่าวๆ ก่อน เพื่อให้พวกเรามีพื้นฐานที่จำเป็นและมีความเข้าใจที่ถูกต้องว่ามันเกิดอะไรขึ้นกันแน่ใน PivotTable ข้อมูลตัวอย่าง สมมติผมมีข้อมูลดิบเป็น Table อันนี้ แล้วเอาเข้าไปสรุปใน PivotTable โดยคลิ๊กที่ Table แล้วกด Insert Pivot Table แล้วกด ok ข้อมูล 1 บรรทัดคือการขายของ 1 Transaction ซึ่งมีสินค้าได้ 1…
แฉ 10 ความลับของ EXCEL ภาค3 : เปิดโลก Excel ใบใหม่ที่หลายคนไม่รู้จัก 8

แฉ 10 ความลับของ EXCEL ภาค3 : เปิดโลก Excel ใบใหม่ที่หลายคนไม่รู้จัก

บทความนี้เป็นภาคต่อจากบทความที่ผมเคย post ในปี 2014 (เกือบ 6 ปีมาแล้วเหรอเนี่ย!! ) ซึ่งเกี่ยวกับเรื่องลับที่หลายคนไม่รู้ใน Excel ซึ่งได้รับความสนใจอย่างสุดๆ (ใครยังไม่เคยอ่านก็ลองเข้าไปดูนะ) แฉ 10 ความลับของ EXCEL ที่คุณอาจยังไม่เคยรู้มาก่อน!แฉ 10 ความลับของ EXCEL ภาค 2 : เรื่องง่ายๆ ที่หลายคนไม่รู้ ตอนนี้ก็ขึ้นปี 2020 แล้ว ผมคิดว่าได้เวลาที่จะ post ภาค 3 เป็นของขวัญปีใหม่ให้กับทุกท่านในปี 2020 นี้เลยละกัน แล้ว 10 เรื่องที่ผมคิดว่าเจ๋ง แต่หลายคนไม่รู้ในช่วงนี้ มีอะไรบ้าง? มาดูกันเลย!! (บอกเลยว่าหลายอันนี่ Advance มากๆ นะ และบางอันอาจมีใน Excel version ใหม่ๆ หน่อยนะครับ)…
วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ 9

วิธีกำหนดให้ Pivot Table แสดงเฉพาะแถว/คอลัมน์ที่ต้องการ

คงปฏิเสธไม่ได้ว่า Pivot Table คือเครื่องมือสรุปผลตัวเลขที่ใช้งานง่ายและมีประโยชน์ที่สุดเครื่องมือนึงใน Excel และคงปฏิเสธไม่ได้เช่นกันว่ามันก็มีข้อจำกัดหลายอย่างที่ทำให้หลายคนรำคาญใจ ข้อจำกัดหนึ่งที่หลายคนรำคาญมากคือ ในบางครั้งเราอยากจะเอาบางแถวหรือบางคอลัมน์ออกไปจาก Pivot Table ซะ ซึ่งหนึ่งในวิธีที่ทำได้คือทำการซ่อนแถวหรือคอลัมน์นั้นๆ ไปทั้งอันเลย ซึ่งอาจจะดูลูกทุ่งไปหน่อย วันนี้ผมเลยจะขอนำเสนออีกวิธีหนึ่งซึ่งดูโปรกว่า แต่จะทำได้เฉพาะ Excel 2010 ขึ้นไปเท่านั้นครับ มาเริ่มใช้ Pivot Table Named Set กัน วิธีนี้จะใช้เครื่องมือที่ชื่อว่า Named Set ซึ่งเป็น Feature ของ Power Pivot ที่ใช้ Data Model ดังนั้นการจะใช้คำสั่งนี้ได้ เราต้องมี Excel 2010 ที่มี Power Pivot Add-in หรือมี Excel 2013 ขึ้นไปถึงจะทำได้ครับ วิธีการใช้งานคือต้องสร้าง Pivot…