ฝึกปฏิบัติ Power Query ตอนที่ 2
-
คราวที่แล้วเรานำเข้าข้อมูลซึ่งเป็น text แบบ CSV แล้วทำความสะอาดแล้วโหลดเข้าเป็น worksheet ไปแล้ว คราวนี้เราจะนำ work sheet ที่ได้จากคราวที่แล้วมากรองและแปลงข้อมูลแล้วนำเข้า Data Model ให้นักศึกษาดาวน์โหลดแล้วเปิดไฟล์ forPowerQuery2.xlsx ซึ่งเป็นข้อมูลที่ได้จากคราวที่แล้ว เราจะใช้ Power Query ในการกรองและแปลงข้อมูลแล้วนำเข้า Data Model
- เลือกข้อมูลทั้งหมดใน worksheet Sales_TR แล้วคลิกเมนู From Table/Range ของแท็บ Data จะขึ้นหน้าต่าง Create Table คลิก OK ได้เลยเนื่องจากเราเลือกข้อมูลที่ต้องการไว้แล้ว จะนำเข้าสู่ Power Query Editor
- ต่อไปจะลองใช้ตัวกรองในการคัดข้อมูลให้เหลือเฉพาะที่ต้องการ โดยต้องการเพียงข้อมูลของปี 2021 ขึ้นไปของภาคเหนือ
คลิกที่ "Sort & Filter Menu" (รูปสามเหลี่ยมชี้ลง)ของคอลัมน์ Sales region แล้วคลิกเลือกเฉพาะภาคเหนือ (North)
คัดข้อมูลเลือกเอาเฉพาะปี 2021 ขึ้นไป จะทำอย่างไร? ลองดูจากตัวเลือของเมนูแล้วทำดู
- คอลัมน์ Contact name มีทั้งชื่อและนามสกุลอยู่ด้วยกัน เราต้องการแยกชื่อและนามสกุลออกจากกันเป็น 2 คอลัมน์ เราจะใช้ฟีเจอร์ Split Column ของ Power Query ในการแยกคอลัมน์ ให้คลิกเลือกคอลัมน์ Contact Name แล้วคลิก Split Coumn (แท็บ Home) จะขึ้น Dialog Box "Split Column by Delimiter" เลือก Space เป็น delimiter และ Split at "Left-most delimiter" แล้วคลิก OK จะแยก Contact Name เป็น 2 คอลัมน์คือ Contact Name1 กับ Contact Name2 ให้ rename 2 คอลัมน์นี้เป็น First Name และ Last Name ตามลำดับ
- เราได้ข้อมูลตามที่ต้องการแล้ว ต่อไปจะโหลดเข้า Data Model ให้คลิกตรงสัญลักษณ์ dropdown menu ของรูป Close & Load แล้วเลือกเมนูย่อย Close & Load To... จะขึ้นหน้าต่าง Import Data ให้ติ๊กตรง Add this data to the Data Model แล้วคลิก OK เพื่อโหลดข้อมูลเข้า Data Model ลองเปิด Data Model ดูว่าข้อมูลเข้าหรือไม่ (ถ้าไม่มีแถบริบบิน Power Pivot ให้ activate มันขึ้นมา)
- อีกความสามาถของ Power Query ที่มีโอกาสใช้บ่อยคือ Unpivot Column ให้ไปที่ worksheet Sales_Q1 จะเห็นว่ามีคอลัมน์เดือนต่าง ๆ อยู่ 3 คอลัมน์ ข้อมูลที่จัดในแนวคอลัมน์แบบนี้ไม่เหมาะที่จะนำไปทำ pivot table ยอดขายของแต่ละเดือนควรอยู่ใน แนว row ซึ่งจะนำไปประมวลผลเพื่อทำรายงานได้ง่ายกว่า เราจะย้ายมันไปด้วยการ unpivot column
- เราจะนำข้อมูลเข้า edit ใน Power Query ให้เลือกช่วงข้อมูลที่เป็นระเบียบรูปแบบตารางทั้งหมด (B4 ถึง E10) แล้วคลิก From Table/Range ในแท็บ Data
- ใน Power Query Editor คลิกเลือกคอลัมน์ Item แล้วไปที่แท็บ Transform คลิก "Unpivot Columns" แล้วเลือกเมนูย่อย "Unpivot Other Columns" ข้อมูลยอดขายของแต่ละเดือนจะถูกย้ายมาอยู่เดือนละบรรทัด ให้เปลี่ยนชื่อคอลัมน์ Attribute เป็น Month ส่วน Value เปลี่ยนเป็น Sales
- โหลดข้อมูลที่แปลงแล้วนี้เข้า Data Model