---
title: "Power BI ตอนที่ 04: สร้าง Report แรก ใน Power BI"
url: https://www.thepexcel.com/build-first-power-bi-report/
type: post
date: 2020-02-05
updated: 2020-03-30
author: Sira Ekabut
tags: [report]
---

# Power BI ตอนที่ 04: สร้าง Report แรก ใน Power BI

ในบทความนี้เดี๋ยวเราจะได้มาลองสร้าง Report ใน Power BI Desktop กันซักทีครับ โดยที่ผมเองเอา [Dataset ดั้งเดิม ชื่อ Contoso มาจากที่นี่](https://www.microsoft.com/en-us/download/details.aspx?id=46801) (เพราะขี้เกียจทำเอง 555) **แต่ว่าเนื่องจากไฟล์มันใหญ่เกินไปปป** (มี Transaction ประมาณ 2 ล้านกว่าๆ) ผมเลยคิดว่าคงไม่เหมาะกับการที่จะให้เพื่อนๆ โหลดไฟล์นั้นตรงๆ

 

## สรุปแล้วโหลดไฟล์นี้ไปใช้นะ

 

ผมก็เลย Random Transaction เอามาแค่ 1 ใน 10 ก็คิดว่าน่าจะพอแล้ว (ประมาณ 2 แสน) และผมก็ตัดคอลัมน์หลายๆ อย่างที่ไม่จำเป็นออกไปด้วย

 

[สรุปแล้วก็โหลดไฟล์ Power BI อันนี้ที่ Google Drive ได้เลย](https://drive.google.com/file/d/1PMN3OKT15aYlCURHc1ZmHnCoU5P1o6DH/view?usp=sharing)   
(หรือถ้าข้างบนไม่ได้[ก็โหลดอันนี้ที่ GitHub](https://github.com/siraekabut/siraekabut.github.io/blob/master/ThepExcel_Contoso_Ready_for_Report.pbix) )

 

ผมผูก Data Model และเขียนสูตร DAX ที่จำเป็นให้หมดแล้วด้วย

 

## เริ่มต้นที่ผลลัพธ์

 

ตอนแรกคิดว่าจะสอนให้ทุกท่านทำตั้งแต่ขั้นตอน Get Data แล้วมาทำ Data Model มาเขียน DAX จากนั้นค่อยทำ Report ตาม [Step ที่ผมบอกไว้ในบทที่แล้ว](https://www.thepexcel.com/power-bi-overview/)

 

แต่เนื่องจากผมคิดว่าวิธีที่ดีกว่าคือ**ให้ทุกคนได้รู้ก่อนว่าเป้าหมายปลายทางของเราคือแบบไหน** (เหมือนหลักการ Begin with the End in Mind ในหนังสือ 7 Habits ไง) ดังนั้น**ผมจะทำขั้นตอนทุกอย่างให้เสร็จสรรพแล้ว เหลือแต่การสร้าง Visual เท่านั้น**ที่เราจะมาทำในบทความนี้

 

เมื่อเราเข้าใจการสร้าง Report ว่ามันทำอะไรได้โดยเบื้องต้นแล้ว หลังจากนั้นค่อยกลับไปทำตั้งแต่ขั้นตอน Get Data กันอีกทีในตอนถัดไปครับ

 

สรุปคือ เพื่อนๆ อย่าเพิ่งทำของยากอย่าง Query Editor กับ DAX **เรามาเรียนของง่ายอย่าง Report กันก่อนดีกว่า** จะได้มีกำลังใจนะ 555

 

## ลองเปิดไฟล์ดู

 

หลังจากเปิดไฟล์มาทุกคนจะเจอหน้า Report ที่ว่างเปล่า แต่ว่ามี Field ที่ใช้งานได้อยู่ด้านขวามือเรียบร้อยแล้ว ดังนี้

 ![1](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-01-1024x529.png) 

ซึ่งไฟล์นี้ผมได้มีการผูก Data Model ไว้เรียบร้อยหมดแล้วดังนี้ (คลิ๊กที่ icon Model ซ้ายมือเพื่อดู Data Model)

 ![2](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-02-1024x581.png) 

ซึ่งถ้ายังดูไม่รู้เรื่องก็ไม่เป็นไร ตอนนี้รู้แค่ว่าผมผูกความสัมพันธ์ระหว่างตารางให้หมดแล้ว ดังนั้น**เราจะสามารถลาก Field จากตารางอื่นๆ เข้ามาวิเคราะห์ใน Report ได้เลย** โดยไม่ต้องมีการ VLOOKUP เหมือนที่เคยทำใน Excel อีกต่อไป

 

นอกจากนั้นผมยังเขียน Measure ให้หมดแล้ว (ที่เป็น icon รูปเครื่องคิดเลข) ถ้าอยากวิเคราะห์เรื่องไหนก็ลากเรื่องนั้นลง Report ได้เลยเช่นกัน

 ![3](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-03.png) 

## ลงมือสร้าง Report แรก

 

เมื่อ Data Model พร้อม DAX พร้อม งั้นการสร้าง Report ก็ง่ายสุดๆ วิธีการสร้างก็คือเลือกรูปแบบ Visual ที่ต้องการ จากนั้นก็ลาก Field ที่ต้องการจะวิเคราะห์ลงไปเป็น Axis/Category และลาก Measure ที่ต้องการจะวัดลงไปใน Value แค่นั้นก็จบแล้ว

 

### Visual แรก

 

สมมติอยากทราบยอดขายราย Product Category โดยแสดงเป็นกราฟแท่ง…

 

เราก็เลือกกราฟแท่งก่อน จากนั้นลาก ProductCategory จากตาราง dProduct ลงมา และลาก TotalSales จากตาราง fSales ลงมา

 ![4](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-04-1024x501.png) 

สมมติว่าอยากแบ่งสีตามปีที่ขาย ก็ลาก Year จาก dDate ลงมาที่ Legend ก็ได้ (ลากมาที่ Legend คือแบ่งหลายๆ สี)

 ![5](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-05-1024x446.png) 

เห็นมั้ยว่าตอนนี้เราสามารถสร้างกราฟ โดยใช้ข้อมูลจาก 3 ตาราง ที่มีความสัมพันธ์กันโดยไม่ต้องมีการ VLOOKUP อะไรเลยนะ คือ

 
- **TotalSales** จาก fSales (เป็น DAX Measure ที่คำนวณจาก Data บน fSales)
- **ProductCategory** จาก dProduct (เป็น Field ดิบบน dProduct)
- **Year** จาก dDate (เป็น DAX New Column = Field บน dDate)

 

### วิธีเปลี่ยนตัวหนังสือให้ใหญ่ขึ้น

 

ความรู้สึกแรกของผมของการสร้างกราฟใน Power BI คือ ทำไม Font มันตัวเล็กจังฟะ?

 

ทั้งนี้เป็นเพราะ View ที่เราดูมันถูก Resize ให้ Fit หน้าจอ มันก็เลยย่อลงครับ (ถ้าจะดูแบบขนาดที่แท้จริง ต้องไปที่ View -> Page View -> Actual Size

 ![6](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-06.png) 

แต่ว่าในบางทีเราก็อยากจะดูแบบ Fit to Page นี่แหละ แต่อยากจะขยาย Font ให้ใหญ่ขึ้นอยู่ดี วิธีทำที่ง่ายสุดคือเลือก Visual ที่ต้องการ แล้วไปที่แปรงทาสี แล้ว search คำว่า Text Size เพื่อ Filter option ให้เหลือแค่เรื่อง Text Size จากนั้นค่อยเปลี่ยนขนาดตามต้องการ

 ![7](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-07.png) 

### ลองใส่ Visual ที่สองเพื่อลอง Interaction

 

ที่นี้ให้เราลองสร้าง Visual อีกอัน เป็น Pie Chart ก็ได้ (จริงๆ ผมเกลียด Pie Chart นะ 555) แล้วให้แสดง TotalSales แบ่งโดย ContinentName ที่ลากจาก dStore

 ![8](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-08.png) 

ทีนี้ลองคลิ๊กที่กราฟแท่งเล่นๆ เช่น ผมคลิ๊ก Computer ปี 2013 จะเห็นว่ามันมี Interaction กับกราฟ Pie Chart ด้วย (แบบนี้เรียกว่าการ Highlight)

 ![9](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-09-1024x388.png) 

ถ้า**กดซ้ำไปที่เดิมอีกทีจะเป็นการยกเลิกการเลือก** (สีจางๆ ทั้งหมดจะหายไป)

 

**ถ้ากด Ctrl+Click **ไปเรื่อยๆ เช่น Ctrl+Click Computer ปี 2012 ด้วย จะเป็นการ**เพิ่มการเลือก** เป็นรวมทั้ง Computer ปี 2012 และ 2013

 

ทีนี้ผมเลือก Computer และ Camera ทั้งปี 2012 และ 2013 เลย จะเห็นว่าส่วน Highlight ใหญ่ขึ้นตาม

 ![10](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-10-1024x399.png) 

ถ้าเราอยากให้ Interaction เปลี่ยนจากการ Highlight เป็น Filter แทน ก็สามารถทำได้โดยให้**เลือกที่กราฟต้นทางก่อน (คือกราฟแท่ง) แล้วไปที่ Format -> Edit Interactions **จากนั้นที่มุมของกราฟปลายทาง (กราฟ pie) ให้เลือกรูปแบบการ Filter ที่มีรูปกรวยแทน

 ![11](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-11-1024x715.png) 

การทำแบบนี้เป้นการกำหนดว่า เมื่อกดที่กราฟแท่ง จะมี interaction ไปที่กราฟ pie แบบ filter (ซึ่งเรากำหนด interaction แยกกันสำหรับ Visual แต่ละคู่ได้อย่างอิสระ)

 

### Card = Visual แสดงตัวเลขชัดๆ

 

ทีนี้เราจะสร้าง Visual ที่ง่ายๆ แต่มีประโยชน์อย่าง Card กันครับ ซึ่ง Card เหมาะกับการนำไปแสดงตัวเลขที่มีความสำคัญ เช่น ยอดขาย ต้นทุน กำไร เป็นต้น

 ![12](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-12.png) 

คราวนี้กด + ด้านล่างเพื่อสร้างหน้าใหม่ได้แล้วล่ะ (หน้าเดิมเต็มละ)

 

### Table / Matrix เอาไว้สำหรับคนชอบผลลัพธ์เป็นตาราง

 

สำหรับคนรัก PivotTable อย่างผม Visual ที่ผมชอบมากที่สุดอันนึงก็คือ Table/Matrix นั่นเอง

 

#### มาลองดู Table ก่อน

 

ให้สร้าง Table โดยใส่ Field ดังรูปลงไปใน Value มันจะสร้างตารางโดยใช้ field เหล่านั้นไปเรื่อยๆ

 

**ผมมองว่า Table เหมือนกับเราใช้ PivotTable โดยมีแค่ Rows กับ Values **  
โดยเอา Field ไปไว้ที่ Rows (ซ้อนได้เรื่อยๆ) แล้วเอา Measure ลากเข้า Value ของ Pivot เพื่อทำการสรุปข้อมูล

 ![13](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-13.png) 

#### ถ้าเป็น Matrix ล่ะ?

 

ถ้าเป็น **Matrix มันก็จะคล้ายกับ Pivot Table ที่มีทั้ง Rows Columns และ Values**

 ![14](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-14-1024x275.png) 

โดยที่เราก็ยังสามารถเปลี่ยนตำแหน่งของ Values มาไว้ที่ Rows ได้เช่นเดียวกับ Pivot ใน Excel เลย แต่ใน Power BI เราต้องมาปรับที่เมนูแปรงทาสี ให้ Show on row

 ![15](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-15-1024x532.png) 

เพื่อนๆ น่าจะเห็นแล้วว่ามันคล้ายกับ Pivot Table มากๆ เลย ดังนั้นคนที่ใช้ Pivot Table เป็นก็น่าจะใช้ Power BI ได้ไม่ยากเนอะ

 

## แล้วตัวเลขที่แสดงบน Visual คำนวณมาจากไหน?

 

จากที่เคย[บอกไปในบทที่ 2 ว่า Pivot Table ใน Excel มีวิธีคำนวณค่าจาก Filter Context](https://www.thepexcel.com/basic-excel-for-power-bi/) ผมก็จะบอกว่าใน Power BI ก็เช่นกันครับ สิ่งที่แสดงอยู่ใน Visual ทุกอย่าง ถูกคำนวณมาจากการที่ Visual ตัวนั้นมีการ Filter ในบริบทที่แตกต่างกัน (Filter Context) นั่นเอง

 ![16](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-17-1024x296.png) 

อย่างเช่น เลข 109,797,472.43 ที่ผมวงไว้ ก็มาจากการ Filter Product Category ใน เป็น Computers และ Filter Year เป็น 2013 จากนั้นค่อยคำนวณ TotalSales (**ที่เคยสอนไว้ว่า Filter ก่อนแล้วค่อยคำนวณ จำได้มะ?**)

 

แต่คราวนี้ถ้าคิดดีๆ มันเป็นการ Filter ข้ามตารางนะ ไม่ได้ Filter ในตาราง fSales ตรงๆ ซะหน่อย!!

 

### การ Filter ที่เกิดขึ้นเป็นแบบนี้ครับ

 
- เรา Filter ProductCategory ในตาราง dProduct เป็น Computers
- เรา Filter Year ในตาราง dDate เป็น 2013

 

สิ่งที่เกิดขึ้นคือ การ Filter มันวิ่งข้าม Relationship ใน Model มาทำการ Filter ตาราง fSales ของเราด้วย!! ทำให้ผลลัพธ์ที่คำนวณได้มาจากจำนวน Record หรือจำนวนแถวที่ลดลงนั่นเอง

 ![17](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-18.png) 

สังเกตว่าถ้ามองใน Data Model ของเรา **ที่เส้น Relationship จะมีลูกศรที่บอกทิศทางของการ Filter ด้วยว่ายอมให้ไปทิศทางไหน**

 

แปลว่า**หากเราสั่ง Filter จาก dProduct มันจะมา Filter ข้อมูลบนตาราง fSales ได้ (เพราะทิศทาง Filter ยอมให้ทำ)** ซึ่งตรงกับ Visual ของเราที่ใช้ Measure ชื่อ TotalSales ซึ่งสร้างมาจากข้อมูลบนตาราง fSales นั่นเอง ค่าตัวเลขมันจึงเปลี่ยนไปได้

 

**Tips** : สำหรับคนที่อยากรู้ว่า TotalSales สูตรคืออะไร สามารถคลิ๊กที่ Measure ได้นะครับ จะเห็นว่าสูตรเป็นแบบนี้

 

```
TotalSales = SUMX(fSales,fSales[SalesQuantity]*RELATED(dProduct[UnitPrice]))
```

 

ตอนนี้คุณอาจยังไม่เข้าใจสูตรนี้ แต่ว่ามันคือการคำนวณโดย  
เอาจำนวน SalesQuantity * UnitPrice ให้ออกมาเป็นผลลัพธ์ในแต่ละบรรทัด  
จากนั้นแล้วค่อย SUM ผลลัพธ์ทุกบรรทัดในตาราง fSales ครับ

 

#### และถ้าทำการ Filter ย้อนทางจะเกิดอะไรขึ้น?

 

แต่ถ้าเราดันลาก ข้อมูลมาจากตาราง dStore เช่น EmployeeCount แล้วลากมาสรุปด้วยการ Sum โดยที่ดันลาก Field หลัก มาจากตารางอื่น เช่น Year จาก dDate เราจะเห็นผลลัพธ์แบบนี้

 ![18](https://www.thepexcel.com/wp-content/uploads/2020/02/powerbi-report-19-1.png) 

เราจะได้เลขที่ดูซ้ำๆ กันหมดเลย (และเท่ากับตัว Total รวมด้วย) เป็นเพราะว่า**การ Filter มันทำงานข้าม Relationship แบบย้อนลูกศรไม่ได้ ก็แปลว่าไม่มีการ Filter เกิดขึ้นนั่นเอง**

 

## วันนี้พอก่อนดีกว่า

 

สำหรับบทความนี้ก็เช่นเคยครับ ใครมีคำถามอะไรก็ถามได้เลยนะ เดี๋ยวตอนหน้าเรามาเล่นเรื่องการ Drill Through และพวก Report Tool Tips กันครับ

 

## สารบัญ Series Power BI

 
- [POWER BI ตอนที่ 01: POWER BI คืออะไร?](https://www.thepexcel.com/what-is-power-bi/)
- [POWER BI ตอนที่ 02: พื้นฐาน EXCEL ที่สำคัญก่อนจะเรียนรู้ POWER BI](https://www.thepexcel.com/basic-excel-for-power-bi/)
- [POWER BI ตอนที่ 03: ภาพรวมการใช้งาน POWER BI DESKTOP](https://www.thepexcel.com/power-bi-overview/)
- [POWER BI ตอนที่ 04: สร้าง REPORT แรก ใน POWER BI](https://www.thepexcel.com/build-first-power-bi-report/)
- [POWER BI ตอนที่ 05: วิธีการ DRILL เพื่อเจาะลึกข้อมูลใน REPORT](https://www.thepexcel.com/power-bi-drill/)
- [POWER BI ตอนที่ 06: การปรับแต่งสีใน VISUAL ด้วย CONDITIONAL FORMAT](https://www.thepexcel.com/power-bi-conditional-format/)
- [POWER BI ตอนที่ 07: เริ่ม GET DATA ตั้งแต่ไฟล์ยังว่างเปล่า](https://www.thepexcel.com/power-bi-get-data/)
- [POWER BI ตอนที่ 08: สร้าง DATA MODEL ที่เหมาะสม](https://www.thepexcel.com/power-bi-data-model-basic/)
- [POWER BI ตอนที่ 09: สร้าง DATE TABLE ด้วย DAX](https://www.thepexcel.com/power-bi-dax-date-table/)
- [POWER BI ตอนที่ 10: เรียนรู้ DAX เบื้องต้น](https://www.thepexcel.com/power-bi-basic-dax/)
- [POWER BI ตอนที่ 11: เรียนรู้ DAX Table Function – FILTER](https://www.thepexcel.com/dax-table-function-filter/)
- [POWER BI ตอนที่ 12: DISTINCT, VALUES, ALL และผองเพื่อน](https://www.thepexcel.com/distinct-values-all/)
- [POWER BI ตอนที่ 13: CALCULATE ฟังก์ชันที่ทรงพลังที่สุดใน DAX](https://www.thepexcel.com/dax-calculate/)
- [Power BI ตอนที่ 14: Context Transition และ พลังแฝงใน Measure](https://www.thepexcel.com/context-transition-calculate-measure/)
- [Power BI ตอนที่ 15: วิธีดึงค่าจาก Slicer มาคำนวณใน Report](https://www.thepexcel.com/dax-get-data-from-slicer/)
- [Power BI ตอนที่ 16 : เดินทางข้ามเวลาไปกับ Time Intelligence DAX Function](https://www.thepexcel.com/time-intelligence-dax-function/)
- [Power BI ตอนที่ 17 : วิธีทำรายงานเทียบเป้าหมาย Target vs Actual](https://www.thepexcel.com/data-model-target-vs-actual/)
- [Power BI ตอนที่ 18 : วิธีการกระจายเป้า Allocate Target ด้วย DAX](https://www.thepexcel.com/allocate-target-dax/)
- [Power BI ตอนที่ 19 : การปรับ Cross Filter Direction เพื่อคำนวณค่าในตาราง Dimension](https://www.thepexcel.com/cross-filter-direction/)
- **ส่วนเสริม**
- [การคำนวณต้นทุนแบบ FIFO ด้วย DAX](https://www.thepexcel.com/dax-fifo-cost/)
- [แสดงข้อมูลสรุปแบบ Top N + Others (ฉบับเทพเอ็กเซล)](https://www.thepexcel.com/dax-top-n-others/)
- [การวิเคราะห์ Event ที่มีช่วงเวลาเริ่มต้นกับสิ้นสุดคนละวัน](https://www.thepexcel.com/event-duration-dax-model/)
- [เปรียบเทียบ MAX vs LASTDATE ในภาษา DAX](https://www.thepexcel.com/max-lastdate-dax/)

 

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

---

_Source: [https://www.thepexcel.com/build-first-power-bi-report/](https://www.thepexcel.com/build-first-power-bi-report/)_
