การดึงข้อมูลจาก Excel Online มาใช้บน Power BI พร้อมอัปเดตอัตโนมัติ
ในบทความนี้จะมาสอนวิธีการดึงข้อมูลมาจากไฟล์ที่อยู่บน Excel Online มาใช้บน Power BI Desktop บนเครื่อง พร้อมกับการอัปเดตข้อมูลแบบอัตโนมัติ โดยไม่ต้องติดตั้งโปรแกรม On-premise data gateway เพิ่มเติม
เริ่มการ Get Data แบบ Web บน Power BI
ในขั้นตอนนี้ เราจะไม่ใช้การ Get Data ด้วย Excel workbook เพราะว่า Excel workbook นั้นสามารถใช้ได้แค่กับ Excel ที่เป็นการติดตั้งบนเครื่องเท่านั้น ดังนั้นต้องใช้การ Get Data ด้วย Web
หลังจากนำเข้าข้อมูลที่อยู่บน OneDrive มาเรียบร้อยแล้ว ให้นำลิงก์ที่อยู่ของไฟล์มาวางจากนั้นโปรแกรม จะให้เราทำการ Authentication ด้วย Organizational account หรือ Account ขององค์กร ทำการ Sign in ด้วย Account เดียวกันกับที่ใช้ให้เรียบร้อย จากนั้นกด Connect ให้เรียบร้อย
หลังจากกด Connect เรียบร้อยแล้ว จะมีการแสดงข้อมูลในรูปแบบต่าง ๆ มาแสดง โดยภายในไฟล์ที่ยกตัวอย่างนี้ จะมี ตาราง Sale, ชีท Data และ ชีท New Data ออกมา และในตัวอย่างครั้งนี้เราจะเลือกที่ตาราง Sale (หากในกรณีที่ไม่มีการตั้งชื่อ ชื่อของตารางจะชื่อว่า Table1) จากนั้นกด Load เพียงเท่านี้ก็จะนำเข้าข้อมูลเสร็จเรียบร้อย
การปรับแต่งข้อมูลใน Column ให้สวยงามและพร้อมใช้งาน
หลังจากเราได้ข้อมูลมาแล้ว ในส่วนนี้เราจะมาปรับแต่งข้อมูลโดยเน้นเรื่องของการจัดรูปแบบข้อมูลให้สวยงามด้วย Column tools โดยการใช้งานนี้จะขอแนะนำให้ทุกคน เปลี่ยน View ในการดูข้อมูลจาก Report View เป็น Data View เพื่อดูข้อมูลได้แบบชัดเจน จากนั้นให้เราปรับแต่งการแสดงผลข้อมูลในคอลัมน์ที่เกี่ยวกับยอดขาย เช่น SalePrice, TotalDiscount, DeliveryCharge และ CostPrice ให้มีเครื่องหมายลูกน้ำคั่นตามตำแหน่งของตัวเลขได้อย่างถูกต้อง
และการปรับแต่งข้อมูลที่ Column ยังสามารถปรับแต่งได้อีกมากมาย เช่น วันที่ เราสามารถกำหนด Format ด้วยตัวเองได้ เช่น dd/mmm/yyyy ข้อมูลวันที่ภายใน Column ก็จะแสดงเป็น 07/11/2025 เป็นต้น
สร้าง Measure รวมยอดขาย Total Sales ด้วย DAX
ในบางครั้งการนำเข้าข้อมูลของเรา อาจจะยังขาดในการสรุปผลข้อมูล ซึ่งใน Power BI เราสามารถการสรุปผลข้อมูลได้มากมาย แต่ในตัวอย่างนี้จะใช้เครื่องมือที่เรียกว่า Measure เพื่อทำการสรุปผลด้วย SUMX ที่สามารถใช้หาผลรวมของ Expression ในแต่ล่ะแถวของตารางที่กำหนด
โดยสามารถใช้ Code ตามได้ดังนี้
Total Sales
Total Sales = SUMX(Sales, Sales[SalePrice]-Sales[TotalDiscount]-Sales[DeliveryCharge])ทุกคนสามารถเข้าไปดูการทำงานของสูตร SUMX ได้ที่บทความนี้ https://www.9experttraining.com/articles/dax-function-sumx
จากนั้นเราจะสร้าง Measure Total Costs, Margin, %Margin โดยผู้อ่านสามารถ Copy สูตร DAX เพื่อไปใช้งานต่อได้ดังนี้
Total Costs
Total Costs = SUM(Sales[CostPrice])Margin
Margin = [Total Sales] – [Total Costs]%Margin
%Margin = DIVIDE([Margin],[Total Sales])สร้าง Table เพื่อเก็บวันที่
และเพื่อให้การลำดับข้อมูลเรียงตามวันที่ได้อย่างถูกต้อง เราจำเป็นต้องสร้าง Table อีกตัวขึ้นมาที่ชื่อว่า Date Dimension โดยใช้เครื่องมือชื่อว่า New table และ DAX Code ดังนี้
DimDate = VARstartYear = YEAR (MIN(Sales[OrderDate]) ) //ระบุคอลัมน์ของวันที่ขาย
VAR endYear = YEAR(MAX(Sales[OrderDate]) )
RETURN
ADDCOLUMNS (
CALENDAR(
DATE(startYear,1,1),
DATE(endYear,12,31)
),
"Year", YEAR([Date]),
"Month", FORMAT([Date], "mmm"),
"MonthID", MONTH([Date]),
"MonthYear", FORMAT([Date], "mmm yyyy"),
"MonthYearID", INT(FORMAT([Date], "yyyymm")),
"QuarterYear", "Q" & FORMAT([Date], "q yyyy"),
"QuarterYearID", INT(FORMAT([Date], "yyyyq"))
) //Powered by 9Expert Training เมื่อนำ DAX Code ข้างบนมาวาง ก็จะได้ตารางวันที่ออกมาเรียบร้อย
การทำ Sort by Column ในตาราง Date Dimension
หลังจากได้ตาราง Date Dimension มาเรียบร้อยแล้ว ข้อมูลการเรียงของเดือนจะยังคงเรียงตามตัวอักษร A ซึ่งถ้าเราไม่ใช้การทำ Sort by Column จะทำให้การแสดงผลผิดเพี้ยนได้ ดังนั้นใน DAX Code ที่เรานำมาสร้างนั้น ได้มีคอลัมน์ ID กำกับทั้ง MonthID, MonthYearID และ QuaterYearID ออกมาเรียบร้อย โดยขั้นตอนการทำมีดังนี้
- ไปที่ Column tools เลือก Sort by column
- จากนั้นให้เลือก MonthID และข้อมูลของ Month จะเรียงตามทั้ง 12 เดือนได้อย่างถูกต้อง
จากนั้นให้เลือก Sort by column ของ MonthYear, QuarterYear ให้เรียบร้อย
สร้างความสัมพันธ์ของข้อมูลระหว่างตารางวันที่และตารางยอดขาย
การสร้างความสัมพันธ์ของข้อมูลหรือ Relationship ถือเป็นอีกหัวใจใหญ่ของการทำงานข้อมูล เพราะหากข้อมูลไม่สัมพันธ์กันหรือเราไม่ได้ระบุไว้ ก็จะทำให้การวิเคราะห์ข้อมูลมีปัญหาได้ ดังนั้นเมื่อเราเตรียมข้อมูลเรียบร้อยแล้ว อย่าลืมสร้างความสัมพันธ์ของข้อมูล อย่างในตัวอย่างนี้จะเป็นสร้างความสัมพันธ์ข้อมูลด้วย Date (วันที่) ที่อยู่ทั้งฝั่งของ Date Dimension และ Sales
โดยเมื่อลากความสัมพันธ์ของข้อมูลเรียบร้อยแล้ว จะเกิดเป็นเส้นที่สามารถอ่านได้ว่า ภายใน 1 วัน มีได้หลาย Order การสั่งซื้อ นั่นเอง
นำข้อมูลมาสร้าง Visualization และ Publish ขึ้นบน Cloud
หลังจากเราทำข้อมูลออกมาเสร็จเรียบร้อยแล้ว เราก็สามารถนำข้อมูลมาสร้างเป็น Visualization ได้ ซึ่งภายใน Power BI มี Visualization มากมายให้เราได้เลือกใช้อย่างเหมาะสมกับข้อมูลของเรา
หลังจากเราสร้าง Report เสร็จเรียบร้อย เราสามารถกด Publish เพื่ออัปโหลด Report ของเราขึ้น Power BI Service ได้เลย แต่ต้องทำการ Sign in Account บน Power BI ให้เรียบร้อย
การตั้งค่า Schedule refresh บน Power BI Service
หลังจาก Publish Report เสร็จเรียบร้อยแล้ว ให้เราเข้าไปที่ Power BI Service ของเรา โดยที่ Report ของเราเมื่อถูกโยนขึ้นไปเรียบร้อยแล้ว จะแสดงออกเป็น 2 ส่วน ได้แก่
- Report
- Semantic Model
โดยที่เราจะเข้าไปตั้งค่าการ Refresh ข้อมูลได้ที่ Semantic Model สามารถกดที่ปุ่ม Schedule refresh ข้าง ๆ ชื่อได้เลย จากนั้นจะมีให้เราตั้งค่า Data source credentials ให้ทำการตั้งค่าด้วยการกดที่ Edit credentials และทำการใส่ข้อมูลให้เรียบร้อย
หลังจากใส่ข้อมูลเรียบร้อยแล้ว อีกส่วนที่เราต้องมาตั้งค่าจะอยู่ที่เมนู Refresh เมื่อกดกางเมนูออกมา ให้เราระบุเลือกเป็น UTC+07:00 Bangkok, Hanoi, Jakarta ให้เรียบร้อย และจากนั้นให้มาเปิด On ที่เครื่องมือ Configure a refresh schedule และเราสามารถตั้งรูปแบบการ Refresh ข้อมูลได้เลยว่าจะให้ Refresh เป็นรายวัน ชั่วโมง จนถึงสัปดาห์ และสามารถตั้งเวลาได้สูงสุด 8 ครั้งต่อวัน เพียงเท่านี้ข้อมูลของเราก็จะ Refresh ได้เอง โดยไม่ต้องเข้าไปกดปุ่มหรือติดตั้งโปรแกรมเพิ่มเติมแล้ว และเมื่อเพิ่มหรือลบข้อมูลเราก็จะได้ข้อมูลที่สดใหม่เสมอ
สรุป
และนี่คือวิธีการตั้งเวลาสำหรับการ Refresh ข้อมูลตามที่เราต้องการได้ โดยที่ขั้นตอนการทำทั้งหมดนี้เป็นเพียง Free License ของ Power BI ก็สามารถเริ่มทำได้และไม่ต้องติดตั้งโปรแกรมตัวอื่น ๆ เพิ่มเติมอีกด้วย
ขอบคุณสำหรับการติดตาม
#อย่าหยุดเรียนรู้
9Expert Training