ปราณควิ รี่ พ้ืนฐาน 10 รปู แบบ : รวมกระบวนทา Power Query พื้นฐานทีค่ ณุ ควรรจู ัก by Sira Ekabut | Dec 3, 2020 | Power Query ปราณรูปแบบท่ี 1 : Fill Down ทาน้มี ีความสามารถในการถมชอ งวา งดว ยขอมูลดา นบน ซง่ึ เหมาะกบั ใชจ ดั การขอมูลเชิง Report ทช่ี อบมีลักษณะ ทีเ่ วนวางขอมูลไวใ นฐานที่เขาใจ เชนในรูปขางลา งนีค้ อลัมนผลไมถ กู เวน วางไวใ นฐานท่มี นุษยเ ขาใจ (แต คอมพิวเตอรเ ขาใจวา ชอ งวางกค็ อื วาง)
ซ่งึ แกไขปญ หาไดถมชอ งวา งท่ีเปน null ไดง า ยๆ โดย เลือกคอลมั นที่ตอ งการ -> คลก๊ิ ขวา -> Fill -> Down หรอื เลือกคอลมั นท่ีตองการ -> Transform -> Fill -> Down
จะเหน็ วา ชอ งวา งๆ ไดถ กู ถมดวยคาขา งบนเรียบรอยแลว ปราณคิวร่ี รูปแบบท่ี 2 : Replace กระบวนทา น้ีสามารถเปลี่ยนคา Error เปนอยา งอืน่ ไดดว ย Replace Error และสามารถเปลยี่ นคา นึงเปน อกี คา นงึ ได ดวย Replace Values แตม จี ดุ ทต่ี องระวังคอื กรณที ี่ใชกบั ขอความ ตามปกติมนั จะแทนทข่ี อความกรณเี จอแค บางสวนดวย เชน จะเปลี่ยนคำวา สม เปน มะนาว มนั กจ็ ะเปล่ยี น สม โอ เปน มะนาวโอ ไปดวย
สม กลายเปนมะนาว สม โอ กลายเปน มะนาวโอ!
ทางแกคอื ตอน Replace Value ตองเลือก Advance แลว ต๊ิก Match Entire Cell Content ดวย ปราณคิวร่ี รูปแบบท่ี 3 : Column From Example กระบวนทานเ้ี สมือนเปน กระบวนทา พิศดารทสี่ ามารถเลียนแบบกระบวนทาอน่ื ๆ อีกมากมายไดโ ดยอตั โนมตั ิ หลักการเหมือนกบั Flash Fill ใน Excel เลย คือ เราแคใ สผลลพั ธท ต่ี องการเขาไปใหม นั ดเู ปนตัวอยาง แลว เดี๋ยว มนั จะคดิ เองวา ควรใชสตู รหรือกระบวนทา อะไร จึงจะไดผลลัพธใ นคอลมั นใ หมต ามทเี่ ราตองการ ยกตัวอยา งเชน การแยกเอาบางสวนของคำ, การเปล่ียนตัวพิมพเ ลก็ พิมพใหญ, การเติม 0 หนา ตัวเลขใหมีจำนวน Digit ตามตองการ, การเขยี น Condition IF อะไรพวกน้ี เครื่องมือน้ีทำไดหมดเลย ผมจะขอทำใหดูเปนตัวอยา งดังนี้ เนอ่ื งจาก Power Query เปนโปรแกรมที่ใหความสำคญั เร่ืองตวั พิมพเ ลก็ พิมพใ หญดวย แปลวา มนั มองเรื่องพมิ พ เลก็ พมิ พใ หญไมต รงกันเปนคนละคำกันโดยส้นิ เชงิ ดังนน้ั หลายๆ ครง้ั เราจะตองแกเรอื่ งตัวพิมพใหเ หมอื นกัน ทง้ั หมดกอน ซ่ึงถา เรารจู กั เคร่อื งมือ วาสามารถใชค ำส่งั ใน Format มาชวยได ซ่งึ มที ้ัง lowercase, UPPERCASE, Capitalize Each Word กส็ ามารถแกไ ขปญหาไดด งั น้ี
แตถา เราไมร จู กั เคร่อื งมอื เรากส็ ามารถใช Column From Example มาชวยไดอ ยูดี โดยเรียกใช Column From Example แลว ใสต ัวอยา งผลลพั ธทต่ี องการลงไปในคอลมั นด านขวา แลว มันจะคิดสูตรใหเ องวาตองใชอ ะไร ซ่งึ ดีกวา Flash Fill ตรงท่ี Power Query มัน Refresh ไดนแี่ หละ แคใ สต วั อยางผลลัพธทตี่ องการ กไ็ ดค ำตอบมาอยางชิลๆ ปราณควิ ร่ี รปู แบบท่ี 4 : Filter กระบวนทา Filter มีความสามารถในการคัดเลือกขอ มูลเฉพาะสวนท่เี ราตองการเทานน้ั ซึ่งดเู หมอื นจะไมมีอะไร พศิ ดาร แตในความเปน จรงิ เครอ่ื งมือนีม้ ีจดุ ท่ีตอ งระวังอยหู ลายอยางมากๆ ดงั น้ี ถา ในคอลัมนม ีขอมลู Error อยมู นั จะติด Error มาดว ย ตองจดั การ Error ใหห ายไปกอน (เชน ใชกระบวน ทา Replace Error) ทกุ คำสงั่ ใน Power Query ใหค วามสำคัญเรื่องตัวพิมพเล็กพมิ พใหญดวย Filter ก็เชน กัน ดังนน้ั อยา ลืม คิดถึงประเด็นนี้ดว ย ท่ีสำคญั สุดคอื การติก๊ เลือก item ใน filter ใหสงั เกตสตู รท่ีออกมาดว ยวาตรงตามทตี่ องการมั้ย? ตัวอยา งเชน มผี ลไม 5 แบบ ผมกดต๊ิกเลือกเอาออกไป 2 อัน เหลือ 3 อนั สูตรท่มี ันบันทึกจะบันทึกวา ไมเ อา 2 อัน เฉพาะกลว ย กบั มะนาว
ในขณะทีม่ ีผลไม 5 แบบ ผมกดต๊กิ เลือกเอาออกไป 3 อนั เหลอื 2 อนั สตู รที่มันบนั ทกึ จะบนั ทกึ วา เอา 2 อนั เฉพาะ สม โอ กับแอปเปล
ดงั นน้ั วิธีบันทกึ สูตรไมเหมือนกัน ตองดดู ๆี วามนั ทำอยางท่ีเราคิดจริงๆ รเึ ปลาดว ยนะครบั ปราณควิ รี่ รปู แบบที่ 5 : Split กระบวนทาน้ีมีความสามารถในการแยกขอ มลู ใน 1 ชอ ง ใหกลายเปนหลายๆ ชอ งได คลา ยๆ กบั Text to Column ใน Excel ซงึ่ จะแบงดวยตัวคนั่ (Delimiter) แบง ดว ยจำนวนตวั อักษร (Number of Character) แบง ดวยตำแหนง ของตวั อกั ษร (แบง ไดหลายจุด) ก็ได
ท่เี จงกวา ใน Excel ปกติ ก็เชนสามารถเลือกไดวาจะแบง ทเี ดยี วจากทางซา ย ทางขวา หรอื จะแบงทุกครั้งทเ่ี จอตัว คั่นกไ็ ด นอกจากนนั้ ทเ่ี ด็ดสุดกค็ ือ นอกจากจะแบงเปน หลายๆ คอลัมนไ ดแลว ยงั สามารถแบง ออกขอ มูลเปน หลายๆ แถวไดด วย ซงึ่ เหมาะมากกับกรณที ี่จำนวนขอ มลู ท่ีจะแบงมีไมแนน อน
ปราณควิ รี่ รูปแบบท่ี 6 : Group By กระบวนทาน้มี คี วามสามารถในการรวบขอ มูลทเ่ี หมือนกันเขาเปน บรรทัดเดยี ว (คลา ยกับการ Remove Duplicates) แตท ี่แตกตา งกค็ ือ Group By นั้นนอกจากจะรวบขอ มูลแลว ยังทำการสรุปขอมูลไดด ว ย เชน สรปุ แบบ Sum, Count Row, Count Distinct, Average, Median, Max, Min เชน
จะเห็นวา จำนวนแถวลดลงไป คอลมั นจะเหลือแคตวั ท่ีเอามา Grouping และคอลมั นส รุปเทา น้นั คอลมั นอ่นื ๆ จะ หายไปหมดเลย
จรงิ ๆ แลว Group By เปน กระบวนทาทีต่ อยอดไปใชทา แบบ Advance ได น่นั คอื Operation ทเ่ี รียกวา All Rows ซึ่งเอาไวต อนตอๆ ไปจะแนะนำใหร จู ักอีกทคี รบั ปราณคิวร่ี รปู แบบที่ 7 : Pivot กระบวนทาน้มี คี วามสามารถ คอื เปลย่ี นขอ มูลหลาย item ในคอลมั นเ ดียว ใหหลายเปนหวั ตารางหลายๆ คอลมั น แลวยังสามารถกำหนดคอลัมนท ีจ่ ะหลายมาเปน ตวั เลขสรปุ ไดด ว ย
ปราณควิ รี่ รูปแบบที่ 8 : Unpivot กระบวนทา น้ีมคี วามสามารถ ตรงขามกบั การ Pivot คือ เปล่ยี นหวั ตารางหลายๆ คอลมั น ใหกลายมาเปน item ในคอลัมนเดียว ชอื่ คอลัมนว า Attribute แลว ยังเปล่ยี นตัวเลขทีเ่ คยอยใู ตคอลมั นเหลานั้นใหกลายมาเปน ตวั เลข คอลัมนเดียวท่ีเรียกวา Value ได ในชวี ติ จรงิ เรามกั จะเจอสถานการณท ีต่ องใชกระบวนทา Unpivot บอยมากๆ (เพราะคนชอบสง ขอ มลู เชิง Report มาใหเ รา ไมใชสงขอมูลเชิง Database) ดงั นน้ั ฝก ใชใหช่ำชองละ จากในรปู คอลมั นเรอ่ื งพนักงานขาย sales ก-ง ดนั กระจายอยูคนละคอลมั นก นั ทัง้ ๆ ทจี่ ริงๆ ควรจะถูกพลกิ ลง มารวมในคอลัมนเดียวกนั ซ่ึงวธิ ีการท่ีเหมาะสมคือ ใหเลอื กคอลัมนทจ่ี ะอยูกบั ท่ี (คอื สินคา กบั วธิ กี ารชำระเงนิ ) แลว คลิก๊ ขวา -> Unpivot Other Columns สังเกตวาในสูตรจะบนั ทึกไววา ใหพ ลกิ คอลัมนอ น่ื ท่ีไมใชส ินคากบั วธิ กี ารชำระเงินลงมาใหห มด
Tips : ถา เรายืนยนั วา จะพลกิ แค sales ก-ง ลงมาเสมอ กใ็ หเ ลือกคอลัมน sales ก-ง แลว เลือก Unpivot Only Selected Columns แทนครับ ปราณคิวร่ี รูปแบบท่ี 9 : Append Query กระบวนทาน้มี ีความสามารถในการรวมเอาขอ มูล 2 Query มาตอ แถวกนั โดยยึดจากชอื่ คอลมั นเ ปน หลัก ไมได สนใจเรื่องการเรยี งลำดบั คอลัมน ถามคี อลมั นทีช่ ื่อไมเหมือนกันจะถูกสรางเปนคอลัมนใหมใหท ันที
พอจบั Append กันจะไดแบบนี้ ซงึ่ จะเหน็ วามันยึดตามคอลมั นในตารางแรกเปน หลกั กอน แลวคอยเอาคอลัมนท ่มี ี เพ่ิมในตารางที่สองมาเพิม่ ตอทาย แลว ตารางไหนที่ไมมีคอลัมนนั้นก็จะหลายเปน null วา งๆ ไป
ปราณคิวรี่ รปู แบบท่ี 10 : Merge Query กระบวนทาน้มี คี วามสามารถในการรวมเอาขอ มูล 2 Query มารวมคอลมั นโ ดยระบไุ ดว า เช่อื มโยงกันดว ยคอลมั น ใด เชื่อมโยงแบบไหน ซ่ึงจะคลา ยๆ กบั การใช VLOOKUP ใน Excel แตว า จะเจง กวา ตรงท่ี Merge Query ไดฟ ล
ลพั ธก ลับมาครบทกุ Row ในขณะท่ี VLOOKUP ไดแค item ตัวแรกสุดอนั เดยี ว อีกทัง้ ยังรองรบั การเชื่อมทส่ี ะกด ไมเ หมือนกัน 100% ดวย เรียกวา Fuzzy Merge ดวย สมมตวิ าเอาตารางที่ Append แลว ขา งบนมา Merge ดวยตารางในรูป โดยตองเลือกดว ยวา เช่อื มกันดว ยคอลัมน ใด (เลอื กไดห ลายคอลัมน) จะไดดงั น้ี จากนั้นกด Expand Column ทต่ี อ งการออกมา
จะไดแ บบน้ี สังเกตวาเราไดผ ลลัพธก ลับมาทกุ บรรทดั ทำใหผลลพั ธส ดุ ทายมีจำนวนแถวมากข้ึนไปดว ยนนั่ เอง สว นอะไรท่หี าไม เจอก็จะได null กลับมา
อา งองิ Sira Ekabut. ปราณคิวร่ี พื้นฐาน 10 รูปแบบ : รวมกระบวนทา Power Query พื้นฐานที่ คุณควรรจู กั [ออนไลน]. 2020, แหลงท่ีมา : https://www.thepexcel.com/10-power- query-basic-transform/ [ 12 กนั ยายน 2564]
Search
Read the Text Version
- 1 - 21
Pages: