บทที่ 3 : ภาพรวมการทำงานกับ Power Query 1

บทที่ 3 : ภาพรวมการทำงานกับ Power Query

Power Query นั้นมีขั้นตอนการทำงานหลักๆ อยู่ 3 ขั้น คือ

  1. Get Data : เอาข้อมูลจากไหน?
  2. Transform Data : ดัดแปลงข้อมูลยังไง?
  3. Load Data to… : เสร็จแล้วจะเอา Data ไปไว้ไหน?

ก่อนอื่นให้โหลดไฟล์ตัวอย่างอันนี้ แล้วเรามาดูรายละเอียดแต่ละขั้นตอนกันครับ

สารบัญ

Step1 : Get Data เอาไว้เลือกว่าเอาแหล่งข้อมูลจากไหน?

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 2

Get Data เป็นขั้นตอนแรกที่เราต้องทำ ซึ่งเป็นการเลือกว่าอยากให้ Power Query เอาข้อมูลจากไหน? เราสามารถเลือกข้อมูลได้หลากหลายรูปแบบมากๆ เช่น ข้อมูลจากในไฟล์ Excel เดียวกับที่เปิดอยู่ หรือเอาจากแหล่งอื่น? 

ถ้าเอาจากแหล่งอื่นก็จะต้องกดปุ่ม Get Data (หรือ บางคนจะเห็นเป็นปุ่ม New Query) ก็จะดึงข้อมูลเช่น จาก Excel ไฟล์อื่น, Text File, CSV, Access, Database ต่างๆ, Website, Facebook 

แต่แบบที่ผมคิดว่าเจ๋งสุดๆ คือ การดึงข้อมูลทุกไฟล์จาก Folder ที่กำหนด ซึ่งจะทำให้เราทำงานได้อัตโนมัติมากขึ้นอีก เพราะแค่โยนไฟล์ที่เกี่ยวข้องลงไปใน Folder นั้นแล้วกด Refresh มันก็ดูดข้อมูลไฟล์ใน Folder นั้นมาจัดการได้เลย ซึ่งในสมัยก่อน หากเราจะทำแบบนี้ได้ต้องเขียนโปรแกรม VBA เพื่อวน Loop รายชื่อไฟล์ใน Folder เท่านั้น ซึ่งยากกว่าการใช้ Power Query แยะครับ 555

Tips : อย่างไรก็ตาม การดึงข้อมูลจากแต่ละ Source นั้นมีประสิทธิภาพไม่เท่ากัน เช่น การดึงไฟล์ CSV จะเร็วกว่าการดึงไฟล์จาก Excel แต่ก็ยังแพ้ให้กับความเร็วในการดึงข้อมูลจาก Database โดยตรง ซึ่งเร็วกว่ามากๆ เพราะว่ามันรองรับการ Query ข้อมูลบางส่วนมาได้โดยไม่ต้องโหลดข้อมูลทั้งหมดมาก่อนครับ

ลอง Get Data จากในไฟล์ Excel ตัวเองเข้าไปใน Power Query ก่อน

หากเราจะดึงข้อมูลในไฟล์ Excel เดียวกับที่ทำ Power Query และข้อมูลอยู่ติดกันหมดอยู่แล้ว ให้เลือกข้อมูลช่องใดช่องหนึ่ง แล้วกด Data → From Table/Range เพื่อสร้าง Table ได้เลย (แต่ถ้าขอบเขตพื้นที่ไม่ค่อยชัดเจนต้องเอา Mouse เลือกพื้นที่ดีๆ ก่อนทำเป็น Table นะ)

หากข้อมูลเป็น Table อยู่แล้ว มันจะเอาเข้า Power Query ไปเลย แต่ถ้ายังเป็น Rangle ธรรมดาๆ อยู่ มันจะบังคับให้แปลงเป็น Table ก่อนเสมอ (พฤติกรรมนี้จะเกิดขึ้นเฉพาะกรณีดึงจากข้อมูลในไฟล์ตัวเองเท่านั้น)

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 3

