รวมไฟล์ CSV

ใน Power Query คุณสามารถรวมหลายไฟล์จากแหล่งข้อมูลที่ระบุได้ บทความนี้อธิบายวิธีการทํางานเมื่อไฟล์ที่คุณต้องการรวมเป็นไฟล์ CSV ข้อมูลเพิ่มเติม: ภาพรวมรวมไฟล์

เคล็ดลับ

คุณสามารถทําตามตัวอย่างนี้ โดยการดาวน์โหลดไฟล์ตัวอย่างที่ใช้ในบทความนี้จาก ลิงก์ดาวน์โหลดนี้ คุณสามารถวางไฟล์เหล่านั้นในแหล่งข้อมูลที่คุณเลือก เช่น โฟลเดอร์ภายในเครื่อง, โฟลเดอร์ SharePoint, ที่เก็บข้อมูล Azure Blob, Azure Data Lake Storage หรือแหล่งข้อมูลอื่น ๆ ที่มีมุมมองระบบไฟล์

เพื่อความง่าย ตัวอย่างในบทความนี้ใช้ตัวเชื่อมต่อโฟลเดอร์ ข้อมูลเพิ่มเติม: โฟลเดอร์

เกี่ยวกับไฟล์ตัวอย่างที่ใช้

ในการรวมไฟล์ จําเป็นต้องให้ไฟล์ทั้งหมดมีโครงสร้างเดียวกันและส่วนขยายเดียวกัน ไฟล์ทั้งหมดที่ใช้ในตัวอย่างนี้มีโครงสร้างและส่วนขยายเดียวกัน (.csv)

มีไฟล์ CSV 12 ไฟล์ หนึ่งไฟล์สําหรับแต่ละเดือนของปีปฏิทิน 2019 รูปภาพต่อไปนี้แสดง 15 แถวแรกของไฟล์สําหรับเดือนมกราคม

ไฟล์ CSV ตัวอย่างสําหรับเดือนมกราคม 2019 แสดงส่วนส่วนหัวและข้อมูลที่เหลือทั้งหมดคั่นด้วยเครื่องหมายจุลภาค

จํานวนแถวแตกต่างกันไปในแต่ละไฟล์ แต่ไฟล์ทั้งหมดมีส่วนหัวในสี่แถวแรก คอลัมน์มีส่วนหัวของคอลัมน์ในแถวที่ห้า และข้อมูลสําหรับตารางจะเริ่มต้นในแถวที่หกและดําเนินการต่อผ่านแถวถัดไปทั้งหมด

เป้าหมายคือการรวมไฟล์ทั้ง 12 ไฟล์ลงในตารางเดียว ตารางรวมนี้ประกอบด้วยแถวส่วนหัวที่ด้านบนของตาราง และรวมถึงชื่อแหล่งที่มา วันที่ ประเทศ หน่วย และข้อมูลรายได้สําหรับทั้งปีในคอลัมน์แยกต่างหากหลังจากแถวส่วนหัว

ตัวอย่างตารางรวมสุดท้าย

การแสดงตัวอย่างตาราง

เมื่อเชื่อมต่อกับโฟลเดอร์ที่โฮสต์ไฟล์ที่คุณต้องการรวมในตัวอย่างนี้ ชื่อของโฟลเดอร์นั้นคือ ไฟล์ CSV คุณจะเห็นกล่องโต้ตอบแสดงตัวอย่างตาราง ซึ่งแสดงเส้นทางโฟลเดอร์ของคุณในมุมบนซ้าย ตัวอย่างข้อมูลแสดงมุมมองระบบไฟล์

การแสดงตัวอย่างตารางสําหรับมุมมองระบบไฟล์

สําหรับตัวอย่างนี้ เลือกรวม

หมายเหตุ

ในสถานการณ์อื่น คุณอาจเลือก แปลงข้อมูล เพื่อกรองและแปลงข้อมูลของคุณเพิ่มเติมก่อนที่จะรวมไฟล์ การเลือกรวมจะแนะนําเฉพาะเมื่อคุณแน่ใจว่าโฟลเดอร์มีเฉพาะไฟล์ที่คุณต้องการรวมเท่านั้น

กล่องโต้ตอบรวมไฟล์

