Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 1

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า

เอาล่ะ ในที่สุดก็ถึงเวลาที่จะเรียนรู้การดึง Data เข้า Power BI ด้วยเครื่องมือ Get Data/Transform Data หรือก็คือ Power Query นั่นเอง (ใครได้อ่านหนังสือ Excel Power Up! มาก็น่าจะเข้าใจได้เร็วกว่านะครับ เพราะมันคือตัวเดียวกันเลย)

ซึ่งในบทความนี้ผมมีไฟล์ Data ให้โหลดเป็นไฟล์ zip 1 อัน
(โหลดจาก Google Drive / โหลดจาก GitHub)

ซึ่งถ้าแตกออกมาจะมี Folder อยู่ 1 อันชื่อว่า Contoso

  • ในนั้นจะมีไฟล์ Excel 1 ไฟล์ที่มีหลาย sheet โดยแต่ละ Sheet คือตาราง Reference ทั้งหมดที่ต้องใช้
  • และมีไฟล์ CSV อยู่ 3 ไฟล์ เป็นข้อมูล Transaction 3 ปี (ไฟล์ละปี)
Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 2

ไอเดียหลักคือเดี๋ยวเราจะเอา Data ทั้งหมดเข้า Power Query โดยตาราง Reference ใน Excel จะเอาเข้าแยกเป็นคนละ Query กันทั้งหมด

ส่วนไฟล์ CSV เราจะเอาเข้าโดย Get Data from Folder เพราะเผื่อในอนาคตมีไฟล์ CSV เพิ่มอีกจะได้กด Refresh เพื่อดูดจาก Folder ได้เลย

เริ่มดึงตาราง Reference จากไฟล์ Excel

ให้เปิด Power BI เเปล่าๆ แล้ว Get Data จาก Excel ชื่อ RefTable.xlsx ได้เลย

จากนั้นติ๊กเลือกทุก Sheet แล้วกด Transform ได้เลย (การเลือกติ๊กถูกข้างหน้าหลายอันพร้อมกัน แปลว่า เอาแต่ละอันแยกกันเป็นคนละ Query รายละเอียดลองอ่านได้ที่นี่)

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 3

แล้วมันก็จะเปิด Query Editor ขึ้นมา เราก็จะเห็นว่ามี Query จากทุกๆ ตารางเรียบร้อยแล้ว (แยกตารางละ 1 Query) และเราจะพบว่ามันจัดการเรื่อง Header ให้เราเสร็จแล้ว ไม่มีปัญหาอะไร

ทั้งนี้เพราะว่าในแต่ละ Sheet มีตารางอยู่อันเดียว และตารางบรรทัดบนสุดเป็นหัวตารางเรียบร้อย จึงไม่จำเป็นต้องทำเป็น Table ก็สามารถดึงมาใช้ได้โดยไม่ยากลำบากนัก

ใครทำกับข้อมูลจริงของตัวเองแล้วยากลำบาก ต้องลองอ่านบทความการดึงข้อมูลจาก Excel อันนี้ดู จะได้เข้าใจว่าการดึงข้อมูลจาก Excel ทำงานยังไง

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 4

เริ่มดึงตาราง Transaction หลัก

ต่อไปเราจะเริ่มดึงข้อมูลจากตาราง Transaction หลัก (จากไฟล์ CSV ทั้งหมดใน Folder Contoso) โดยขณะอยู่ใน Query Editor ก็กดที่ New Source -> More -> Folder ได้เลย

จากนั้นให้ Browse เลือก Folder Contoso ที่ผมเตรียมไว้ให้ แล้วกด Transform Data จะได้แบบนี้ ซึ่งมันได้ List ไฟล์ทุกอันที่อยู่ Folder นั้น (และ Sub Folder ถ้ามี) มาให้แล้ว

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 5

สิ่งที่เราต้องการเอามารวม มีแค่ไฟล์ CSV เท่านั้น ดังนั้นเราต้องทำการ Filter เลือก Extension แค่ .csv เท่านั้น (สังเกตที่สูตรด้วยว่า มันเอานามสกุล .csv ถ้าใครไม่เห็นสูตร ให้ไปที่ View-> Formula Bar นะ)

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 6

หลังจาก Filter แล้วให้กดปุ่ม Combine ที่มุมคอลัมน์ Content ดังรูป เพื่อสั่งให้มันรวมทุกไฟล์เข้าด้วยกัน