พอกด Ok มันจะเอาข้อมูลใน Table นี้เข้าไปในเครื่องมือ Power Query Editor ทันที !!

Tips : ถ้าดึงข้อมูลจากไฟล์อื่นมันจะให้เลือกก่อนว่าจะ Load Data ออกมาเลย หรือจะ Edit/Transform ถ้ากด Edit/Transform ก็จะเข้าสู่ Power Query Editor เช่นกัน

Step2 : Power Query Editor เลือกว่าจะดัดแปลงข้อมูลแบบไหน?

Power Query Editor มีองค์ประกอบ 5 ส่วนหลักๆ คือ

  1. Ribbons : แถบเครื่องมือด้านบน มีเครื่องมือให้เลือกใช้มากมาย
  2. Formula Bar : แสดงสูตรของ Step ที่เราเลือก (เข้ามาครั้งแรกอาจจะยังไม่เห็น)
  3. Queries Pane : อยู่ด้านซ้ายมือ โดย List ของ Query ทั้งหมดในไฟล์ Excel หรือ Power BI ที่เราเปิดอยู่ (มันอาจจะหดอยู่ สามารถกดลูกศรให้แสดงออกมาได้) เราสามารถเปลี่ยนชื่อ Query ในนี้ได้ด้วยการ Double Click ที่ Query ที่ต้องการด้วยครับ
  4. Preview Pane : พื้นที่ตรงกลางที่จะแสดงผลลัพธ์ข้อมูล (แค่บางส่วน)
  5. Query Setting  : อยู่ด้านขวามือ มี Applied Steps บอกว่าเราทำอะไรไปกับข้อมูลบ้าง ซึ่งสามารถแก้ไข/ลบ/สลับลำดับ Step ได้ด้วย และก็สามารถเปลี่ยนชื่อ Query ในช่อง Name ได้เช่นกัน
บทที่ 3 : ภาพรวมการทำงานกับ Power Query 4

ข้อมูลวันที่ แต่ละคนอาจเห็นไม่เหมือนกัน

หากลองสำรวจดูในส่วนที่ Preview Pane จะพบว่า ข้อมูลวันที่หากออกมาถูกต้องจะอยู่ชิดขวา และจะใช้รูปแบบวันที่ตามที่ตั้งค่าไว้ใน Control Panel ของเครื่องคอมพิวเตอร์ของเรา (ตรงกับรูปแบบด้านขวาล่างของหน้าจอ ซึ่งของผม ณ ตอนนี้เป็นแบบ Thai) ดังนั้นแต่ละคนอาจเห็นรูปแบบเป็น วัน/เดือน/ปี  เดือน/วัน/ปี หรืออาจจะเห็นเป็น ค.ศ. หรือ พ.ศ. ก็ได้ 

ตรงนี้ยังไม่ต้องซีเรียสหากวันที่ขึ้นไม่เหมือนกับผม เพราะหากเรายังใช้การ Get Data จากวันที่ใน Excel (ซึ่งบันทึกข้อมูลวันที่แบบถูกต้องแล้วจริงๆ) Power Query จะไม่มีปัญหาเรื่องวันที่ครับ แต่ถ้าดึงข้อมูลจาก CSV/Text File หรือวันที่ที่เป็น Text จะต้องมีการจัดการวันที่อย่างเหมาะสม ซึ่งผมจะมีการอธิบายโดยละเอียดในบทที่เราดึงข้อมูลจาก Text/CSV ในช่วงหลังครับ

สำรวจ Toolbar

ถ้ายังไม่เห็น Formula Bar ให้เราเข้าไปติ๊ก option ใน View → Formula Bar ซะก่อน

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 5

Tips : กรณีที่สูตรยาวมากๆ ให้กดลูกศรด้านขวาของ Formula Bar เพื่อขยายพื้นที่ให้มันใหญ่ขึ้นครับ