หลังจากที่คุณเลือกรวมในตัวอย่างตาราง กล่องโต้ตอบรวมไฟล์จะปรากฏขึ้น

กล่องโต้ตอบรวมไฟล์

หมายเหตุ

Power Query จะตรวจหาตัวเชื่อมต่อที่จะใช้โดยอัตโนมัติโดยยึดตามไฟล์แรกที่พบในรายการ เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวเชื่อมต่อ CSV ไปที่ข้อความ/CSV

สําหรับตัวอย่างนี้ ปล่อยการตั้งค่าเริ่มต้นทั้งหมดไว้ (ไฟล์ตัวอย่างถูกตั้งค่าเป็น ไฟล์แรก และค่าเริ่มต้นสําหรับจุดเริ่มต้นของไฟล์ ตัวคั่น และการตรวจหาชนิดข้อมูล)

ตอนนี้ เลือก แปลงข้อมูล ในมุมล่างขวาเพื่อไปยังคิวรีผลลัพธ์

คิวรีผลลัพธ์

หลังจากเลือกแปลงข้อมูลในกล่องโต้ตอบรวมไฟล์แล้ว คุณจะถูกนํากลับไปยังตัวแก้ไข Power Query ในคิวรีที่คุณสร้างขึ้นเริ่มต้นจากการเชื่อมต่อไปยังโฟลเดอร์ภายในเครื่อง ขณะนี้คิวรีผลลัพธ์ประกอบด้วยชื่อไฟล์ต้นทางในคอลัมน์ซ้ายสุด พร้อมกับข้อมูลจากแต่ละไฟล์ต้นฉบับในคอลัมน์ที่เหลือ

คิวรีผลลัพธ์สําหรับไฟล์ที่รวมกันโดยไม่มีการแปลงเพิ่มเติม

อย่างไรก็ตาม ข้อมูลไม่ได้อยู่ในรูปร่างที่ถูกต้อง คุณจําเป็นต้องลบแถวที่ด้านบนสี่แถวออกจากแต่ละไฟล์ก่อนที่จะรวมเข้าด้วยกัน เมื่อต้องการทําการเปลี่ยนแปลงนี้ในแต่ละไฟล์ก่อนที่คุณจะรวม เข้าด้วยกัน ให้เลือกคิวรี ไฟล์ตัวอย่าง ในบานหน้าต่าง คิวรี ทางด้านซ้ายของหน้าจอของคุณ

ปรับเปลี่ยนคิวรีไฟล์ตัวอย่างการแปลง

ในคิวรีไฟล์ตัวอย่างการแปลงนี้ ค่าในคอลัมน์ วันที่ ระบุว่าข้อมูลเป็นข้อมูลสําหรับเดือนเมษายน ซึ่งมีรูปแบบ year-month-day (YYYY-MM-DD) 2019.csv เดือนเมษายนเป็นไฟล์แรกที่แสดงในการแสดงตัวอย่างตาราง

ตารางแสดงคอลัมน์ข้อมูลจากเดือนเมษายน 2019 รวมถึงส่วนส่วนหัวในสี่แถวแรกและหัวเรื่องในแถวที่ห้า

ตอนนี้คุณจําเป็นต้องใช้ชุดการแปลงใหม่เพื่อล้างข้อมูล การแปลงแต่ละครั้งจะถูกแปลงเป็นฟังก์ชันภายใน กลุ่มคิวรี ตัวช่วยเหลือที่จะนําไปใช้กับทุกไฟล์ในโฟลเดอร์ก่อนที่จะรวมข้อมูลจากแต่ละไฟล์

