You are on page 1of 72

Đào tạo sử dụng Power BI

Phòng Quản trị Hệ thống thông tin


Thời gian
25/08/2021 26/08/2021
Thời gian Nội dung Thời gian Nội dung

8:00 – 8:30 Giới thiệu nội dung đào tạo 8:00 – 9:30 Thiết kế report trên Power BI
Measure và một số hàm DAX
8:30 – 9:15 Lý thuyết và thực hành kết nối dữ liệu
9:15 – 9:25 Nghỉ giải lao 9:30 – 9:40 Nghỉ giải lao
9:25 – 11:00 Hướng dẫn xử lý chuẩn hóa dữ liệu 9:40 – 11:00 Thiết kế report (tt)
NGHỈ TRƯA NGHỈ TRƯA
12:30 – 14:00 Hướng dẫn xử lý chuẩn hóa dữ liệu (tt) 12:30 – 14:00 Thiết kế report (tt)
14:00 – 14:10 Nghỉ giải lao 14:00 – 14:10 Nghỉ giải lao
14:10 – 16:00 Lý thuyết và thực hành Data Model 14:10 – 16:00 Hướng dẫn publish, share report
Nội dung
Mục đích khóa học

Giới thiệu về Power BI


Kết nối và xử lý dữ liệu

Mô hình quan hệ dữ liệu

Xây dựng Report

Sử dụng DAX trong Power BI


Mục đích khóa học
• Cung cấp các kiến thức cơ bản để làm việc trên Power BI
• Có thể xây dựng được report cơ bản như hình

Tập dữ liệu nguồn:


• \BMP_Data\periods.xlsx: danh mục Thời gian Tháng-Năm.
• \BMP_Data\sale_2021\*.xlsx: doanh thu bán hàng của năm 2021
Giới thiệu về Power BI
Power BI là gì?
Power BI là một công cụ thuộc nhóm phần mềm văn phòng thông minh của
Microsoft hỗ trợ phân tích và trực quan hóa dữ liệu. (gồm 2 phiên bản: phần
mềm PowerBI Desktop và PowerBI online trên web)
Tại sao nên sử dụng Power BI?
Hỗ trợ phân tích dữ liệu bằng Biểu
Kết nối, chuyển đổi và phân tích cho
thức phân tích (DAX - Data Analysis
dữ liệu lớn
Expressions)

Trực quan hóa dữ liệu với giao diện


Hỗ trợ mô hình quan hệ dữ liệu
đẹp, thân thiện.
Cài đặt Power BI Desktop
1. Đăng ký tài khoản microsoft nếu chưa có
2. Vào https://powerbi.microsoft.com/en-us/desktop/
để download
Lưu ý: Kiểm tra hệ điều hành của máy tính để
download phiên bản Power BI phù hợp
Quy trình xây dựng 1 report với Power BI
Bước 1
Lấy dữ liệu đầu vào từ
các nguồn
(Excel, SQL, Access …)

Kết nối và chuyển dữ liệu vào màn hình Power BI Query Editor

Bước 2
Xử lý, hoàn thiện dữ
liệu
(Power BI Query Editor)
Chuyển dữ liệu hoàn thiện vào Power BI
Report

Bước 3 • Dữ liệu
Xây dựng báo cáo • Mô hình quan hệ
(Power BI)
• Thiết kế báo cáo
Giao diện Power BI Query Editor

Kết nối dữ liệu Cập nhật dữ liệu khi có thay đổi ở nguồn

Lịch sử thao tác

Danh sách các


bảng dữ liệu đầu
vào
Giao diện Power BI
Mở màn hình Query Editor xử lý dữ liệu

Có 3 phần chính Các loại biểu đồ


Report

Data

Model

Các bảng, trường dữ liệu, measure để


kéo thả vào biểu đồ
1. Kết nối dữ liệu
1. Kết nối dữ liệu
• Power BI hỗ trợ kết nối nhiều nguồn dữ liệu khác nhau như: Excel;
các hệ quản trị cơ sở dữ liệu SQL, Oracle…; các file và thư mục…
• Các bước để lấy dữ liệu đầu vào:
 Bước 1: Home > Get Data > Chọn nguồn dữ liệu như Excel, Text/CSV, SQL
Server …
 Bước 2: Màn hình Navigator sẽ hiển thị danh sách các bảng từ nguồn dữ liệu
ở Bước 1, chọn các bảng muốn phân tích > Click Transform Data để chuyển
dữ liệu vào màn hình Power BI Query Editor (công cụ hỗ trợ chuẩn hóa dữ
liệu)
1. Kết nối dữ liệu

Ví dụ: Kết nối dữ liệu từ Excel


2. Hoàn thiện dữ liệu trên màn
hình Query Editor
2. Màn hình Query Editor

Thanh công cụ

Thanh công
thức Vùng đặt tên
bảng

Danh sách
bảng dữ liệu Lịch sử thao
Vùng thể hiện và xử lý
tác
dữ liệu
2. Giới thiệu các thanh công cụ
HOME: gồm các cài đặt chung và các công cụ chỉnh sửa bảng phổ biến