ถ้าดู Preview แล้วไม่มีปัญหาอะไรก็กด ok ได้เลย และนี่คือหน้าตาผลลัพธ์ที่ออกมา (ถ้าของจริงที่มีข้อความภาษาไทยด้วย ต้องระวังเรื่อง encoding ดีๆนะ)

Tips : การรวมทุกไฟล์ใน Folder เข้าด้วยกัน มันจะทำตาม Step ที่ระบุใน Transform Sample File ด้านซ้ายมือ หากเราไปแก้ Step ในนั้น ผลลัพธ์สุดท้ายก็จะเปลี่ยนไปด้วย

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 7

ตรงคอลัมน์ DateKey จะเห็นว่ามันยังเป็น text อยู่ ไม่ใช่วันที่ เดี๋ยวเราจะทำการเปลี่ยนให้เป็นวันที่ซะ โดยกด Using Locale… เพื่อระบุรูปแบบวันที่ของไฟล์ input แบบเป๊ะๆ จะได้ไม่พลาด (ถ้าเดิมไม่ใช่ Text จะกด Using locale ไม่ได้ผลนะ ถ้าของเดิมถูกเปลี่ยนเป็นวันที่ไปแล้วแต่ผิดรูปแบบ ให้ปรับกลับเป็น Text โดย Replace Current Step ก่อน)

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 8

ถ้าลองสำรวจดูจะพบว่าไฟล์ csv นี้บันทึกวันที่เป็น text มาในรูปแบบ dd/mm/yyyy ค.ศ. ดังนั้นต้องเลือกเป็น Date แบบ English (United Kingdom) ประเทศอังกฤษนะ ไม่ใช่อเมริกา

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 9

จากนั้นผลลัพธ์จะแปลงเป็นวันที่ได้ถูกต้อง (แต่จะเห็น Format ของวันที่ใน Query Editor ตามที่ตั้งใน Control Panel ซึ่งแต่ละคนอาจไม่เหมือนกัน ของผมตั้งเป็น Thai เลยออกมาเป็น พ.ศ.)

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 10

ทีนี้เราไม่ต้องการคอลัมน์ Source.Name แล้วก็ลบทิ้งไปซะ

และเปลี่ยนชื่อ Query เป็น fSales ด้วย (ชื่อ Query จะกลายเป็นชื่อ Table ใน Data Model นะ)

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 11

เอาข้อมูลเข้า Data Model

ตอนนี้เราได้ข้อมูลครบทุก Table ที่จำเป้นแล้ว ก็สามารถกด Close & Apply เพื่อเอาตารางทั้งหมดเข้าสู่ Data Model ซะที

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 12

คราวนี้ให้ลองกดไปที่หน้า Model เราก็จะเห็นว่า Power BI มันสร้างความสัมพันธ์ให้เราเองเลย (ทั้งนี้เพราะว่าชื่อ Field ที่เป็น Key เชื่อมตารางแต่ละคู่นั้นใช้ชื่อ Field เดียวกัน)

ใครที่ตารางดูเละเทะ ดูไม่รู้เรื่อง ให้ลองกดปุ่ม Reset Layout ด้านขวาล่างดูครับ

Power BI ตอนที่ 07: เริ่ม Get Data ตั้งแต่ไฟล์ยังว่างเปล่า 13

เอาล่ะ ตารางพวกนี้ก็เข้าไปใน Data Model ครบหมดแล้ว ในตอนนี้ก็ขอจบเพียงเท่านี้ก่อนนะครับ

เตรียมตัวจัดหน้าตา Data Model ในตอนหน้า

ในตอนหน้า เราจะมาทำความเข้าใจเพิ่มเติมว่า Data Model ที่ดีที่สุดใน Power BI จะต้องเป็นรูปแบบใด และเราจะใช้ Power Query ช่วยจัดหน้าตาของตาราง ให้มาอยู่ในรูปแบบของ Data Model ที่ต้องการได้ยังไง?

สำหรับตอนนี้ใครทำแล้วติดตรงไหนก็ถามได้เลยนะครับ

สารบัญ Series Power BI

ใครสนใจอยากเรียนเป็นคลิปวีดีโอ ผมมี

Power BI Workshop 2024 ตุลาคมนี้
อบรม In-House Training

Feedback การใช้งาน AI Chatbot