การแปลงที่จําเป็นต้องเพิ่มลงใน คิวรีไฟล์ ตัวอย่างการแปลงเป็น:

  1. ลบแถวบนสุด: หากต้องการดําเนินการนี้ ให้เลือกเมนูไอคอนตารางที่มุมซ้ายบนของตาราง จากนั้นเลือก ลบแถวด้านบน

    ลบแถวบนสุดบนเมนูตารางออก

    ในกล่องโต้ตอบ ลบแถวบนสุด ให้ใส่ 4 จากนั้นเลือก ตกลง

    ลบกล่องโต้ตอบแถวบนสุดออก

    หลังจากเลือก ตกลง ตารางของคุณจะไม่มีแถวบนสุดสี่แถวอีกต่อไป

    คิวรีตัวอย่างที่มีแถวที่ถูกลบออก

  2. ใช้แถวแรกเป็นส่วนหัว: เลือกไอคอนตารางอีกครั้ง จากนั้นเลือก ใช้แถวแรกเป็นส่วนหัว

    ใช้แถวแรกเป็นไอคอนส่วนหัว

    ผลลัพธ์ของการดําเนินการนั้นจะเลื่อนระดับแถวแรกของตารางไปยังส่วนหัวของคอลัมน์ใหม่

    ตารางตัวอย่างส่วนหัวที่เลื่อนระดับ

หลังจากการดําเนินการนี้เสร็จสมบูรณ์ Power Query ตามค่าเริ่มต้นจะพยายามตรวจหาชนิดข้อมูลของคอลัมน์โดยอัตโนมัติและเพิ่มขั้นตอนชนิดคอลัมน์ที่เปลี่ยนแปลงใหม่

การแก้ไขคิวรีเอาต์พุต

เมื่อคุณย้อนกลับไปยังคิวรีไฟล์ CSV คุณจะสังเกตเห็นว่าขั้นตอนสุดท้ายจะทําให้คุณมีข้อผิดพลาดที่อ่านว่า "ไม่พบคอลัมน์ 'Column1' ของตาราง" เหตุผลที่อยู่เบื้องหลังข้อผิดพลาดนี้คือสถานะก่อนหน้าของคิวรีกําลังดําเนินการกับคอลัมน์ที่ชื่อว่า Column1 แต่เนื่องจากการเปลี่ยนแปลงที่เกิดขึ้นกับ คิวรีไฟล์ ตัวอย่างการแปลง คอลัมน์นี้จึงไม่มีอยู่อีกต่อไป ข้อมูลเพิ่มเติม: การจัดการกับข้อผิดพลาดใน Power Query

คิวรีผลลัพธ์ที่ มีข้อผิดพลาดระดับขั้นตอน

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

รวมไฟล์โดยไม่มีขั้นตอนข้อผิดพลาด

อย่างไรก็ตาม โปรดสังเกตว่าไม่มีคอลัมน์ใดที่มาจากไฟล์ (วันที่ ประเทศ หน่วย รายได้) มีชนิดข้อมูลเฉพาะที่กําหนดให้กับคอลัมน์เหล่านั้น กําหนดชนิดข้อมูลที่ถูกต้องให้กับแต่ละคอลัมน์โดยใช้ตารางต่อไปนี้

ชื่อคอลัมน์ ชนิดข้อมูล
วันที่ วันที่
ประเทศ Text
หน่วย จำนวนเต็ม
รายได้ สกุลเงิน

หลังจากกําหนดชนิดข้อมูลสําหรับแต่ละคอลัมน์แล้ว คุณจะพร้อมที่จะโหลดตาราง

ตัวอย่างตารางรวมสุดท้าย

หมายเหตุ

เมื่อต้องการเรียนรู้วิธีการกําหนดหรือเปลี่ยนชนิดข้อมูลของคอลัมน์ ให้ไปที่ ชนิดข้อมูล

ตรวจ สอบ

เพื่อตรวจสอบว่าไฟล์ทั้งหมดได้รับการรวมกันแล้ว คุณสามารถเลือกไอคอนตัวกรองบนส่วนหัวของ คอลัมน์ Source.Name ซึ่งจะแสดงชื่อทั้งหมดของไฟล์ที่รวมเข้าด้วยกัน หากคุณได้รับคําเตือน "รายการอาจไม่สมบูรณ์" ให้เลือก โหลดเพิ่มเติม ที่ด้านล่างของเมนูเพื่อแสดงค่าที่พร้อมใช้งานเพิ่มเติมในคอลัมน์

รายการที่ไม่สมบูรณ์ของไฟล์ที่รวมเข้าด้วยกัน

หลังจากที่คุณเลือก โหลดเพิ่มเติมชื่อไฟล์ที่พร้อมใช้งานทั้งหมดจะปรากฏขึ้น

รายการไฟล์ที่รวมทั้งหมด