TRANSFORM: gồm các công cụ chỉnh sửa các bảng đang có (chia/gộp, chỉnh sửa, xử lý text….)

ADD COLUMN: gồm các công cụ hỗ trợ tạo bảng, tạo cột mới(dựa trên điều kiện: ngày, công thức …)
2.Thao tác chỉnh sửa bảng cơ bản
Sắp xếp dữ liệu Đổi loại dữ liệu

Cài đặt Header

Chọn hoặc xóa cột


Click chuột phải
Tips: Chọn Remove
lên các cột dữ
Other Columns nếu chỉ
liệu  menu
muốn giữ lại 1 cột
công cụ chỉnh sửa
Xóa các dòng cơ bản
Tips: Chọn Remove
Duplicates để xóa dữ
liệu trùng từ bảng cũ
2. Xử lý dữ liệu kiểu chuỗi ký tự

Tách cột Text theo Trích chuỗi từ cột


điều kiện Text theo điều kiện
Tips: Chọn 2 hoặc
nhiều cột Text để kết
hợp chuỗi lại với
nhau (giống hàm
CONCATENATE trong
Excel)
Định dạng cột Text
Tips: Trim để loại bỏ
khoảng trắng; Clean
để xóa các ký tự
không thể in
2. Xử lý dữ liệu số

Information cho phép xác


định các giá trị logic
(true/false) hoặc nhị phân
Standard Sciencific Trionometry
Statistics function cho (1/0) dựa trên giá trị
phép thực hiện một số tính Standard, Scientific, Trionometry cho phép Chẳn/Lẽ
toán cơ bản từ cột được áp dụng các công thức cơ bản hoặc nâng cao
chọn cho các giá trị trong cột.

Notes: giá trị trả về của Statistics là


Notes: khác với Statistics, công cụ
giá trị đơn, được sử dụng để tính
này áp dụng cho các giá trị của cột,
toán trên bảng, không phải ở bước
chứ không trả về giá trị đơn
load data
2. Xử lý dữ liệu Thời gian

Date Tool gồm một số tùy chọn cơ bả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: chỉ giữ định dạng Date trong cột
• Year/Month/Quarter/Week/Day: xuất ra các thành phần từ cột Date
• Earliest/Latest: trả về giá trị Date sớm nhất hoặc trễ nhất trong cột Date. Giá trị trả về
là giá trị đơn

Note: với dữ liệu dạng Date, nên thao tác trên “Add Column” để thêm cột mới chứ
không nên xử lý trực tiếp trên dữ liệu “Transform”

PRO TIP:
Nên tạo một bảng Calendar lưu Ngày tháng năm trong trường hợp cần phân tích dữ liệu theo chiều
thời gian. Ví dụ: doanh thu bán hàng theo ngày, tháng, năm.
2. Thêm cột Index

Cột Index giống như cột Số thứ tự của từng


dòng: bắt đầu từ 0 hoặc 1, hoặc tùy chọn.
Giá trị không trùng lặp.

Cột này thường được dùng làm cột chính


của bảng, giúp tạo liên kết đến các bảng
khác (nếu cần)
2. Thêm cột Conditional (cột Điều kiện)

Conditional Column cho phép tạo thêm 1 cột dữ liệu dựa trên mệnh đề điều
kiện IF…ELSE
2. Grouping Data (Tổng hợp số liệu theo nhóm)
Group by cho phép sắp xếp dữ liệu theo các nhóm và cấp độ (doanh thu theo
ngày, doanh thu theo sản phẩm…)

Ví dụ: nhóm dữ liệu theo ProductID và sau đó


tính tổng doanh thu theo từng ProductID

Note: Sau khi nhóm, các trường dữ liệu không


thuộc điều kiện nhóm sẽ bị xóa
2. Grouping Data (nâng cao)

Nhóm dữ liệu theo nhiều cột


2. Merge Queries (gộp các bảng theo chiều ngang)
Merge Queries: cho phép gộp các
bảng dựa trên những cột chung
(giống hàm VLOOKUP trong Excel)

NOTE: Merge Queries thêm cột tới 1


bảng đã có sẳn

NOTES !
Không bởi vì có thể gộp bảng mà ta
luôn dùng Merge Queries để giảm
số lượng bảng.
Thực tế, trong Power BI, sẽ tốt hơn
nếu chia tập dữ liệu ra thành các
bảng riêng và tạo quan hệ cho
chúng.
2. Append Queries (gộp các bảng theo chiều dọc)

Append Queries: cho phép gộp dữ


liệu của các bảng có cùng cấu trúc và
định dạng dữ liệu.

Append Queries as New: tạo 1 bảng


mới chứa dữ liệu kết hợp.

Append Queries: thêm dòng dữ liệu


vào 1 bảng có sẳn

PRO TIP:
Bản chất của Kết nối dữ liệu “Folder” (Get Data > More > Folder) là Append Queries
2. Một số lưu ý khi xử lý dữ liệu đầu vào
Dữ liệu nên được hoàn thiện trước khi đưa vào màn hình thiết kế report của Power BI
• Dữ liệu không hoàn thiện thì khi xây dựng báo cáo sẽ dễ gặp sai sót và mất nhiều thời gian để khắc phục.