ถ้าสังเกตใน Ribbon ซึ่งจะมี 4 แถบ ดังนี้

  • Home : รวมคำสั่งที่น่าจะใช้บ่อยเอาไว้
  • Transform : เป็นการดัดแปลงข้อมูล โดยแก้ที่ข้อมูลในคอลัมน์เดิมที่เลือกไว้เลย
  • Add Column : เป็นการดัดแปลงข้อมูล โดยไปสร้างคอลัมน์ขึ้นมาใหม่เลย คอลัมน์เดิมจะไม่ได้รับผลกระทบไปด้วย
  • View : เอาไว้ดูเรื่องที่ Advance มากขึ้น เช่น Formula Bar, Advanced Editor, Query Dependency

คำสั่งหลายๆ อันจะอยู่ทั้งในแถบเครื่องมือ Transform กับ Add Column เหมือนกัน แต่จะต่างกันตรงที่หากกดจาก Transform จะเป็นการแก้ข้อมูลในคอลัมน์เดิม (แก้ทับช่องเดิม) แต่ Add Column จะเป็นการเพิ่มคอลัมน์ใหม่ (ไม่กระทบอันเดิม) เช่น 

  • ถ้ากด Format → UPPERCASE ที่ Transform จะแก้คอลัมน์ที่เราเลือกให้เป็นตัวพิมพ์ใหญ่ทันที
  • ถ้ากด Format → UPPERCASE ที่ Add Column จะสร้างคอลัมน์ใหม่ โดยเอาข้อมูล Input จากคอลัมน์ที่เราเลือกแล้วแปลงเป็นตัวพิมพ์ใหญ่

เอาล่ะเกริ่นเรื่องเครื่องมือไปแล้วนิดหน่อย กลับมาสู่งานที่จะทำต่อดีกว่า

เริ่ม Transform ข้อมูล

ต่อไปเราจะ Filter เอาเฉพาะผู้ขายเป็น sales ค และสินค้าเป็น หนังสือ เท่านั้น โดยเราสามารถไป Filter ทีละคอลัมน์ได้เลย โดยผมขอ Filter ผู้ขายเป็น sales ค ก่อน

หากลองไปดูที่ Applied Steps ด้านขวามือจะเห็น Action ที่เราทำแต่ละขั้นตอนถูกบันทึกเอาไว้

และขั้นตอน Filtered Rows จะมีรูปฟันเฟืองขึ้นมาให้เราสามารถกดแก้ไขเงื่อนไขการ Filter ครั้งนี้ได้ด้วย (เผื่อว่าในอนาคตอยากแก้ไข Step นี้ก็สามารถกดที่ฟันเฟืองได้เลยครับ)

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 6
บทที่ 3 : ภาพรวมการทำงานกับ Power Query 7

แต่ว่าตอนนี้เราจะยังไม่แก้อะไรที่ฟันเฟือง แต่จะลอง Filter ที่คอลัมน์สินค้าให้เหลือแต่หนังสือ จะพบว่า ผลลัพธ์ก็จะเหลือแค่ sales ค และ สินค้าเป็น หนังสือตามที่เราทำ

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 8

แต่ปรากฏว่าใน Applied Step มันจะบันทึกรวมการ Filter ทั้งสองอันนี้ไว้ในขั้นตอนเดียวเลย ทั้งนี้เพราะปกติแล้ว Power Query จะพยายามรวบสูตรให้เหลือ Step เดียวถ้าเป็นคำสั่งเดียวกัน (เช่น Filter หลายคอลัมน์ หรือ Sort หลายคอลัมน์) ทั้งนี้เพื่อไม่ให้ Step ขึ้นมาเยอะเกินไป (แต่ที่แย่คือรูปฟันเฟืองอาจจะหายไปด้วย!) 

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 9

