🎯 Mục tiêu bài học
Sau bài học này, bạn sẽ:
✅ Hiểu Power Query Editor interface và workflow
✅ Import data từ CSV, Excel, Web, Folder
✅ Thực hiện Basic Transforms: filter, sort, remove, replace
✅ Áp dụng Column Transforms: split, merge, extract, format
✅ Sử dụng Date Transformations và Refresh data
Thời gian: 45 phút | Độ khó: Intermediate-Advanced | Yêu cầu: Hoàn thành Bài 7 - Named Ranges & Tables
📖 Bảng Thuật Ngữ Quan Trọng
| Thuật ngữ | Tiếng Việt | Mô tả |
|---|---|---|
| Power Query | Truy vấn nguồn | ETL tool built-in trong Excel |
| ETL | Trích xuất-Biến đổi-Nạp | Extract, Transform, Load |
| Applied Steps | Các bước đã áp dụng | Lịch sử transformations |
| M Language | Ngôn ngữ M | Code behind Power Query |
| Query Editor | Trình chỉnh sửa truy vấn | Interface để transform data |
| Delimiter | Ký tự phân cách | Comma, tab, semicolon |
| Promote Headers | Đẩy lên header | Dùng row đầu làm tên cột |
| Fill Down | Điền xuống | Copy cell trên vào cells trống |
| Unpivot | Bỏ pivot | Chuyển wide → long format |
| Close & Load | Đóng và nạp | Đưa data vào worksheet |
Checkpoint
Power Query là ETL tool: Extract từ sources → Transform clean data → Load vào Excel. Mọi step được ghi lại trong Applied Steps — click Refresh để chạy lại tất cả. Game-changer!
💡 1. Power Query là gì?
Power Query = ETL tool (Extract, Transform, Load) built-in trong Excel, cho phép bạn:
- 📥 Extract: Import data từ nhiều sources
- 🔄 Transform: Clean và reshape data
- 📤 Load: Đưa data sạch vào worksheet
Tại sao Power Query game-changer?
1. Mở file CSV5 phút2. Xóa empty rows3 phút3. Tách cột5 phút4. Fix data types3 phút5. Remove duplicates2 phútTotal: 18 phút × mỗi lần nhận file mới1. Setup 1 lần → 18 phút2. Mỗi lần sau → Click "Refresh" → 5 giây! ✅Power Query lưu lại tất cả steps — setup 1 lần, dùng mãi mãi. Khi source data thay đổi, chỉ cần Refresh → data sạch tự động! Đây là kỹ năng quan trọng nhất cho Data Analyst.
Checkpoint
Power Query = setup 1 lần, Refresh mãi mãi. Tiết kiệm hàng giờ mỗi tuần cho recurring reports. Đây là kỹ năng bắt buộc cho Data Analyst hiện đại. Bạn đã biết PQ chưa?
🖥️ 2. Power Query Interface
Data → Get Data → [Choose Source]
= Table.SelectRows(#"Removed Errors", each [Revenue] > 0)Queries
| Date | Region | Product | Revenue |
|---|---|---|---|
| 2026-01-15 | North | Laptop | 45,000,000 |
| 2026-01-16 | South | Phone | 12,500,000 |
| 2026-01-17 | North | Tablet | 8,200,000 |
| ... more rows | |||
Applied Steps
Key Areas:
- Queries Panel (trái): Danh sách queries
- Data Preview (giữa): Xem trước data
- Applied Steps (phải): Lịch sử transformations
- Formula Bar: M language code
Checkpoint
PQ Editor có 4 vùng chính: Queries (trái), Data Preview (giữa), Applied Steps (phải), Formula Bar (trên). Applied Steps = recipe có thể undo/redo bất kỳ bước nào. Bạn đã mở PQ Editor chưa?
📥 3. Import Data Sources
3.1 From CSV / Text
Data → Get Data → From File → From Text/CSVDelimiter: Comma, Tab, Semicolon, CustomData Type Detection: First 200 rowsrecommendedEncoding: UTF-8, ANSI, etc.3.2 From Excel Files
Data → Get Data → From File → From WorkbookChọn file → Chọn Sheet hoặc TableEdit để transform trước khi load3.3 From Web
Data → Get Data → From Other Sources → From WebURL: https://example.com/data-tablePower Query tự detect tables trên webpageChọn table → Transform → Load3.4 From Folder (Multiple Files)
Data → Get Data → From File → From FolderPath: C:\Data\Monthly_Reports\List tất cả files → Combine & TransformMerge 12 files thành 1 table tự động! ✅From Folder là tính năng mạnh nhất khi có nhiều files cùng format (monthly reports, daily exports). Power Query tự combine tất cả → 1 table. Thêm file mới vào folder → Refresh → Done!
Checkpoint
4 nguồn chính: CSV/Text, Excel, Web, Folder. From Folder mạnh nhất cho recurring reports — tự combine nhiều files. Bạn đã import từ nguồn nào chưa?
🔧 4. Basic Transformations
4.1 Remove Columns
Right-click column header → RemoveHoặc: Select columns to KEEP → Remove Other ColumnsKeep 5 columns, remove 50 unknown → Safer ✅4.2 Change Data Types
📝 Text (ABC)🔢 Whole Number (123)💲 Decimal Number (1.23)📅 Date (1/1/2026)⏰ Date/Time✅ True/False4.3 Filter Rows
☐ (null)Bỏ null values☑ North☑ South☐ (blank)Bỏ blank rowsNumber filters → Greater than → 10004.4 Remove Rows
Home → Remove RowsRemove Top RowsBỏ X rows đầu (metadata)Remove Bottom RowsBỏ X rows cuối (totals)Remove Blank RowsBỏ rows trốngRemove DuplicatesBỏ trùng lặpRemove ErrorsBỏ rows có lỗi4.5 Replace Values
Transform → Replace ValuesFind: "N/A" → Replace with: (null)Find: " " → Replace with: " "double space → singleThứ tự steps quan trọng! Filter rows và remove columns sớm nhất có thể — giảm data size → tăng performance cho các steps sau. Đây là best practice #1 trong Power Query.
Checkpoint
Basic transforms: Remove Columns, Change Types, Filter Rows, Remove Rows, Replace Values. Golden rule: filter early, remove early → better performance. Bạn đã thực hành chưa?
✂️ 5. Column Transformations
5.1 Split Column
Transform → Split ColumnBy Delimiter: "John Smith" → "John" | "Smith"By Number of Characters: "ABC123" → "ABC" | "123"Column: "Nguyễn Văn A"Split by: Space, from Right Most delimiter→ "Nguyễn Văn" | "A"5.2 Merge Columns
Select multiple columns → Transform → Merge ColumnsSeparator: SpaceNew column: "Full Address""123 Main St" + "Hanoi" + "Vietnam"→ "123 Main St Hanoi Vietnam"5.3 Extract
Transform → ExtractFirst Characters: "LAPTOP-001" → "LAP"Last Characters: "LAPTOP-001" → "001"Text Before Delimiter: "john@email.com" → "john"Text After Delimiter: "john@email.com" → "email.com"5.4 Format Text
Transform → FormatLowercase / Uppercase / Capitalize Each WordTrim: " hello " → "hello"Clean: Remove non-printable characters5.5 Add Column from Examples
Add Column → Column from ExamplesPower Query AI detects patternsOriginal: "2026-01-15" → Example: "January"→ Auto-generates formula for all rows: Month name extractionColumn from Examples là AI magic! Chỉ cần gõ 1-2 ví dụ → PQ tự detect pattern và áp dụng cho tất cả rows. Rất mạnh cho date parsing, text extraction, format conversion.
Checkpoint
Column transforms: Split, Merge, Extract, Format, From Examples. Column from Examples là tính năng AI — gõ ví dụ, PQ tự học pattern. Bạn đã thử feature này chưa?
📅 6. Date Transformations
6.1 Extract Date Parts
Year→ 2026Month→ 1Day→ 15Day of Week→ ThursdayQuarter→ 1Week of Year→ 3Month Name→ JanuaryDay Name→ ThursdayStart of Month→ 1/1/2026End of Month→ 1/31/20266.2 Date Calculations
Add Column → Custom ColumnName: "Days_Since_Order"= Duration.Days(DateTime.LocalNow() - [OrderDate])Checkpoint
Extract: Year, Month, Quarter, Day of Week — tạo time dimensions cho analysis. Custom Column cho date calculations (age, days since). Bạn đã tạo date columns chưa?
🔄 7. Refresh & Load Options
7.1 Load To
Home → Close & Load → Close & Load To☐ TableLoad vào worksheet☐ PivotTableCreate PivotTable trực tiếp☐ PivotChartCreate PivotChart☑ Only Create ConnectionKhông load (dùng cho Data Model)7.2 Refresh Data
1. Source file gets updated (new CSV, updated webpage)2. Excel: Data → Refresh All (Ctrl + Alt + F5)3. Power Query re-runs ALL steps automatically4. Data in worksheet = updated & clean! ✅7.3 Auto-Refresh
Right-click query → Properties☑ Refresh every X minutes☑ Refresh data when opening file☐ Enable background refreshAuto-Refresh biến Excel thành live dashboard — data tự update theo schedule hoặc mỗi lần mở file. Kết hợp với PivotTables → real-time reporting system!
Checkpoint
Close & Load: table, PivotTable, hoặc connection only. Refresh All (Ctrl+Alt+F5) chạy lại tất cả queries. Auto-Refresh = live dashboard. Bạn đã setup auto-refresh chưa?
🧹 8. Thực hành: Clean Messy Data
Transform messy CSV thành clean data — đây là skill thực tế nhất của Power Query!
Problem: Dirty Sales CSV
1,,Sales Report 2026,,2,,Generated: 2026-01-15,,3,,,4 Date , Product Name , Region , revenue501/05/2026, Laptop Pro ,NORTH, 15000601/06/2026,Phone X,,80007, Tablet Air , South , N/A801/08/2026,,East,60009???,,West,1001/10/2026,Laptop Pro,North,$12,000Solution Steps (Applied Steps):
1. SourceImport CSV2. Remove Top 3 RowsSkip header metadata3. Promote HeadersUse first row as headers4. Trim TextRemove extra spaces5. Clean TextRemove non-printable chars6. Uppercase RegionStandardize7. Replace "N/A" with null8. Remove Blank Rows9. Remove Error RowsFilter out ???10. Change TypesDate, Text, Text, Number11. Fill Down RegionFill missing regions12. Remove $ from Revenue13. Rename ColumnsClean namesPractical Tips
Query Naming: Sales_Raw → Sales_Cleaned → Sales_FinalStep Naming: Right-click → Rename → "Set Date and Number types"Performance: Filter early, remove columns earlyCheckpoint
Bạn đã clean được messy data với Power Query chưa? Kiểm tra: data types đúng, columns clean, và nhấn Refresh để thấy kết quả tự cập nhật!
� 9. Tổng Kết
Kiến thức đã học
| Chủ đề | Nội dung chính | Tầm quan trọng |
|---|---|---|
| Power Query | ETL tool, setup 1 lần | Game-changer skill |
| Import Sources | CSV, Excel, Web, Folder | Data acquisition |
| Basic Transforms | Filter, sort, remove, replace | Data cleaning |
| Column Transforms | Split, merge, extract, examples | Data reshaping |
| Date Transforms | Extract parts, calculations | Time analysis |
| Refresh & Load | Auto-update, load options | Automation |
Câu hỏi tự kiểm tra
- Power Query giải quyết vấn đề gì so với formulas thông thường?
- Các bước ETL cơ bản trong Power Query là gì?
- "Close & Load To..." khác "Close & Load" thế nào?
- Refresh data trong Power Query hoạt động ra sao?
Bài tiếp theo: Power Query Advanced — Merge, Append, M Language basics
Key Takeaways:
- Power Query = ETL tool, setup 1 lần, Refresh mãi mãi
- Import từ nhiều nguồn: CSV, Excel, Web, Folder
- Basic Transforms: filter, sort, remove, replace cho data cleaning
- Column Transforms: split, merge, extract cho data reshaping
- Date Transforms: extract parts, calculations cho time analysis
- Power Query là game-changer cho mọi Data Analyst!