• Việc xử lý dữ liệu trên Power BI có thể mất nhiều thời gian. Do đó nếu có thể thì nên xử lý trên các nguồn
dữ liệu trước sao cho hoàn thiện nhất có thể.
• Nếu chưa xử lý dữ liệu xong mà cần lưu file đang làm việc lại, lưu ý click chọn Apply Later để chỉ lưu quá
trình làm việc mà không đẩy dữ liệu vào Power BI. Nếu chọn Apply, dữ liệu sẽ đẩy vào Power BI và báo lỗi.
Khi tắt màn hình làm việc, click Not now .

• Khi quay lại làm việc, vào Home > Transform Data để mở màn hình Query Editor.
2. Một số lưu ý (tt)
Dữ liệu nguồn nên được lưu ở 1 thư mục cố định

• Không nên thay đổi nơi lưu dữ liệu nguồn. Vì khi cập nhật lại dữ liệu, Power BI
sẽ báo lỗi.
• Nếu dữ liệu nguồn thay đổi giá trị, hoặc thêm bớt file, từ màn hình chính của
Power BI vào Home > Refresh để cập nhật lại dữ liệu.

• Việc Refresh này sẽ mất thời gian nên chỉ thực hiện khi dữ liệu nguồn thay đổi
giá trị.
Thực hành: Kết nối và xử lý dữ liệu đầu vào
Kết nối dữ liệu
• Excel: periods.xlsx
• Folders: sale_2021

Xử lý dữ liệu
- Thao tác trên màn hình Query Editor
• Đổi tên Table
• Xử lý các dòng, cột vô nghĩa - Click Close & Apply để load data vào Power BI
• Xử lý kiểu dữ liệu (data type)

File hướng dẫn : Phần_1_Kết_nối_Xử_lý_Data_V1.docx


3. Xây dựng báo cáo
• Dữ liệu
• Mô hình quan hệ dữ liệu
• Thiết kế báo cáo, biểu đồ
3.1 Dữ liệu đã hoàn thiện để xây dựng
report (Data)
3.1 Dữ liệu đã hoàn thiện
Dữ liệu sau khi xử lý hoàn thiện, sẽ load vào màn hình chính của Power BI. Click Data
để xem lại.

Vùng thể hiện


dữ liệu

Danh sách
bảng, field,
measure
3.1 Phân biệt các thành phần ở vùng Fields
Bảng dữ liệu

Cột kiểu số

Measure: chỉ số được tính toán từ việc tổng hợp dữ liệu trên bảng

Calculated Column: các cột được thêm mới sau này, giá trị tham chiếu theo từng dòng
trên bảng

Cột mới với dữ liệu được gom nhóm theo các tiêu chí do người dùng định nghĩa.

Cây phân cấp dữ liệu do người dùng tự định nghĩa, căn cứ trên các cột dữ liệu có sẳn

Cột dữ liệu khác: không có ký hiệu đặc biệt phía trước.

Lưu ý: Nếu dữ liệu nguồn thay đổi giá trị, click vào Home > Refresh để cập nhật lại dữ
liệu trên Power BI
3.1 Calculated Columns (cột tính toán)

Calculated columns là cột mở rộng của bảng. Mỗi giá trị trong cột này được tính
toán trong ngữ cảnh tham chiếu đến các giá trị có sẳn ở mỗi dòng dữ liệu trong
bảng.
• Dữ liệu của Calculated columns được tính toán trong quá trình tạo cột và được lưu trữ trong
mô hình.
• Calculated columns giống như tất cả các cột trong bảng, có thể sử dụng trên báo cáo, hoặc
dùng để tạo mối quan hệ với các bảng khác trong mô hình.
• Việc thêm Calculated columns ở màn hình chính Power BI khác với thêm cột ở màn hình
Query Editor. Nó linh động hơn, có thể áp dụng các biểu thức DAX, công thức tính toán phức
tạp. Việc thêm cột ở màn hình Query Editor mang tính chất xử lý dữ liệu dựa trên các công cụ
sẳn có, không dùng DAX.
3.1 Measures (Chỉ số)

Measure là chỉ số được tính toán trong ngữ cảnh tổng hợp giá trị của nhiều
dòng trong 1 bảng.
• Sử dụng Measure khi cần làm việc trên các giá trị tổng hợp. Ví dụ: Tổng doanh thu, tỷ
lệ % tăng trưởng doanh thu qua các năm.
• Measure không được lưu trữ trong mô hình. Các tính toán của Measure được thực
hiện khi người dùng tương tác với báo cáo.
• Mỗi measure cần được xác định trong một bảng. Tuy nhiên, thực tế, ta có thể di
chuyển measure ra khỏi bảng mà không làm mất chức năng của nó.
3.1 So sánh Calculated Column và Measure

Calculated Column Measure