โดยที่เราสามารถลบ Step ที่ไม่ต้องการทิ้ง หรือ ลากสลับลำดับการทำได้ตามใจชอบ หรือจะคลิ๊กกลับไปดู Step ก่อนหน้าว่าผลลัพธ์ของ Step นั้นมีหน้าตายังไงได้ด้วย และอย่าลืมว่าหาก Step ไหนมีรูปฟันเฟือง แปลว่าเราสามารถกดเข้าไปแก้ไขรายละเอียดใน Step นั้นได้นะ

Tips: ถ้าเราทำการดัดแปลงข้อมูลด้วย Step ที่เป็นคนละคำสั่งกัน มันจะแยก Step ออกมาชัดเจนเลยครับ เช่น Filter ก่อน แล้วทำอย่างอื่นเช่น Sort แล้ว Filter อีกที คราวนี้จะแยกกันหมดเลย ดังนั้นหากมันเกิดการรวบ Step แบบที่เราไม่ต้องการ เราบังคับแยก Step ด้วยวิธีนี้ก่อนแล้วเราค่อยกดลบ Step คั่นกลางที่ไม่ต้องการออกทีหลังได้นะ

สิ่งที่เราทำลงไปทั้งหมดจะถูกบันทึกไว้เป็น M Code

สูตรใน Formula Bar

หากเรากดดูที่แต่ละ Step ที่เราทำไป เช่น ดู Step ที่ชื่อว่า Filtered Rows จะพบว่ามีสูตรเกิดขึ้นใน Formula Bar ที่แตกต่างกันในแต่ละ Step ด้วย 

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 10

ดังนั้นการที่เรากด Filter โดยแท้จริงก็คือการเลือกว่าจะเอาบรรทัดไหนไว้ สิ่งที่เกิดขึ้นก็คือ Power Query จะทำการสร้างสูตร M Code ที่ชื่อว่า Table.SelectRows ขึ้นมาโดยอัตโนมัติ นั่นแปลว่า การกดคำคั่งเป็นเมนู เป็นแค่ตัวช่วยสร้าง M Code ขึ้นมานั่นเอง

เจ้า M Code หรือ M Language นี่เองเป็นภาษาที่ Power Query ใช้ทำงานทั้งหมด ทุกอย่างที่เกิดขึ้นใน Power Query สามารถเขียนหรือถูกแปลงออกมาเป็น M Code ได้ทั้งนั้น

ยกตัวอย่างเช่น ผมลองลบคอลัมน์ที่ไม่ต้องการออก เช่น ผมจะเอาคอลัมน์วิธีการชำระเงินออกไป โดย คลิ๊กขวา Remove หรือ เลือกคอลัมน์แล้วกด Del บนคีย์บอร์ดก็ได้

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 11

จะเห็นว่าคอลัมน์ที่เราเลือกก็จะหายไป และสูตรใน Formula Bar ก็จะเปลี่ยนไปด้วย กลายเป็นสูตรของ Step ที่เราลบคอลัมน์ออก

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 12

ดู M Code ทั้งหมดได้ใน Advanced Editor

การดู M Code ที่ Formula Bar นั้นเป็นการดู Code ทีละ Step แต่ถ้าหากเราอยากดู M Code ทั้งหมดของทั้ง Query นี้เลย ให้กดดูที่ View → Advanced Editor ได้เลย เจ้า M Code นี่เองคือเบื้องหลังการทำงานทั้งหมดของ Query นี้ (ถ้ายังดูไม่รู้เรื่องเลยก็ไม่ต้องแปลกใจครับ ใครๆ เห็นครั้งแรกก็ช๊อคทั้งนั้น 555) 

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 13

เราสามารถ Copy M Code นี้ไปถามเพื่อนหรือผู้เชี่ยวชาญการทำ Power Query ใน Internet เพื่อปรึกษาปัญหาต่างๆ ได้ โดยไม่ต้องนั่ง Save Screenshot ทุก Step ว่าเราทำอะไรไปบ้าง เนื่องจากหากคนอ่าน M Code เป็น ก็จะเข้าใจเรื่องราวทั้งหมดในทันที (แต่ต้องเห็นหน้าตา Data Source ตั้งต้นด้วยนะ ไม่งั้นจะรู้ได้ไงว่าแรกสุดเป็นยังไง 55)

