Power BI là một sản phẩm văn phòng thuộc nhóm kinh doanh thông minh (business intelligence) hỗ trợ xây báo cáo, dashboard để theo dõi KPI,..Ngày nay, việc thành thạo các kỹ băng business intelligence là vô cùng quan trọng, tài liệu này sẽ hướng dẫn chi tiết các kỹ năng cần thiết nhất để bắt đầu sử dụng Power BI.
Trang 1THÀNH THẠO POWER BI TRONG 04 GIỜ
KHÓA HỌC
Trang 2Giới thiệu về PowerBI
Trang 3Power BI là một sản phẩm văn phòng thuộc nhóm kinh
doanh thông minh (business intelligence) của Microsoft,
bao gồm phần mền trên máy tính để bàn và phiên bản
web, nhằm trực quan hóa dữ liệu
Thêm thông tin tại powerbi.microsoft.com
POWER BI LÀ GÌ ?
Trang 4• Kết nối, chuyển đổi và phân tích cho dữ liệu lớn
• Truy cập dữ liệu từ nhiều nguồn (table, sheet, clound, folder, v.v.) và tạo các quy trình định hình
và tải dữ liệu hoàn toàn tự động (ETL)
• Xây dựng các mô hình quan hệ để trộn dữ liệu từ nhiều nguồn
• Tạo ra các relationships để phân tích tổng thể trên toàn bộ mô hình dữ liệu
• Hỗ trợ phân tích dữ liệu bằng Biểu thức phân tích (DAX)
• Hỗ trợ phân tích bộ dữ liệu và cho phép nhiều phân tích nâng cao với DAX
• Trực quan dữ liệu với các báo cáo và bảng điều khiển tương tác
• Xây dựng các công cụ phân tích kinh doanh tùy chỉnh với các tính năng trực quan và bảng điều
khiển tốt nhất
• Power BI là công cụ hàng đầu và là tương lai của phân tích
• Microsoft Power BI trực quan, mạnh mẽ và hoàn toàn MIỄN PHÍ để bắt đầu
TẠI SAO LẠI NÊN SỬ DỤNG POWER BI
Trang 5CÀI ĐẶT POWER BI DESKTOP
1) Truy cập powerbi.microsoft.com và click “Sign Up Free”
2) Click “Download Free” để bắt đầu tải phần mềm
IMPORTANT: YouBạn chưa cần đăng ký ngay một tài khoản Power BI Pro
để có thể cài đặt Power BI Desktop (nếu có cửa sổ yêu cầu đăng ký
Power BI Pro, bạn chỉ cần bỏ qua)
• Đăng ký tài khoản Pro chỉ cần thiết khi bạn có nhu cầu chia sẻ
và cộng tác làm việc cho nhiều người trên phiên bản web
(app.powerbi.com)
• Note: Microsoft yêu cầu một tài khoản doanh nghiệp hoặc
giáo dục để tạo tài khoản Microsoft cho PowerBI
Trang 6GIAO DIỆN CỦA POWER BI
03 phần chính:
Report
Data
Relationships
Trang 7QUY TRÌNH LÀM VIỆC
Tổ chức dữ liệu từ
raw data
Tạo các relationships
Để kết nối các nguồn data
Trực quan hóa các Báo cáo
và tạo tương tác
Trang 8KẾT NỐI VÀ XỬ LÝ DỮ LIỆU
Trang 9Lấy Data từ nhiều nguồn dữ liệu
Power BI có thể kết nối tới rất nhiều nguồn data, bao gồm (nhưng không hạn chế):
• Flat files & Folders (csv, text, xls, etc)
• Databases (SQL, Access, Oracle, IBM, Azure, etc)
• Online Services (Sharepoint, GitHub, Dynamics 365,
Google Analytics, Salesforce, Power BI Service, etc)
• Others (Web feeds, R scripts, Spark, Hadoop, etc)
Trang 10Query Editing Tools (Table transformations, calculated columns, etc)
Trang 11Tab HOME bao gồm các cài đặt chung and các công cụ chỉnh sửa bảng phổ biến
Tab TRANSFORM bao bồm các công cụ chỉnh sửa các bảng sẵn có đã tồn tại (chia/gộp, chỉnh sửa, nhóm xử lý text …)
Tab ADD COLUMN bao gồm các công cụ tạo bảng mới (dựa trên một điều kiện, tính toán, công thức, ngày …)
QUERY EDITING TOOLS
Trang 12Đổi loại dữ liệu(date, $, %, text, )
Cài đặt Header
Chọn hoặc xóa Cột
Tip: sử dụng “Remove Other
Columns” chỉ muốn giữ lại 1
Trang 13Chia một text column dựa
trên một dấu ngăn cách hoặc ký tự đặc biệt
Format a text column: upper, lower or
proper case, hoặc thêm tiền tố - hậu tố
Tip: Sử dụng “Trim” để loại bỏ spaces, hoặc “Clean”
để xóa các ký tự không thể in
Extract characters từ một text column dựa trên chiều dài, ký
tự đầu/cuối, dấu ngăn cách …
Tip: Chọn hai hoặc nhiều cột để
gộp các trường (tương tự hàm
concatenate trong excel)
NOTE!
Bạn có thể kết nối tới các công cụ trong cả
“Transform” và “Add Column” - sự phân biệt
chỉ ở chỗ bạn muốn thao tác trên một cột sẵn
có hay thêm một cột mới
TEXT TOOLS
Trang 14Statistics functions cho phép bạn
thực hiện một số tính toán cơ bản
từ cột được chọn (sum, min/max,
average, count, …)
Note: Những tools này sẽ trả về một Kết
quả đơn (SINGLE value), và thường sử
dụng để tính toán trên bảng thay vì sử
dụng ở bước xử lý data (load data)
Standard Scientific Trigonometry
Standard, Scientific và Trigonometry tools cho phép
bạn apply các công thức ở mức độ cơ bản (cộng, trừ, nhân, chia, ) hoặc nâng cao (power, logarithm, sine, tangent, …) cho các giá trị ở trong cột
Note: Khác với Statistics options, các công cụ này áp dụng
cho các giá trị trong cột chứ không trả về một Kết quả đơn
Information tools cho
pép bạn xác định kết quả Logic hoặc Nhị phân
(TRUE/FALSE or 1/0) dựa
trên giá trị Chẵn/Lẻ
NUMBER TOOLS
Trang 15Date & Time tools tương đối đơn giản, bao gồm một số tùy chọn như:
• Age: sự khác nhau giữa thời gian hiện tại và thời gian trong cột
• Date Only: Bỏ đi các thành phần khác ngoài định dạng Date trong cột
• Year/Month/Quarter/Week/Day: Xuất ra các thành phần từ trường Date
• Earliest/Latest: Trả về kết quả về dữ liệu Date sớm nhất hoặc muộn nhất từ Date Column
dưới dạng Kết quả đơn
Note: Với dữ liệu dang Date, chúng ta nên thực hiện “Add Column” để thêm một trường/cột mới,
hơn là chỉnh sửa trực tiếp dữ liệu trong “Transform”
PRO TIP:
Nên tải một bảng chỉ chứa một cột date column và sử dụng Date tools để tạo ra một calendar table – sẽ cực kỳ hữu
ích khi làm việc trong một file PowerBI có nhiều bảng
DATE TOOLS
Trang 16Sử dụng Date options trong
“Add Column” để nhanh
chóng tạo ra một Calendar
Table
CÁCH TẠO MỘT CALENDAR TABLE
Trang 17Index Columns chứa một list giá trị
quan hệ giữa các bảng(chi tiết ở phần
sau của khóa học!)
THÊM INDEX COLUMNS
Trang 18Conditional Columns cho phép bạn tạo ra một trường mới
dựa trên một nguyên tắc hoặc điều kiện nào đó( giả định NẾU/THÌ)
THÊM CONDITIONAL COLUMNS
Trang 19Group By cho phép bạn sắp xếp data theo các cấp độ hay các nhóm
(data từ chi tiết ngày về theo tháng, giao dịch theo cửa hàng, …)
Ví dụ: Nhóm data và tạo cột mới tên “TotalQuantity” dựa trên
“ProductKey”, sau đó tính tổng
NOTE: những trường không thuộc trường điều kiện nhóm hoặc
trường kết quả sẽ bị xóa
GROUPING DATA
Trang 20GROUPING (ADVANCED)
Trang 21Merging queries cho phép bạn gộp bảng dựa
trên những cột chung (giống hàm VLOOKUP trong Excel)
NOTE: Merging queries thêm cột tới một bảng đã
có sẵn
NOTE!
Không bởi vì chúng ta có thể gộp bảng,
mà chúng ta luôn gộp để có số lượng bảng ít.
Thực tế trong PBI, sẽ tốt hơn nếu chia ra thành các bảng và tạo
relationships cho chúng(chi tiết hơn
ở phần sau khóa học!)
MERGING QUERIES
Trang 22Appending queries cho phép bạn combine tables có cùng
kiểu cấu trúc và kiểu định dạng
NOTE: Appending thêm dòng tới một bảng đã có sẵn
PRO TIP:
Sử dụng “Folder” option (Get Data > More > Folder) để gộp các file trong một folder (nhưng phải có chung
cấu trúc); nếu bạn thêm 01 file mới, bạn chỉ cần refresh queries và mọi thứ sẽ tự động update!
APPENDING QUERIES
Trang 23REFRESHING QUERIES
Các queries trong model sẽ được refresh khi bạn sử
dụng command “Refresh” từ tab Home
Có thể cài đặt việc Refresh thông qua phần
“Include in report refresh” khi bấm vào các Queries
Trang 24DEFINING DATA CATEGORIES
Từ Tab “Modeling” trong Data view, bạn có thể chỉnh
sửa thuộc tính các trường theo một số categories đặc biệt
Thường sử dụng để xác định các trường liên quan đến
addresses, countries, cities, zip codes, … để có thể
kết nối với Map
Trang 25Luôn cần Xử lý Data trong Queries Editor, trước khi load data vào
trong Power BI
• Cần làm sạch Data khi bắt đầu; việc nghĩ rằng có thể cập nhật sau sẽ tiêu tốn nhiều
thời gian hơn
• Tổ chức file/folder theo cấu trúc, để tránh chỉnh sửa nguồn data nhiều lần
Vô hiệu hóa Report Refresh cho các nguồn bảng tĩnh
• Không cần refresh nếu không cần update thường xuyên, ví dụ như bảng là kết quả của
quá trình lookup hoặc bảng tĩnh (không thay đổi giá trị); chỉ refresh cho bảng có sự thay đổi thường xuyên
Khi làm việc với Bảng dữ liệu lớn, chỉ load các data bạn cần
• Không cần Data nào thì nên bỏ ra khỏi Bảng dữ liệu; chiết xuất quá nhiều Data có thể
khiến Bảng, Model và file Power BI của bạn bị chậm trong xử lý
Một số Lưu ý
Trang 26TẠO MỘT DATA MODEL
Trang 27“DATA MODEL” LÀ GÌ?
Đây không là một Data Model
• Đây là tổng hợp của các bảng độc lập, không có kết nối hay mối quan hệ nào
• Nếu bạn thử visualize Orders và Returns
theo Product, đây sẽ là kết quả:
Trang 28“DATA MODEL” LÀ GÌ?
Đây mới là một Data Model
• Các bảng được kết nối với nhau bằng các
relationships, qua trường dữ liệu chung là
Product Key
• Bây giờ, nếu bạn thử visualize Sales và
Returns, đây là kết quả:
Trang 29Chuẩn hóa Database là quá trình tổ chức dữ liệu tại các cột-bảng trong một mối
quan hệ dữ liệu, để giảm sự dư thừa và đảm bảo tính toàn vẹn Một số quy tắc:
• Loại bỏ dữ liệu dư thừa để giảm kích thước bảng và cải thiện tốc độ & hiệu quả xử lý
• Giảm thiểu lỗi và sự bất thường từ sửa đổi dữ liệu (chèn, cập nhật hoặc xóa…)
• Đơn giản hóa các queries và cấu trúc database có ý nghĩa phân tích
TIP: Trong việc chuẩn hóa database, các bảng nên đảm bảo mục đích riêng biệt và cụ thể
Khi bạn không quan tâm tới việc chuẩn hóa Database, bảng của bạn sẽ trong như vậy; tất cả các hàng sẽ bị duplicate thông tin có thể tìm kiếm trong một bảng
khác (cụ thể là bảng product_id)
Ngay lập tức, nó có vẻ không ảnh hưởng tới data, nhưng khi vấn đề sẽ tới khi data scale up lên kích thước lớn.
CHUẨN HÓA DATABASE
Trang 30Data Model thông thường bao gồm 2 loại bảng: data (hoặc “fact”) tables, và lookup (or “dimension”) tables
• Data tables thường dạng number hoặc value, thông thường ở cấp độ đầu tiên, với ID or “key” columns có thể sử
dụng để tạo ra các relationships
• Lookup tables cung cấp thêm các diễn giải, để bổ sung thông tin, thường dạng text
Đây là Calendar Lookup table cung cấp thêm các diễn giải, thông tin bổ sung cho date (month, year, weekday …)
Đây là Product Lookup table cung cấp thông tin bổ sung cho product (brand, product name, sku, price, …)
Đây là Data Table gồm cột “quantity” , và có thể kết nối
với lookup tables qua cột “date” và “product_id”
PHÂN BIỆT: DATA TABLES và LOOKUP TABLES
Trang 31Tôi có thể merge queries hoặc sử dụng hàm LOOKUP hoặc RELATED để thêm
dữ liệu trong bảng, vậy tại sao tôi không gộp hết vào một bảng ??
-Anonymous confusedman
Bảng gốc Bổ sung thông tin về Calendar Lookup Bổ sung thông tin về Product Lookup
Chắc chắn bạn có thể, nhưng nó không hiệu quả!
• Merging data trong cách này tạo ra data thừa và sử dụng đáng kể bộ nhớ và trình xử lý
thông tin của máy tính hơn là tạo ra các relationships.
RELATIONSHIPS và MERGED TABLES
Trang 32Option 1: Click và kéo các trường dữ liệu chung giữa các
bảng trong Relationships pane
Option 2: Thêm hoặc phát hiện relationships
sử dụng hộp thoại “Manage Relationships”
CÁCH TẠO RELATIONSHIPS
Trang 33Sales_Data table có thể kết nối tới Products bằng trường ProductKey ,
nhưng không thể kết nối trực tiếp tới Subcategories hoặc Categories
Để tạo ra relationships từ Products to Subcategories (sử dụng
ProductSubcategoryKey ) và Subcategories tới Categories (sử dụng
ProductCategoryKey ), chúng ta phải kết nối Sales_Data tới các lookup
table; các bảng sẽ được kết nối bắc cầu
Trang 34QUẢN LÝ & EDIT RELATIONSHIPS
Hộp thoại “Manage Relationships” cho phép
thêm, sửa hoặc xóa các relationships
Editing tools cho phép activate/deactivate relationships, xem
cardinality, và sửa cross filter direction
Trang 35ACTIVE và INACTIVE RELATIONSHIPS
Bảng Sales_Data gồm 02 trường date (OrderDate & StockDate), nhưng chúng
ta có thể chỉ active một relationship tới một trường date trong bảng Calendar
Click đúp vào đường relationship, và check trong hộp thoại tùy chọn “Make this
relationship active” (chú ý rằng bạn phải deactivate một trường để active trường
còn lại)
Trang 36Cardinality đề cập tới tính duy nhất của giá trị trong cột
RELATIONSHIP CARDINALITY
Trang 37• Nếu chúng ta cố gắng kết nối bảng sử dụng
product_id, chúng ta tạo ra “many-to-many relationship” lỗi bởi vì có sự lặp lại của ID trong bảng
• Nếu chúng ta cố tạo relationship kiểu này, chúng ta
không biết rõ sản phẩm nào đã được bán – Cream
Soda or Diet Cream Soda?
VÍ DỤ CARDINALITY : MANY-TO-MANY
Trang 38• KếT nối hai bảng dựa trên trường product_id như trên để tạo ra một one-to-one relationship,
mỗi ID chỉ xuất hiện một lần trong bảng
VÍ DỤ CARDINALITY : ONE-TO-ONE
Trang 39Dữ liệu gồm 02 bảng dạng Data table:
Sales_Data và Returns_Data
• Chú ý rằng Returns table kết nối tới
Calendar và Product_Lookup giống như Sales table, nhưng không có trường
CustomerKey để kết nối tới
Customer_Lookup
• Chúng ta không nên tạo relationships giữa Sale_Data và Returns_Data để tạo Snowflake
vì dữ liệu có thể xử lý sai bản chất
• Ví dụ: chúng ta muốn biết Return theo
Customerkey, chúng ta tạo liên kết qua trường ProductKey với Sale_Data, PBI vẫn trả ra một kết quả nhưng đó là sai vì chúng ta tạo sai
NOTE!
Nhìn chung, đừng tạo relationships trực tiếp giữa các data table; thay vào đó, kết nối qua shared lookups
KẾT NỐI NHIỀU BẢNG TRONG DATA MODEL
Trang 40SỬ DỤNG FIELDS
Trong ví dụ, chúng ta có trường TerritoryKey ở cả 3 bảng, và khi
chúng ta sử dụng trường để visualization data, đã có 3 kết quả:
• TH1: Chúng ta dùng đúng trường ở Lookup Table, kết quả trả về ĐÚNG
• TH2: Chúng ta dùng trường ở Sale_Data (Data Table 1), Kết quả trả về chỉ ĐÚNG cho Sale_Data, SAI cho Return_Data
• TH3: Chúng ta dùng trường ở Return_Data (Data Table 2), Kết quả trả về chỉ ĐÚNG cho Return_Data, SAI cho Sale_Data
Trang 41CÀI ĐẶT FILTERS HAI CHIỀU
Trang 42Một số lưu ý: DATA MODELING
Xây dựng một Model tiêu chuẩn ngay từ khi bắt đầu
• Đảm bảo mỗi bảng là một bảng riêng biệt, cho một mục đích cụ thể
• Sử dụng Relationship thay cho Merge Table; bảng dài và hẹp luôn tốt hơn bảng ngắn và rộng
Tổ chức lookup tables phía trên data tables
• Điều này luôn nhắc cho chúng ta về flow kết nối và phân loại các loại table
Tránh những relationship phức tạp nếu không cần thiết
• Hạn chế sử dụng filter 2 chiều, chỉ nên sử dụng filter 1 chiều
Trang 43SỬ DỤNG DAX TRONG POWER BI
Trang 44DAX là viết tắt của cụm từ Data Analysis Expressions là tập hợp các hàm, toán tử và hằng
số, được sử dụng để giải quyết những bài toán từ cơ bản đến phức tạp Từ đó, trả về một hoặc nhiều giá trị từ dữ liệu có sẵn.
• Một cách dễ hiểu, DAX được coi là hàm trong Power BI
• Tuy nhiên, vượt xa khả năng của các hàm thuần túy, với các chức năng được xây dựng chuyên biệt
để làm việc với các data model, DAX rất mạnh mẽ và linh hoạt
02 cách để sử DAX
1) Calculated Columns
DAX LÀ GÌ ?
2) Measures
Trang 45Bạn cần biết rằng có rất nhiều yếu tố quan trọng khác nhưng đây là 3 vấn đề
quan trọng mà nhất định phải nắm Đó là Syntax(cú pháp), Function(chức
năng) và Context(ngữ cảnh).
• Syntax có thể hiểu là cú pháp, trước khi tạo ra các công thức tính toán, bạn cần biết cú pháp của
Power BI Dưới đây là một ví dụ công thức DAX đơn giản cho một measure
• Function được định nghĩa là các công thức được xác định trước, thực hiện những phép tính bằng
các giá trị cụ thể được gọi là đối số, theo một thứ tự hoặc cấu trục cụ thể.
➢ Row Context áp dụng bất cứ khi nào một công thức có một hàm áp dụng bộ lọc để xác định một hàng
trong bảng
➢ Filter Context giống như là một hoặc nhiều bộ lọc được áp dụng trong một phép tính mà được xác
định kết quả hoặc giá trị.
03 YẾU TỐ CỦA DAX
Trang 46DAX HÀM
• Thường quy định kiểu dữ liệu đầu vào
• Chỉ tham chiếu theo Cột hoặc Bảng
• Kết quả trả về có thể là một Giá trị, một Bảng
• DAX yêu cầu tạo ra các mối quan hệ giữa các bảng để sử
dụng
• Thường không quy định, nếu sai thì báo lỗi
• Tham chiếu theo Ô-vùng và cả Cột-Bảng
• Kế quả trả về là một Giá trị
• Có thể làm việc với các bảng độc lập
So sánh: DAX (Power BI) và HÀM (Excel)
Trang 47THÊM COLUMNS & MEASURES
Option 1: Chọn “New Measure” hoặc
“New Column” trong tab Modeling
Option 2: Chuột phải trong table (trong Data view)
hoặc trong Field List (cả Data và Report view)
Khi bạn chèn một Columns hoặc Measures sử dụng tab
Modeling, PowerBI sẽ mặc định bảng đang chọn làm dữ liệu
tham chiếu, hoặc bảng đầu tiêu trong list thông thường
• Measures có thể chọn lại tables (trong phần “Properties”
options trong tab Modeling), nhưng Option 2 sẽ cho phép bạn
có sự chủ động hơn về vị trí và về bảng