• Giá trị được tính toán tham chiếu theo • Giá trị được tính toán dựa vào các kết
dòng quả lọc từ dữ liệu trong bảng.
• Được lưu trong mô hình dữ liệu. • Không lưu trong mô hình
• Giá trị được cập nhật khi nguồn dữ liệu
thay đổi • Cập nhật khi thay đổi điều kiện truy
vấn dữ liệu
• Thường được sử dụng trong các trục
của biểu đồ, để đặt kết quả tính toán • Thường sử dụng trong các vùng giá trị
vào biểu đồ slicers, để làm điều kiện của biểu đồ
lọc (filter) trong các biểu thức DAX
khác
3.1 Tạo mới Measure và Column
Option 1: Chọn “New Measure” hoặc “New Option 2: Vào màn hình Data, chọn bảng,
Column” trong tab Home, màn hình Data right click, hoặc chọn trên tab Fields

Measure hoặc Column sẽ được thêm vào


bảng đang chọn. Giá trị của Measure và
Column được xác định bằng biểu thức DAX

NOTE: Có những trường hợp dùng Measure hay Calculated


Column đều được. Nếu không quan tâm đến kích thước của mô
hình dữ liệu, đơn giản, ta chỉ cần chọn phương pháp phù hợp với
bản thân.
3.2 Tạo Data Model
(Tạo mô hình quan hệ dữ liệu)
3.2 Data Model là gì?
Data Model là mô hình quan hệ dữ liệu. Trong đó, các bảng liên kết với nhau bằng các quan hệ thông qua
các cột dữ liệu (gọi là khóa chính và khóa ngoại).

Click vào để xem mô hình


quan hệ giữa các bảng
3.2 Các thành phần trong Data Model
• Bảng dữ liệu: là bảng chứa các dữ liệu chi tiết. Ví dụ: dữ liệu bán hàng, thông tin giao
dịch…
• Bảng danh mục: là bảng chứa các dữ liệu danh mục, mỗi dòng dữ liệu trong bảng
phải là duy nhất. Ví dụ: thông tin về sản phẩm, nguyên liệu, vật tư, thời gian.
• Khóa chính: là cột chứa các giá trị tương tự như mã định danh cho từng dòng dữ liệu
trong bảng (thường là bảng danh mục).
• Khóa ngoại: là dữ liệu khóa chính của 1 bảng danh mục được lưu trong 1 bảng khác,
nhằm tạo sự liên kết với bảng đó
• Quan hệ: là mối liên kết giữa 2 bảng với nhau thông qua khóa chính và khóa ngoại.
• Lưu ý: Thông thường, tên của các cột khóa ngoại thường giống khóa chính để dễ nhận diện quan hệ.
Tuy nhiên, cũng có trường hợp đặt tên không giống. Điều này yêu cầu phải hiểu dữ liệu để tạo quan hệ
giữa các bảng cho đúng.
3.2 Các loại Quan hệ
• 1 - * một – nhiều (phổ biến): 1 giá trị dữ liệu trong bảng danh mục
có thể xuất hiện nhiều lần trong bảng dữ liệu.

Ví dụ: bảng ITEM và bảng TRANSACTION phản ánh mối quan hệ: 1 item
có thể tham gia trong 1 hoặc nhiều giao dịch (transaction)

• * - * nhiều – nhiều (lặp dữ liệu, ít dùng): 1 giá trị dữ liệu có thể xuất
hiện nhiều lần trong cả bảng danh mục và bảng dữ liệu.

Hạn chế tạo các quan hệ nhiều nhiều, vì khó theo dõi và kiểm soát dữ
liệu.

• 1 – 1 một – một (lặp dữ liệu, ít dùng): 1 giá trị dữ liệu chỉ xuất hiện 1
lần trong cả 2 bảng quan hệ.
3.2 Tạo và chỉnh sửa thuộc tính của quan hệ
Option 1: Chọn 1 bảng cần tạo quan hệ với các bảng Option 2: Click vào Manage relationships để tạo và
khác. Click và kéo khóa chính hoặc khóa ngoại đến nhận dạng relationships.
bảng còn lại. Double click lên các mũi tên chỉ quan
hệ để chỉnh sửa thuộc tính
3.2 Một số lưu ý
Xây dựng 1 Mô hình dữ liệu quan hệ tiêu chuẩn ngay từ đầu
• Đảm bảo mỗi bảng là 1 bảng riêng biệt, có mục đích cụ thể.
• Sử dụng quan hệ thay cho Merge table vì bảng dài và hẹp luôn tốt hơn bảng ngắn và rộng. Thời gian truy
vấn dữ liệu sẽ nhanh hơn.

Tránh tạo những quan hệ phức tạp, không rõ ràng nếu không cần thiết.

Ví dụ: quan hệ nhiều nhiều. Khi tạo các Measure hay trình bày dữ liệu lên biểu đồ, quan hệ nhiều
nhiều sẽ không cho kết quả chính xác.
Thực hành mô hình quan hệ
Các table
• Sale_2021: Doanh thu bán hàng của các sản phẩm trong năm 2021
• Period: table danh mục tổng hợp Thời gian theo kỳ (Tháng-Năm)