เราต้องเข้าใจ M Code มั้ย? 

โดยทั่วไปเจ้าเครื่องมือ User Interfaceมาตรฐาน ที่กดง่ายๆ ของ Power Query น่าจะช่วย Cover งานของพวกเราได้ประมาณ 70%-80% แล้วล่ะ แปลว่าถึงไม่เข้าใจ M Code เราก็ใช้ Power Query ได้ครับ 

แต่มันก็ยังมีงานบางอย่างที่จำเป็นต้องมีการแก้ไข M Code ให้ Power Query เราทำงานได้ดียิ่งขึ้นไปอีกครับ ซึ่งเราจะลงรายละเอียดกันทีหลังครับ

Step 3 : Load To เพื่อสั่งว่าจะให้เอาผลลัพธ์ไว้ที่ไหน? 

ถ้าเราไปที่ Home → กดที่ icon Close & Load ไปเลย ปกติจะส่งข้อมูลออกไปเป็น Table ใหม่ทันที

แต่ถ้ากดลูกศรแล้วเลือก Close & Load to… จะสามารถเลือก option ได้ว่าอยากให้ผลลัพธ์ไปโผล่ที่ไหน

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 14
บทที่ 3 : ภาพรวมการทำงานกับ Power Query 15

ใน Excel จะมีให้เลือก 4 แบบหลักๆ คือ

  • Table : แบบนี้จะสร้างออกมาเป็น Table ก่อน ถ้าเอาไปเข้า Pivot Table อีกที ต้อง Refresh 2 ต่อ
  • PivotTable Report : ส่ง Data เข้า Pivot Table เลย สามารถ Refresh ที่ Pivot Table ทีเดียวจบ
  • PivotChart : เหมือน Pivot Table แต่เป็นการสร้างกราฟ (ซึ่งก็สร้าง Pivot Table อยู่ดี)
  • Only Create Connection : สร้าง Query ไว้เฉยๆ โดยยังไม่เอาข้อมูลออกมาจริงๆ

และยังมี Option ให้เลือก Add this data to the Data Model ต่างหากอีกอันนึง ซึ่งตัว Data Model จะเอาไว้ใช้ทำ Power Pivot หรือ PivotTable แบบ Advance ต่อไปซึ่งจะรองรับเรื่องการผูก Relationship ระหว่างหลายๆ ตารางด้วยครับ

หากจะสร้าง Power Pivot จะต้องเลือก Add this data to Data Model ด้วย และเมื่อเราสร้าง Pivot Table โดยใช้ Source Data จาก Data Model ก็จะสามารถ Refresh ข้อมูลที่ Pivot Table ทีเดียวได้เช่นกัน

ในกรณีนี้เราจะลองเลือก Table ดู จะเห็นว่ามันก็จะสร้าง Table ผลลัพธ์ขึ้นมาใหม่อีกอัน โดยจะแยกจาก Table ที่เป็น Source หรือแหล่งข้อมูลนะครับ เราไม่สามารถเอาผลลัพธ์ไปทับแหล่งข้อมูลต้นทางได้นะ

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 16

สังเกต วันที่ที่ออกมา คราวนี้ Format มันจะเป็น ค.ศ. นะครับ (อาจไม่ตรงกับที่ Preview ใน Power Query) และถ้าลองเปลี่ยน Format เป็น General จะได้เลข 4 หมื่นกว่าๆ ซึ่งเป็นค่าที่แท้จริงของวันที่ใน Excel ครับ

Load แล้วทำอะไรต่อได้?

เราสามารถกด Refresh ผลลัพธ์ที่ Load ออกมาแล้วได้

