การแสดงข้อมูลสรุปในช่อง Value ออกมาเป็น Text เช่น แสดงชื่อลูกค้าคนล่าสุด แสดงรายการสินค้าออกมาคั่นด้วย comma แสดงสินค้าขายดี Top3
การวิเคราะห์ข้อมูลเทียบกับช่วงเวลาก่อนหน้า
การวิเคราะห์ข้อมูลจากหลายตาราง เช่น การเอาค่าจากอีกตารางมาโดยไม่ต้อง VLOOKUP, การคำนวณ Actual vs Target
นี่คือตัวอย่างของสิ่งที่Pivot ธรรมดาๆ ทำไม่ได้…
แต่ว่าไม่ต้องเสียใจไป เพราะจริงๆ แล้วถ้าเราใช้ Pivot Table อีกโหมดนึงที่เรียกว่าโหมด Data Model ซึ่งจะทำให้ Pivot Table ธรรมดากลายเป็น Power Pivot ซึ่งจะมีความสามารถเพิ่มขึ้นมหาศาลใกล้เคียงกับความสามารถของ Power BI เลยล่ะ
อย่างไรก็ตาม Excel ที่จะใช้ Data Model และ Power Pivot ได้จะต้องเป็น Excel 2010 ขึ้นไปเท่านั้นนะครับ เก่ากว่านี้หมดสิทธิ์ ซึ่งถ้าเป็น 2013 ขึ้นไปจะมีโหมด Data Model ให้ใช้ในตัว แต่ถ้าเป็น Excel 2010 จำเป็นต้องโหลด Add-in Power Pivot มาใช้ซะก่อน
พอแปลงเป็น Table แล้วให้เลือกข้อมูลที่จะเอาเข้า Pivot Table แล้วกด Insert -> Pivot Table ตามปกติ แต่ให้ติ๊ก Add this Data to the Data Model ด้วย (สำคัญมากกกกกก)
พอกด ok เราจะได้ PivotTable โหมดพิเศษที่เป็น Mode Data Model ขึ้นมาแล้ว ซึ่งหน้าตาแทบจะเหมือน Pivot Table ธรรมดาๆ เลย แต่มีความต่างตรงที่ผมตีกรอบให้ดู
ความเจ๋ง 2 : การทำ Calculated Field ที่ไม่ใช่การ SUM ด้วย Measure
ปกติแล้วเวลาเราใช้ Calculated Field ใน Pivot Table นั้น สูตรที่เราเขียน มันจะใช้การสรุปผลด้วยการ Sum เท่านั้น ไม่สามารถเปลี่ยนเป็น Count, Max, Min อะไรได้เลย
แต่ถ้าเราใช้ Mode Data Model แล้ว Calculated Field จะง่อยกว่าเดิม! เพราะมันใช้ไม่ได้เลยเนื่องจากหลายเป็นสีเทาไปแล้ว…
แต่ไม่ต้องเสียใจไป ที่มันเป็นสีเทาเพราะมันมีตัวที่เจ๋งกว่าให้ใช้ นั่นก็คือ Measure นั่นเอง (ซึ่งคือตัวเดียวกับ Power BI)
วิธีการเรียกใช้ Measure ให้คลิ๊กขวาที่ชื่อตารางใน Pivot Field List แล้วกด +Add Measure… (ถ้าคลิ๊กขวาแล้วไม่มีก็ไปเลือกใน Ribbon Power Pivot ตามวิธีถัดไป)
นอกจากการกด +Add Measure เราจะไปกดใน Ribbon Power Pivot ก็ได้นะครับ (เมนูจะเจ๋งกว่าด้วย เพราะมีสีสวยงามตอนเขียนสูตร)
ในที่นี้ผมจะกดสร้าง Measure ผ่านเมนูของ Power Pivot ละกันนะครับ เพราะมีตัวช่วยเยอะกว่า
พอกดสร้าง Measure ปุ๊ป จะเห็นช่องให้ใส่สูตร ถ้าเรากดปุ่ม fx มันจะ List ฟังก์ชันที่ใช้ได้ขึ้นมาเพียบเลย ซึ่งไม่ได้มีแค่ SUM แล้วเนอะ
ฟังก์ชันที่ใช้ได้นี้เป็นสูตรเฉพาะที่เรียกว่า DAX (Data Analysis eXpression) ซึ่งเป็นภาษาที่ใช้ใน PowerPivot กับ Power BI และพวก Analysis Service ต่างๆ ซึ่งมีความคล้ายกับฟังก์ชันใน Excel ของเรามากเลย หลายๆ ฟังก์ชันที่เรารู้จักใน Excel ก็สามารถนำมาใช้ในนี้ได้ และก็มีหลายๆ ฟังก์ชันถูกใส่เข้ามามากกว่าใน Excel ปกติ เพื่อใช้ในการวิเคราะห์ข้อมูลโดยเฉพาะ
Power Query เป็นเครื่องมือที่เป็นส่วนหนึ่งของ Excel Version 2016 ขึ้นไป และมีใน Power BI ด้วย ดังนั้นเรียนรู้ทีเดียวจะใช้ได้ 2 โปรแกรมเลย (ถ้า Excel Version 2013 ขึ้นไปต้องไปโหลด Add-in เพิ่ม)
ในคอร์ส Power Query นี้จะเน้นเรื่อง Power Query โดยเฉพาะ ซึ่งจะมีเนื้อหาที่ลงลึกกว่า Section Power Query Editor ที่อยู่ในคอร์ส Power BI นะครับ
Scope เนื้อหาในคอร์สนี้จะคล้ายกับหนังสือ Excel Power Up แต่จะมีการยกตัวอย่างการประยุกต์ใช้จริงมากกว่าหนังสือครับ
จะเข้าใจ Power BI ได้ พื้นฐาน Excel ที่สำคัญก่อนจะเรียนรู้ Power BI ในความคิดเห็นส่วนตัวของผมก็คือ เราควรจะมีความเข้าใจเรื่อง PivotTable ใน Excel ซะก่อน
โดยผมแนะนำให้ Duplicate Style เดิมที่คุณชอบออกมา แล้ว Modify แก้ Style ของ Selected Item with no Data กับ Unselected item with no data ให้กลายเป็นสีขาวไปเลยก็ได้ 555
วิธีนี้เป็นการสร้าง PivotTable จากข้อมูลหลายตารางที่มีความสัมพันธ์กัน (เรียกว่า Data Model) ซึ่งเป็น Concept เดียวกับโปรแกรม Power BI เลยครับ หากใช้วิธีนี้เราก็จะสามารถสร้าง Pivot Table แล้วเลือก Field ข้ามตารางได้ โดยที่ไม่จำเป็นต้องเอาข้อมูลมารวมเป็นตารางเดียวกันเลยด้วยซ้ำ
เราก็จะสามารถใช้ PivotTable Model Data Model แล้วยังสามารถลาก Field ข้ามตารางได้เลย โดยไม่ต้องเอาข้อมูลมารวมกันเป็นตารางเดียวกันอีก
สำหรับรายละเอียดว่า Concept ของ Data Model ทำงานยังไง ให้ไปอ่านใน Series Power BI ได้ครับ
หมายเหตุ : นอกจากวิธีนี้ เรายังกดสร้าง PivotTable โดยใช้ Data Model แบบไม่เปิด PowerPivot ก็ได้ โดยกดสร้าง PivotTable จากตารางโดยตรง แล้วติ๊ก Add to Data Model
วิธีที่ 2 : ใช้ Power Query (เหมาะกับ Excel 2013 ขึ้นไป)
การใช้ Power Query นั้นสามารถทำได้ 2 ลักษณะ คือ
2.1 เตรียมตารางแยกหลายๆ ตารางที่มีความสัมพันธ์กัน แล้วส่งเข้าสู่ Data Model
ถ้าใช้แบบนี้ ก็เป็นการใช้ Power Query แค่จัดหน้าตาข้อมูลให้เหมาะสมเท่านั้น เพิ่มเติมแค่ตอนกด Close & Load To… ให้เลือกเป็น Connection Only (เพราะเราจะไม่ Load ผลลัพธ์ออกมาใน Excel ปกติ) แต่ให้ติ๊กเลือกว่า Add to Data Model เพื่อให้มันส่งผลลัพธ์เข้า Data Model เท่านั้นเอง
เลือก Table ซักอัน แล้วกด > เพื่อ Add Field (ในที่นี้ของผมมีปัญหากับ field ภาษาไทย ผมเลยต้องเปลี่ยนชื่อ Field เป็นภาษาอังกฤษ)
กด Next ไปจนหน้าสุดท้าย ให้เปลี่ยนเป็นเลือกดู Query ก่อน
กด SQL แล้วแก้ Code ให้เป็นดังนี้ SELECT * FROM ‘pathของไฟล์’.’ชื่อชีทแรก(ตามที่มันแสดง)’ ‘ชื่อชีทแรก(ตามที่มันแสดง)’ UNION ALL SELECT * FROM ‘pathของไฟล์’.’ชื่อชีทสอง(ตามที่มันแสดง)’ ‘ชื่อชีทสอง(ตามที่มันแสดง)’
ของผมจะได้เป็นแบบนี้ SELECT * FROM ‘D:\INWEXCEL\PIVOT\multiple-pivot-data2.xlsx’.’Month1$’ ‘Month1$’ UNION ALL SELECT * FROM ‘D:\INWEXCEL\PIVOT\multiple-pivot-data2.xlsx’.’Month2$’ ‘Month2$’
แล้วกด OK แล้วมันจะบอกว่าไม่สามารถแสดงผลได้นะ ให้ OK อีกที
ปกติแล้ว Pivot Table จะแสดงผลในรูปแบบที่เรียกว่า Compact Form ตามรูปในบทที่แล้ว
ซึ่งความชอบส่วนตัวผมเองชอบให้แสดงในรูปแบบ Tabular Form หรือ Outline Form มากกว่า
ผมแนะนำให้ลองทำเป็น Tabular Form ดูโดยให้ทำดังนี้
ให้คลิ๊กที่ PivotTable แล้วไปที่ (PivotTable)[Design]–>Layout –> Report Layout –> Show in Tabular Form
จะเห็นว่าข้อมูลแต่ละ Row และ Column จะแยกกันชัดเจน อยู่คนละช่องกันไปเลย
และมีชื่อ Field กำกับอยู่ตลอด ทำให้ไม่สับสนเหมือนดู Tabular Form
การเลือกว่าจะเอา item ไหนจัดอยู่ด้วยกัน โดยการเลือก Selection เองจากนั้นค่อยกด Group
Excel จะขึ้นมาให้เลือกว่าจะ Group ช่วงทีละเท่าไหร่
ประเภทข้อมูลที่ใช้ได้
ทุกประเภท
ใช้ได้กับข้อมูลที่เป็นตัวเลขหรือพวกวันที่เท่านั้น และจะต้องไม่มีค่าว่างอยู่ใน Data Source เลย
ข้อมูลหลังจากการ Group
จะมี Field ใหม่เพิ่มขึ้นมาให้โดยอัตโนมัติ
ในชื่อ Field เดิม
แต่มีเลขต่อท้าย
กรณีข้อมูลเป็นตัวเลข: ไม่มี Field ใหม่เพิ่มขึ้นมาให้ แต่มันจะเปลี่ยนข้อมูลที่ Field ต้นฉบับเลย
กรณีข้อมูลเป็นวันที่ : ประเภทช่วงวันที่ที่ย่อยที่สุดจะมาทับที่ Field เดิม และจะมีการสร้าง Field ใหม่ในประเภทช่วงวันที่ที่ใหญ่กว่าด้วย เช่น เลือกให้ Group ตาม Year, Quarter, Month ผลก็คือ Field วันที่ Date เดิม จะกลายเป็น Month และจะมี Field ชื่อ Quarters และ Years เพิ่มขึ้น
สังเกตว่า ประเภทช่วงวันที่ที่ย่อยที่สุดที่เราเลือกตอน Grouping (Months) จะมาทับที่ Field เดิม (วันที่)
ระวัง!อย่างที่บอกไปตอนต้นว่าการจัดกลุ่มแบบ Auto จะเป็นการทับข้อมูล Field ต้นฉบับเลย ผมขอแนะนำว่า คุณควรจะเลือกตัวย่อยสุดตอนที่ทำการ Grouping ให้เป็น ระดับ Days (หรือย่อยกว่านั้น) ถ้าคุณไม่ใช้มัน ค่อยลากออกไปจาก Pivot Area ทีหลังก็ได้ ไม่งั้น Field ที่ชื่อว่า Days จะถูก Grouping เป็น Months สับสนตายเลย!
ปกติแล้ว หากเราใส่ Row Label ไป 2 Field ซ้อนกัน เช่น ผมลองเอา สินค้ามาซ้อนกับผู้ซื้อ มันจะมีการสรุปข้อมูลเป็น Subtotal ให้เราก่อน เช่น SUM AVERAGE MAX MIN เป็นต้น โดยที่เราสามารถเลือกตัวสรุปข้อมูลที่ต้องการได้ หรือจะใส่พร้อมๆกันหลายๆ อันก็ยังได้
วิธีการทำดังนี้
ให้คลิ๊กขวาที่ Label ที่ต้องการจะทำการ Subtotal (เช่น นาย a) แล้วเลือก Field Settings
None = ไม่แสดงการสรุปข้อมูล
Custom สามารถเลือกได้หลายตัวพร้อมกัน
ลูกเล่นที่ Values
ส่วนใหญ่แล้ว สิ่งที่ซับซ้อนของ PivotTable จะอยู่ที่วิธีการคำนวณตรง Values นี่แหละครับ เพราะมันมีให้ปรับได้หลากหลายมาก เช่น ในตัวอย่างข้างบนใช้วิธี SUM แต่ Pivot ยังมีวิธีอื่นๆอีกเยอะแยะครับ เช่น COUNT, AVERAGE, MAX, MIN เป็นต้น
วิธีการปรับแต่งคือให้ คลิ๊กขวาที่ Field ข้อมูลที่ต้องการจะปรับแล้วกด Value Field Setting ครับโดยหลักๆ จะมีให้ปรับ 2 เรื่อง คือ 1) Summarized by และ 2) Show Value As
Summarized by
เป็นการสั่งว่าจะให้ Excel ทำการสรุปทางสถิติด้วย Function อะไร โดยมีฟังก์ชั่นให้เลือกดังรูป โดยที่มีฟังก์ชั่นสรุปผลที่หลากหลาย เช่น Sum / Count (นับทุกอย่างที่ไม่ว่าง เหมือนฟังก์ชั่น COUNTA) / Count Number (นับเฉพาะเลข เหมือนฟังก์ชั่น COUNT) / Average / Max / Min / Product / StdDev / StdDevp / Var / Varp
Show Value As
เป็นการเอาค่าที่คำนวณได้จาก Summarized by มาคิดต่อ ว่าจะให้แสดงสัมพันธ์กับช่องอื่นของ Pivot ยังไง ปกติจะเป็น No Calculation แปลว่าจะแสดงค่าออกมาตรงๆ ไม่มีการคำนวณต่อ
แต่ถ้าเราลองไปเลือกตัวอื่น เช่น % of row มันก็จะเทียบ Grand Total ของแต่ละแถวให้เป็น 100% แล้วดูว่าค่าในช่องนั้นๆ เป็นกี่ % ของค่ารวมระดับแถว เป็นต้น
ซึ่งบางหัวข้ออาจต้องเลือก Based Field หรือ Based Item ซึ่งหมายถึงค่าที่มันจะใช้อ้างอิงในการคำนวณว่าจะให้ไปอ้างอิงที่ Field ไหน Item ไหน ซึ่งผมแนะนำให้ลองเปลี่ยนค่าเล่นดูครับ แล้วจะเข้าใจว่าแต่ละอันต่างกันอย่างไร ซึ่งผมลองเปลี่ยนค่าเล่นให้ดูเป็นตัวอย่างแล้วตามภาพด้านล่าง
การเปลี่ยนทิศทางการสรุปข้อมูล
กรณีที่มี VALUE ตั้งแต่ 2 Field ขึ้นไป เราสามารถกำหนดได้ว่าจะให้วางข้อมูลแต่ละ Field เรียงกันในแนวนอน หรือ แนวตั้ง โดยการลากคำว่า Ʃ Values ว่าจะให้แสดงอยู่ที่ Column หรือ Row Labels
เวลาที่เราทำ PivotTable เสร็จแล้ว แต่ภายหลังมีการเปลี่ยนแปลงข้อมูลใน Source Data อาจทำให้มีเหตุการณ์ที่มี Item ที่เคยอยู่ใน Source Data เก่าตกค้างใน Drop Down List ใน Row Label, Column Label, หรือ Filter ได้
ใน Excel ตั้งแต่ Version 2007 ขึ้นไป สามารถแก้ไขเหตุการณ์ดังกล่าวได้ง่ายมากๆ โดย
Ctrl+* เลือก Range ทั้งหมด เพราะ * แทนความหมายว่าทั้งหมด ในภาษาฐานข้อมูล
จริงๆ มีอีกเยอะเลย ถ้าเพื่อนๆ ถ้าเจอตัวอื่นที่ดู Make Sense แบบตัวอย่างข้างบนนี้ก็ Comment ไว้ได้นะครับ
6. รู้หรือไม่ว่า Excel เวอร์ชั่นแรกนั้นออกให้กับ Apple ไม่ใช่ Microsoft
อันนี้เป็นเกร็ดเล็กเกร็ดน้อยครับ หลายๆคนอาจรู้ว่า Excel ไม่ใช่โปรแกรม Spreadsheet อันแรกของโลก เพราะก่อนหน้าที่จะมี Excel นั้นก็มีโปรแกรม Spreadsheet อื่นๆ เกิดขึ้นมาก่อนมากมาย โดยโปรแกรมแรกของโลกนั้น คือโปรแกรมที่มีชื่อว่า VisiCalc ซึ่งออกมาในปี ค.ศ. 1978 โน่นแน่ะ ต่อมาก็มีอีกหลายโปรแกรม แต่ตัวทีมีชื่อเสียงมากที่พวกเราน่าจะพอรู้จักก็คือ Lotus 1-2-3 ซึ่งออกมาในปี ค.ศ. 1983 และในที่สุด Excel เวอร์ชั่นแรกก็ออกมาในปี คศ.1985 แต่ที่แปลกคือ Excel 1.0 ซึ่งเป็น Version แรกนั้น กลับออกมาให้กับสำหรับเครื่อง Apple Macintosh ก่อนที่จะออก Version 2.0 ใน Windows ซะอีกนะครับ ทั้งที่สร้างโดย Microsoft เองนี่แหละ! สาเหตุอาจเป็นเพราะความสามารถของการทำงานด้วยกราฟิก กับการใช้เม้าส์จิ้มเมนูต่างๆได้นี่แหละ ที่ Microsoft จำเป็นต้องเลือกลงให้ Macintosh ก่อน PC
7. ฟังก์ชั่น TRIM ไม่ได้ตัดแค่ Space ที่หัวกับท้ายเท่านั้นนะ
หลายคนอาจคิดว่าฟังก์ชั่น TRIM มันแค่เอาไว้ตัด space หัวท้ายของคำเท่านั้น (เพราะชื่อมันดูเหมือนเอาไว้เล็มๆ ….) แต่จริงๆ มันตัด space ทั้งหมด ยกเว้นจะเหลือ space ระหว่างคำไว้ให้แค่สูงสุด 1 เคาะเท่านั้น space (ตัวอื่นๆจะถูกตัดทิ้งทั้งหมดครับ) ตามรูป
เวลาที่เราทำ Pivot Table เสร็จแล้วมีการเปลี่ยนแปลงข้อมูลใน Source Data อาจทำให้มีเหตุการณ์ที่มี Item ที่เคยอยู่ใน Source Data เก่าตกค้างใน Drop Down List ใน Row Label, Column Label, หรือ Filter ได้
หากเพื่อนๆใช้ Excel ตั้งแต่ Version 2007 ขึ้นไป สามารถแก้ไขเหตุการณ์ดังกล่าวได้ง่ายมากๆ โดย
โดยField List 1 อัน สามารถลากลงไปใช้ในช่อง Values ซ้ำได้มากกว่า 1 ครั้ง เช่น อันแรกเราเอาไปหาค่า SUM อันที่สองเราสามารถเอา Field เดิมไปหาค่า MAX หรือจะเปลี่ยนรูปแบบการแสดงผลให้ต่างกันได้ เป็นต้น
ลองลาก Field List หลายๆ แบบ
ลาก Field จำนวนเงินที่จ่าย มาที่ช่อง Value 1 อัน : มันจะทำการคำนวณสรุปผลข้อมูลให้ แบบนี้คือเหมือนการ SUM ข้อมูลทั้งหมดแบบไม่มีเงื่อนไข หรือการแยกประเภทใดๆ ทั้งสิ้น
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.