Chỉnh sửa thuộc tính quan hệ cho các table


 Thay đổi cột dữ liệu quan hệ giữa 2 bảng Sale_2021 và Period

File hướng dẫn: Phần_1_Kết_nối_Xử_lý_Data_V1.docx


3.3 Xây dựng báo cáo
3.3 Màn hình thiết kế báo cáo
Các loại biểu
đồ và định
dạng

Vùng hiển thị báo cáo, biểu đồ

Các trường
dữ liệu chọn
hiển thị trên
Vùng hiển thị báo cáo, biểu
điều kiện lọc đồ
dữ liệu

Các trang báo cáo

Có thể thu gọn 3 vùng này lại


3.3 Các bước để tạo 1 báo cáo
1. Lên ý tưởng thiết kế:
• Nội dung báo cáo, cách trình bày (hình ảnh, màu nền, logo…): chọn các đối tượng Textbox,
Image… từ thanh công cụ Insert
• Xác định điều kiện lọc dữ liệu: theo thời gian, theo đối tượng …: thường dùng chart Slicer ở
vùng Visualizations.
2. Chọn biểu đồ thể hiện
• Chọn các biểu đồ phù hợp từ vùng Visualizations. Nếu không có, click vào <…> để tải trên
mạng về.
3. Chọn dữ liệu hiển thị
• Chọn các trường dữ liệu, measure trong vùng Fields. Nếu không có, ta tạo mới.
• Kéo thả các cột này vào các vùng giá trị, các trục của biểu đồ. Mỗi biểu đồ sẽ có các vùng
hiển thị dữ liệu tương ứng.
4. Định dạng biểu đồ
• Click vào biểu tượng ở vùng Visualizations của biểu đồ đã chọn để định dạng phù
hợp với nhu cầu
3.3 Hiển thị dữ liệu trên biểu đồ
Mỗi biểu đồ trong vùng Visualizations thường có bảng công cụ như sau:
1. Fields - : Tùy biểu đồ, vùng này sẽ bao gồm các thành phần tương ứng. Ta kéo thả các cột ở
vùng Field của màn hình chính vào các thành phần này để hiển thị dữ liệu trên biểu đồ.
Ví dụ: Line and clustered column chart có vùng Fields gồm: Shared axis, Column series, Column
values, Line values
2. Format - : tương tự Fields, tùy biểu đồ, vùng này cũng sẽ cung cấp các công cụ để định dạng
các thành phần của biểu đồ (màu sắc, font chữ, hình dạng, tiêu đề …)
3. Analytics - : không phải biểu đồ nào cũng có công cụ này. Đây là công cụ mở rộng, cung cấp
thêm các phân tích nâng cao trên biểu đồ.
3.3 Các cấp độ lọc dữ liệu
Có 3 cấp độ lọc dữ liệu
1. Filter trên biểu đồ: xây dựng điều kiện lọc căn cứ trên các cột dữ liệu hiển thị
trên biểu đồ. Điều kiện lọc thường là: so sánh lớn hơn, nhỏ hơn 1 hạn mức cố
định hoặc lọc theo Top N…
2. Filter trên trang báo cáo: xây dựng điều kiện lọc căn cứ trên bất kỳ cột dữ liệu
nào ở vùng Fields. Điều kiện lọc này sẽ tương tác lên toàn bộ các biểu đồ trên
trang báo cáo đang làm việc.
3. Filter trên tất cả các trang báo cáo trong 1 file Power BI: xây dựng điều kiện lọc
căn cứ trên bất kỳ cột dữ liệu nào ở vùng Fields. Điều kiện lọc tương tác lên toàn
bộ các biểu đồ ở tất cả các trang báo cáo trong màn hình Power BI
3.3 Tương tác giữa các biểu đồ
Mặc định, các biểu đồ trên 1 trang báo cáo sẽ tương tác với nhau khi thay đổi điều kiện
lọc dữ liệu ở bất kỳ biểu đồ nào. Có 3 hình thức
1. Filter: click chọn dữ liệu trên 1 biểu đồ chính, điều kiện lọc này sẽ được apply lên
dữ liệu của chart được bật mode Filter.
2. Highlight: click chọn 1 dữ liệu trên biểu đồ chính, phần dữ liệu này sẽ được
highlight (tô đậm) trên các biểu đồ được bật mode Highlight.
3. None: không tương tác với các chart khác. Việc filter trên biểu đồ khác sẽ không
làm thay đổi dữ liệu hiển thị trên chart đã bật mode None
Để thiết lập tương tác giữa các biểu đồ: Click chọn 1 biểu đồ> Format > Edit Interactions. Góc phải của
mỗi biểu đồ sẽ hiển thị các biểu tượng tương đương với 3 loại tương tác ở trên:
3.3 Xem dữ liệu chi tiết trên biểu đồ (chế độ drill-down)
Power BI có định nghĩa về dữ liệu phân cấp. Ví dụ: Thời gian phân cấp theo Năm-
Quý-Tháng-Ngày. Power BI hỗ trợ hiển thị dữ liệu phân cấp này lên biểu đồ và cho
phép bật chế độ drill down để xem dữ liệu ở các cấp tùy chọn.
• Click chọn biểu đồ, ở góc phải biểu đồ click để bật chế độ drill-down. Thanh
công cụ ở góc phải biểu đồ lúc này sẽ như sau:
• Click vào để xem dữ liệu ở phân cấp chi tiết tiếp theo. Ví dụ: dữ liệu năm 
dữ liệu quý.
• Click vào để xem dữ liệu ở phân cấp chi tiết nhất. Ví dụ: dữ liệu năm  dữ
liệu ngày.
• Click để quay lại dữ liệu ở phân cấp phía trên. Ví dụ: dữ liệu quý  dữ liệu
năm.
3.3 Các layout của báo cáo
Có 2 loại:
• Trình bày báo cáo theo layout của màn hình desktop
• Trình bày báo cáo theo layout của màn hình điện thoại
Thực hành xây dựng báo cáo
Tạo các Measure
Tạo cây dữ liệu phân cấp
Thực hành với 1 số biểu đồ cơ bản:
 Hiển thị dữ liệu
 Định dạng biểu đồ
 Tìm hiểu các cấp độ lọc trên biểu đồ, báo cáo
 Tìm hiểu về sự tương tác giữa các biểu đồ