สิ่งที่เป็นหัวใจสำคัญของ Power Query ก็คือความสามารถในการ Refresh ผลลัพธ์ได้ 

ให้คุณลองไปแก้ไขข้อมูลต้นฉบับ ไม่ว่าจะเป็นการพิมพ์ข้อมูลเพิ่ม ลบข้อมูลเดิม หรือแก้ไขข้อมูลก็ตาม จากนั้นไปคลิ๊กขวาที่ตารางผลลัพธ์แล้วกด Refresh เพื่อดูว่าผลลัพธ์เปลี่ยนแปลงหรือไม่

ซึ่งการ Refresh โดยแท้จริงก็คือการสั่ง Run M Code ทั้งหมดที่เราสั่งไว้ให้มันทำงานแต่ละ Step นั่นเอง หรือพูดง่ายๆ คือ Run สิ่งที่อยู่ใน Advanced Editor ของ Query นั้นๆ ครับ

Load แล้วเติมสูตรต่อภายหลังใน Table ผลลัพธ์ได้

หากเราลองเพิ่มคอลัมน์ใน Table ผลลัพธ์ (จะเพิ่มข้างหน้า ข้างหลัง หรือจะแทรกตรงกลางก็ได้) แล้วเขียนสูตรคำนวณลงไป จะพบว่าเราก็ยังมีความสามารถในการ Refresh ข้อมูล Table นั้นๆ อยู่ดีครับ

ซึ่งแนวทางนี้ก็ใช้ได้กับทั้ง Excel Table เองที่สามารถใช้สูตร Excel ธรรมดา และตัว Data Model เองที่สามารถใช้สูตรแบบ DAX ได้ครับ

ดังนั้นการเขียนสูตรคำนวณจึงสามารถทำได้ทั้งใน Power Query เองด้วยการสร้าง Custom Column หรือจะเขียนสูตรใน Excel หรือจะเขียน Calculated Column เพิ่มใน Data Model ด้วย DAX ก็ได้ครับ (แต่อาจจะมีความยากง่ายและ Performance ที่ต่างกันแล้วแต่กรณีอีก)

Load ออกมาแล้วจะแก้ไขทำยังไง?

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 17
บทที่ 3 : ภาพรวมการทำงานกับ Power Query 18

ทำได้หลายแบบ เช่น ในบริเวณ Queries & Connections ด้านขวา สามารถคลิ๊กขวาแล้ว Edit เพื่อกลับไปแก้ไข Query ที่ต้องการได้เลย

Tips : ถ้าหา Queries & Connections ด้านขวาไม่เจอ ก็ให้ไปที่แถบ Data → Queries & Connections (หรืออาจเห็นเป็น Show Queries)

พอเรากด Edit เข้าไปแล้ว จะเห็นว่า Step การทำงานก่อนหน้านี้ก็ยังคงอยู่ทั้งหมด คุณสามารถแก้ไข สลับลำดับ หรือ เพิ่ม/ลบ Step ต่างๆ ได้ตามใจชอบเลย 

ยกตัวอย่างเช่น คุณสามารถลบ Step Filtered Rows ทิ้งได้โดยกดที่เครื่องหมายกากบาท ข้างหน้า Step Filtered Rows

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 19

ครั้งนี้ผมอาจจะเปลี่ยนเป็นไป Filter ให้เหลือเฉพาะลูกค้า C00015 ก็ได้ จากนั้นกด Close & Load ออกมา จะเห็นว่าตารางเดิมที่เคยเป็น sales ค ขายหนังสือ ได้เปลี่ยนไปเป็นผลลัพธ์ใหม่คือลูกค้า C00015 ทันที 

แต่หากเราเคย Load Query นั้นออกมาแล้ว ไม่ว่าจะ Load ด้วยวิธีไหนก็ตาม ครั้งต่อไปคำสั่ง Load To… จะกลายเป็นสีเทาไม่ให้เรากด เราจึงเลือกได้แต่ Close & Load เพียงอย่างเดียว 

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 20