Publish và share báo cáo

File hướng dẫn:


- Phần_2_Phân_tích_dữ_liệu.docx
- Phần_3_Publish_report.docx
Sử dụng DAX trong Power BI
DAX là gì?
DAX 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à các hàm trong Power BI.
• Tuy nhiên, 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.
Có 2 cách để sử dụng DAX

Calculated Columns Measures


03 yếu tố quan trọng của DAX

Syntax (cú pháp) – Function (chức năng) – Context (ngữ cảnh)


• Syntax là cú pháp cần phải biết trước khi viết các công thức tính toán.
Ví dụ: Bar = SUM(Sales[Revenue])
• Function là các công thức tính toán đã được xây dựng sẳn, yêu cầu các giá trị đầu vào và trả về các giá
trị cụ thể.
Ví dụ: PY Sales = CALCULATE(SUM(Sales[Revenue]),SAMEPERIODLASTYEAR('Date'[Date]))
• Context là ngữ cảnh sử dụng DAX. Có 2 loại Context:
 Row Context: tính toán tham chiếu theo dòng dữ liệu
 Filter Context: tính toán dựa trên các kết quả lọc từ dữ liệu
So sánh DAX và hàm của Excel

DAX Hàm của Excel

• Thường quy định kiểu dữ liệu đầu vào • Thường không quy định, nếu sai thì
• Chỉ tham chiếu theo Cột hoặc Bảng báo lỗi.
• Kết quả trả về có thể là giá trị, hoặc • Tham chiếu theo Ô-vùng, cột – bảng
bảng • Kết quả trả về là 1 giá trị
• DAX yêu cầu tạo ra các mối quan hệ • Có thể làm việc với các bảng độc lập
giữa các bảng để sử dụng
Các hàm DAX phổ biến (tham khảo)
Tài liệu tham khảo: https://docs.microsoft.com/en-us/dax/dax-function-reference
Cấu trúc của DAX
TÊN MEASURE
• Note: Measure luôn ở trong dấu []
khi tham chiếu đến công thức nên có Tên COLUMN tham chiếu
thể sử dụng khoảng trắng trong tên
Measure

VanArsdel Sales = CALCULATE(SUM(Sales[Revenue]),Manufacturer[ManufacturerID]=7)

HÀM (Function)
• Note: Measure luôn phải sử dụng
hàm để tính toán giá trị. Calculation Tên TABLE tham chiếu
column có thể sử dụng hàm hoặc
không.
Dấu trong DAX
Loại số học Ý nghĩa Ví dụ Loại so sánh Ý nghĩa Ví dụ
+ Cộng 5+2 = Bằng [ManufacturerID]=7
- Trừ 7–3 > Lớn hơn [Unit] > 1
* Nhân 3*4 < Nhỏ hơn [Revenue] < 89
/ Chia 9/3 >= Lớn hơn hoặc bằng [Unit] > =1
^ Mũ 2^5 <= Bé hơn hoặc bằng [Revenue] <= 89
<> Khác [Unit] <> 1

Loại Text/Logic Ý nghĩa Ví dụ


& Nối 02 giá trị dạng text thành 01 giá trị [Zip] & "|“ & [Country]
&& Tạo 1 điều kiện VÀ giữa 2 biểu thức [ManufacturerID]=7 && [ProductID]=1076
|| Tạo 1 điều kiện HOẶC giữa 2 biểu thức [ManufacturerID]=7 || [ProductID]=1076
IN Tạo 1 điều kiện HOẶC logic dựa trên danh sách đã cho [ProductID] IN {1076, 1078, 1086}
Các nhóm hàm DAX phổ biến
MATH & STATS LOGICAL TEXT FILTER DATE & TIME
Functions Functions Functions Functions Functions
Hàm tính toán cơ Hàm trả về thông tin Hàm để thao tác trên Hàm tra cứu dựa Các chức năng
bản, cũng như tính về các giá trị trong các chuỗi văn bản trên các bảng và ngày và giờ cơ bản
toán trên vòng lặp sử biểu thức dựa trên hoặc định dạng cho các hàm lọc để cũng như các hàm
dụng Row context điều kiện đã cho ngày, giờ và số tính toán thời gian nâng cao
Ví dụ Ví dụ Ví dụ Ví dụ Ví dụ
• SUM • IF • CONCATENATE • CALCULATE • DATEDIFF
• AVERAGE • IFERROR • FORMAT • FILTER • YEARFRAC
• MAX/MIN • AND • LEFT/MID/RIGHT • ALL • YEAR/MONTH/DAY
• DIVIDE • OR • UPPER/LOWER • ALLEXCEPT • HOUR/MINUTE/SECOND
• COUNT/ COUNTA • NOT • PROPER • RELATED • TODAY/NOW
• COUNTROWS • SWITCH • LEN • RELATEDTABLE • WEEKEND/WEEKNUM
• DISTINCTCOUNT • TRUE • SEARCH/FIND • DISTINCT Time Intelligence
• SUMX • FALSE • REPLACE • VALUES • DATESYTD
• AVERAGEX • REPT • EARLIER/EARLIEST • DATESQTD
• MAXX/MINX • SUBSTITUTE • HASONEVALUE • DATESMTD
• RANKX • TRIM • HASONEFILTER • DATEADD
• COUNTX • UNICHAR • ISFILTERED • DATESINPERIOD
• USERELATIONSHIP
Hàm MATH cơ bản

SUM() Trả về kết quả là 1 tổng =SUM(ColumnName)

Trả về trung bình (trung bình số học) của


AVERAGE() tất cả các số trong 1 cột
=AVERAGE(ColumnName)

MAX() Trả về giá trị lớn nhất trong 1 cột =MAX(ColumnName) hoặc =MAX(Scalar1, [Scalar2])

MIN() Trả về giá trị nhỏ nhất trong 1 cột =MIN(ColumnName) hoặc =MIN(Scalar1, [Scalar2])

Thực hiện phép chia và trả về kết quả


DIVIDE() thay thế (hoặc để trống) nếu div/0
=DIVIDE(Numerator, Denominator,[AlternateResult] )
Hàm “X”
SUMX() Cho phép tính toán giá trị dữ liệu trên mỗi hàng của một bảng, sau đó áp dụng công thức để
MAXX()… tính giá trị của toàn bảng

=SUMX(Table, Expression)
Tên hàm
Bảng mà trong đó công thức sẽ chạy Biểu thức
Ví dụ:
• SUMX
Ví dụ: Sales Ví dụ:
• COUNTX
• AVERAGEX [Revenue]
• RANKX
• MAXX/MINX DIVIDE([VanArsdel Sales],Sales[Sales])

TIP:
Tưởng tượng rằng hàm này sẽ thêm 1 cột tạm vào trong bảng, tính giá trị của dòng (dựa trên biểu
thức), sau đó tổng hợp giá trị theo hàmX
Hàm LOGICAL cơ bản

Kiểm tra điều kiện, trả về giá trị tương


IF() ứng với điều kiện TRUE, FALSE
=IF(LogicalTest, ResultIfTRUE, ResultIfFALSE)

Kiểm tra một biểu thức, nếu biểu thức


IFERROR() trả về lỗi thì trả về giá trị chỉ định, =IFERROR(Value, ValueIfError)
ngược lại trả về chính biểu thức đó

Nếu 2 đối số là TRUE thì trả về TRUE,


AND() còn lại trả về FALSE
=AND(Logical1, Logical2)
Có thể sử dụng toán tử &&
thay cho AND và || thay cho
OR, đồng thời có thể sử dụng
Nếu 2 đối số là FALSE thì trả về FALSE, với hơn 2 điều kiện
OR() còn lại trả về TRUE
=OR(Logical1, Logical2)
Hàm TEXT cơ bản

LEN() Trả về số lượng ký tự trong 1 chuỗi =LEN(Text)

CONCATENATE() Nối 2 chuỗi thành 1 =CONCATENATE(Text1, Text2)

Trả về một số ký tự đầu, giữa, cuối của =LEFT/RIGHT(Text, [NumChars])


LEFT/MID/RIGHT() chuỗi =MID(Text, StartPosition, NumChars)

UPPER/LOWER/
Đổi chuỗi thành kiểu hoa, thường, trên =UPPER/LOWER/PROPER(Text)
PROPER()

Thay một đoạn trong chuỗi bằng một


SUBTITUTE() =SUBTITUDE(Text, OldText, NewText, [InstanceNum])
chuỗi khác

Trả về vị trí của 1 đoạn ký tự trong chuỗi =SEARCH(FindText, WithinText, [StartPosition],


SEARCH() (tính từ trái sang phải) [NotFoundValue])
Nhóm hàm FILTER: CALCULATE
CALCULATE() Thực hiện một biểu thức hoặc công thức trong một điều kiện lọc