ซึ่งมันจะ Load ออกมาด้วยวิธีเดิมกับที่เคย Load ครั้งก่อนหน้าเสมอ (เช่น ก่อนหน้า Load ออกมาเป็น Table พอ Close & Load ก็จะออกมาเป็น Table)

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 21

หากเราต้องการจะเปลี่ยนวิธีการ Load ให้ทำด้วยวิธีต่อไปนี้ 

เปลี่ยนการ Load ทีหลังได้

หากเราเคย Load Data ออกมาเป็นแบบนึงแล้ว ในแถบ Queries & Connection เราเราสามารถคลิ๊กขวาที่ Query ที่ต้องการ แล้วเลือก Load To… เพื่อเปลี่ยนวิธีการ Load ได้

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 22
บทที่ 3 : ภาพรวมการทำงานกับ Power Query 23

ถ้าหากเคย Load ออกมาเป็น Table แล้วเราไปคลิ๊กขวา Load To… แล้วเปลี่ยนเป็น Connection Only ตัวTable ก็จะหายไป ส่วนตรง Query ก็จะกลายเป็น Connection Only

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 24
บทที่ 3 : ภาพรวมการทำงานกับ Power Query 25

ในทางกลับกัน หากเราลบตารางผลลัพธ์ทิ้งไป ตรงบริเวณ Queries & Connections จะเปลี่ยนจาก Table เป็นการ Load แบบ Connection Only แทนเช่นกัน

อย่างไรก็ตาม ถ้าเราใช้วิธีคลิ้กขวาแล้ว Delete Query ทิ้ง ตัว Table จะไม่หายไปนะครับ

Duplicate Query vs Reference Query

เราสามารถคลิ๊กขวาที่ Query ในแถบ Queries & Connection เพื่อที่จะสร้าง Query ใหม่ที่อ้างอิง Query เดิมได้ แต่มันจะมีให้เลือก 2 แบบ คือ Duplicate หรือ Reference Query

ซึ่งดูเผินๆ ผลลัพธ์หน้าตาอาจดูเหมือนกัน แต่จริงๆ แล้วมีความต่างกันดังนี้

  • Duplicate : Copy Query ต้นฉบับออกมาเป็น Query ตัวใหม่อีกตัวนึง ซึ่งมี Step ทุกอย่างครบเหมือนเดิมทุกประการ (ผลลัพธ์ที่เหมือน Query ต้นฉบับจะอยู่ Step สุดท้าย)
  • Reference : สร้าง Query ใหม่โดยอ้าง Source ไปที่ผลลัพธ์จาก Query ต้นฉบับ ซึ่ง Step จะโผล่มาอันเดียว นั่นคือ เอาผลลัพธ์ของ Query ที่มันอ้างอิงถึงมาเป็น Source ของ Query ใหม่
    (ผลลัพธ์ที่เหมือน Query ต้นฉบับจะอยู่ตั้งแต่ Step แรกเลย)

ข้อที่ต่างกันชัดเจน คือ หากเราไปแก้ที่ Query ต้นฉบับ เจ้า Duplicate Query จะไม่เปลี่ยนตาม แต่ Reference Query จะเปลี่ยนตามไปด้วย (เพราะมัน Link มาจากผลลัพธ์ของต้นฉบับนั่นเอง)

บทความนี้มีที่มายังไง?

บทความนี้เป็นส่วนหนึ่งของตัวอย่างจาก หนังสือ Excel Power Up! เพิ่มพลังการใช้ Excel ของคุณด้วย Power Query โดยผมเอาเนื้อหาบทแรกๆ ซัก 25-30% มาลงในเว็บให้อ่านกันฟรีๆ เลย คนอ่านจะได้ตัดสินใจได้ว่าอยากจะรู้เรื่องราวหลังจากนั้นอีกมั้ย? ซึ่งแค่นี้ก็น่าจะช่วยงานคุณได้เยอะพอสมควรแล้วล่ะ


หากสนใจอ่านตัวอย่างบทอื่นๆ ของหนังสือ ลองดูที่สารบัญข้างล่างได้เลยครับ ^^

สารบัญ Power Query

บทนำ : ทำไมต้องเรียนรู้ Power Query? [ไฟล์ประกอบ]
บทที่ 1 : เข้าใจขั้นตอนการทำรายงานสรุป / วิเคราะห์ข้อมูล [ไฟล์ประกอบ]
บทที่ 2 : ก้าวสู่การเตรียมข้อมูลยุคใหม่ด้วย Power Query [ไฟล์ประกอบ]
บทที่ 3 : ภาพรวมการทำงานกับ Power Query [ไฟล์ประกอบ]
บทที่ 4 : งานที่ยุ่งยากใน Excel กลับง่ายมากใน Power Query [ไฟล์ประกอบ]
บทที่ 5 : การจัดการหัวตาราง [ไฟล์ประกอบ]
บทที่ 6 : การคำนวณเบื้องต้น [ไฟล์ประกอบ]
บทที่ 7 : การกำจัดข้อมูลที่ไม่ต้องการ [ไฟล์ประกอบ]
บทที่ 8 : การสร้างคอลัมน์ใหม่แบบกำหนดเองด้วย Custom Column [ไฟล์ประกอบ]
บทที่ 9 : การสร้างคอลัมน์ใหม่ตามเงื่อนไข [ไฟล์ประกอบ]
บทที่ 10 : การรวมกลุ่มข้อมูลด้วย Group By [ไฟล์ประกอบ]
บทที่ 11 : การพลิกคอลัมน์เป็นหัวตารางด้วย Pivot Column [ไฟล์ประกอบ]
บทที่ 12 : การยุบหัวตารางหลายคอลัมน์ให้เหลือคอลัมน์เดียวด้วย Unpivot [ไฟล์ประกอบ]
บทที่ 13 : การแยกข้อมูลในคอลัมน์เดียวออกจากกันด้วย Split Column [ไฟล์ประกอบ]
บทที่ 14 : การใช้ Query เป็นตัวแปร [ไฟล์ประกอบ]
บทที่ 15 : การรวมข้อมูลจากหลาย Query [ไฟล์ประกอบ]
บทที่ 16 : การดึงข้อมูลจาก Excel ไฟล์อื่น [ไฟล์ประกอบ]
บทที่ 17 : การดึงข้อมูลจาก Text File/ CSV File [ไฟล์ประกอบ]
บทที่ 18 : การดึงข้อมูลจากทุก File ที่ต้องการใน Folder [ไฟล์ประกอบ]
บทที่ 19 : การดึงข้อมูลจากแหล่งอื่นๆ
บทที่ 20 : การเตรียม Data เพื่อทำ Dashboard
บทที่ 21 : การทำ Pivot Table เพื่อสร้าง Dashboard
บทที่ 22 : เจาะลึก M Code หัวใจของ Power Query
บทที่ 23 : Function คือ ขุมพลังที่แท้จริงของ M Code [ไฟล์ประกอบ]
บทที่ 24 : ตัวอย่างการสร้าง Custom Function [ไฟล์ประกอบ]
บทที่ 25 : การวน Loop [ไฟล์ประกอบ]
บทส่งท้าย : เทพที่แท้จริง

อ่านเนื้อหาบท 22 เป็นต้นไปแบบปรับปรุงใหม่ได้ฟรี ที่นี่ (อัปเดทเรื่อยๆ)

Facebook Group : Power Query Thailand

บทที่ 3 : ภาพรวมการทำงานกับ Power Query 26
Facebook Group : Power Query Thailand

ผู้ที่สนใจ Power Query อย่างคุณที่มาอ่านบทความนี้ ผมขอเชิญชวนเข้ากลุ่มปิด Power Query Thailand ได้ตาม Link นี้ครับ