Ví dụ: VanArsdel Sales = CALCULATE(SUM(Sales[Revenue]),Manufacturer[ManufacturerID]=7)

=CALCULATE(Expression,[Filter1],[Filter2],…)

Tên của Measure đã tồn tại hoặc Các biểu thức lọc
một công thức DAX (Note: yêu cầu đơn giản, giá trị cố định; không thể tạo
filter trên một measure khác)
Ví dụ: SUM(Sales[Revenue])
Ví dụ: Manufacture[ManufacturerID]=7

TIP:
CALCULATE hoạt động tương tự SUMIF hoặc COUNTIF trong Excel, khác biệt là nó có thể tính toán
dựa trên mọi hàm đơn giản (không chỉ SUM, COUNT,…) có thể gọi dễ hiểu là “CALCULATEIF”
Nhóm hàm FILTER: ALL
ALL() Trả về tất cả các hàng trong một bảng hoặc tất cả các giá trị trong một cột, bỏ qua mọi bộ lọc

=ALL(Table hoặc ColumnName,[ColumnName1],[Column2],…)

Bảng hoặc cột muốn bỏ đi các điều Danh sách cột chi tiết muốn bỏ đi điều kiện lọc
kiện lọc
Note:
Ví dụ: Sales • Nếu tham số đầu tiên là Table, ta có thể chỉ định các cột bổ
sung.
Sales[Zip]
• Tất cả các cột phải cùng 1 Table và có tên table kèm theo

Ví dụ: Product[ProductID], Product[Category], Product[Price]


Nhóm hàm FILTER: FILTER
FILTER() Trả về một bảng gồm một tập hợp con của một bảng hoặc một biểu thức khác

=FILTER(Table, FilterExpression)
NOTE!

Tên bảng để lọc Biểu thức lọc, theo các hàng của bảng FILTER được sử dụng để thêm 1 filter
context mới, và có thể kiểm soát các điều
Ví dụ: Sales Ví dụ: Product[ProductID]=1086 kiện lọc phức tạp tốt hơn CALCULATE
Product[Category]=“MIX”
FILTER trả về kết quả là 1 bảng, nó hay
được sử dụng để tạo ra các input cho
hàm

TIP:
Vì FILTER đọc dữ liệu theo từng hàng trong bảng, tốc độ xử lý sẽ chậm hơn, do đó, không nên sử dụng
hàm này nếu CALCULATE có thể làm được chức năng tương tự
Nhóm hàm FILTER: RELATED
RELATED() Trả về các giá trị liên quan theo hàng của bảng dựa trên relationships với các bảng khác

=RELATED(ColumnName)
NOTE!
Cột chứa các giá trị ta muốn truy xuất
RELATED hoạt động gần giống hàm
VLOOKUP của Excel – nó sử dụng mối
Ví dụ: Product[Product]
quan hệ giữa các bảng để đẩy dữ liệu từ
Manufacturer[Manufacturer]
một bảng sang bảng khác như một cột
mới

TIP:
Chỉ nên dùng hàm RELATED trong measure để áp dụng hàm FILTER hoặc SUMX, hạn chế dùng
RELATED để tạo ra 1 calculated column sẽ làm tăng kích thước file.
Hàm DATE/TIME cơ bản
DAY/MONTH/ Trả về ngày trong tháng (1-31), tháng =DAY/MONTH/YEAR(Date)
YEAR() trong năm (1-12), năm của 1 ngày

HOUR/MINUTE/ Trả về giờ (0-23), phút (0-59), giây (0-59)


=HOUR/MINUTE/SECOND(Datetime)
SECOND() của 1 giá trị thời gian

TODAY/NOW() Trả về ngày /thời gian hiện tại =TODAY/NOW()

WEEKEND/ Trả về số ngày trong tuần (1-Chủ nhật,


=WEEKDAY/WEEKNUM(Date,[ReturnType])
WEEKNUM() 7-Thứ 7)/ số tuần trong năm

EOMONTH() Trả về ngày cuối cùng của tháng =EOMONTH(Startdate, Months)

Trả về chênh lệch giữa 2 ngày, dựa trên =DATEDIFF(Date1, Date2, Interval)
DATEDIFF() khoảng thời gian đã chọn
Hàm TIME INTELLIGENCE
Các hàm Time Intelligence cho phép thực hiện các tính toán so sánh thời gian phổ biến
trong phân tích dữ liệu.
Performance =CALCULATE(Measure, DATESYTD(Calendar[Date])
To-Date
Sử dụng DATESQTD cho Quý hoặc DATESMTD cho tháng

=CALCULATE(Measure, DATEADD(Calendar[Date], -1, MONTH))


Previous Period
Chọn 1 kiểu thời gian (DAY, MONTH, QUARTER, YEAR) và
chọn mốc so sánh (ví dụ: previous month, quay lại 10 ngày …)
=CALCULATE(Measure,
Running Total
DATESINPERIOD(Calendar[Date], MAX(Calendar[Date]), -10, DAY))
Thank you!

You might also like