Posted on Leave a comment

DYNAMIC MEASURE trong Power BI

Dynamic measure

Trong xây dựng báo cáo, từ dữ liệu có sẵn, chúng ta có thể tạo ra nhiều chỉ số có ý nghĩa để có những đánh giá toàn diện hơn. Các chiều dữ liệu đóng vai trò context. Chúng ta đưa chỉ số vào trong các context cụ thể để tạo nên những visual khác nhau. Giả sử có n chỉ số và m chiều phân tích, chúng ta có thể kết hợp để tạo ra tối thiểu n x m visual. Chúng ta muốn thể hiện trong cùng 1 page báo cáo, tuy nhiên báo cáo trở nên rối, chiếm nhiều không gian và cảm giác lặp lại. Dynamic Measure là 1 tip hay để xử lý tình huống này.

Trong bài này, Datapot giới thiệu đến người đọc cách sử dụng Dynamic measure trong Power BI.

Download file Power BI Tại đây

(Tham khảo Các thao tác đơn giản để tạo báo cáo trên Power BI cho người mới bắt đầu Tại đây)

(Tham khảo Cách xây dựng Cohort Analysis trên Power BI Tại đây)

Xây dựng Dynamic Measure trên Power BI.


Giả sử chúng ta có một bảng dữ liệu có tên là “SalesTable” bao gồm 2 cột:
Customerkey: Cột chứa key định danh cho mỗi khách hàng mua dịch vụ.
OrderDate: Ngày ngày hàng có đặt hàng dịch vụ
Mỗi dòng dữ liệu là 1 giao dịch bán hàng.
Ngoài ra ta cũng có 1 bảng “Date”, có relationship với bảng “SalesTable” thông qua cột DateOrderDate

2 bảng trong Dynamic measure
Mối quan hệ giữa bảng Date và bảng SalesTable

Chúng ta có 2 chỉ số được tính toán như sau:  

  • Số lượng khách hàng  

No.Customers = DISTINCTCOUNT(‘SalesTable'[Customerkey]) 

  • Số lượng giao dịch  

No.Orders = COUNTROWS(SalesTable) 

Thông thường, chúng ta tạo ra 2 biểu đồ để thể hiện được số lượng khách hàng theo từng tháng và số lượng order theo từng tháng:

2 biểu đồ theo tháng
Biểu đồ để thể hiện được số lượng khách hàng theo từng tháng và số lượng order theo từng tháng

Tuy nhiên, chúng ta có thể có thể sử dụng Dynamic measure để kết hợp chúng lại trong 1 visual duy nhất, và sử dụng Slicer để lựa chọn visual sẽ hiển thị theo chỉ số nào.

Để tạo dynamic measure, chúng ta sẽ làm lần lượt các bước sau:  

Bước 1: Tạo 1 bảng đặt tên là “Disconnected_table”, bảng này có 2 cột là “id” và cột “measure”.

Trong đó cột “measure” có giá trị là tên các measure mà chúng ta muốn thể hiện trong báo cáo. Cụ thể, ở đây là 2 measure No.CustomersNo.Orders. Cột “id” là thứ tự xuất hiện của từng measure.  

Sử dụng luôn tùy chọn Enter data trong Power BI. Lưu ý trong cột measure, chúng ta không nhất thiết phải đặt tên giống hệt tên measure, có thể đặt khác đi nhưng phải đảm bảo ý nghĩa để end user sử dụng sau này. Ví dụ thay vì “No.Customers” chúng ta gõ “Number of Customers”.

Bước 1 tạo Dynamic measure
Bảng Disconnected _table

Bảng “Disconnected_table” không cần tạo relationship với các bảng khác trong data model.

Bước 2: Sort cột measure theo cột id

Sort cột measure theo cột id
Sort cột measure theo cột id

Bước 3: Tạo 1 measure điều khiển chỉ số xuất hiện trong visual.

Dynamic_measure =
IF(HASONEVALUE(Disconnected_table[measure]),
SWITCH(TRUE(),
VALUES(Disconnected_table[measure]) = “No.Customers”, [No.Customers],
VALUES(Disconnected_table[measure]) = “No.Orders”, [No.Orders]
))

Bước 4: Tạo Slicer sử dụng để lựa chọn chỉ số xuất hiện trong visual thông qua cột measure trong bảng.

Slicer
Lựa chọn chỉ số xuất hiện trong visual

Bước 5: Tạo visual, ví dụ thể hiện chỉ số theo tháng. Trong tùy chọn Values, ta kéo “Dynamic measure” vào.

Kéo Dynamic measure  vào Values
Kéo Dynamic measure vào tùy chọn Values

Như vậy ta đã hoàn thành xong Dynamic measure.

Tuy nhiên có 1 vấn đề là title của chart chưa được dynamic. Để xử lý, ta có 1 số bước sau:

⦁ Bước 1: Trong bảng “Disconected_table”, ta tạo thêm 1 cột mới là “title”.

Cột này sẽ sử dụng để điều khiển title của visual.
title = SWITCH(Disconnected_table[measure], “No.Customers”, “Number of Customers by Month”, “Number of Orders by Month”)
Chúng ta có thể tạo ra cột title ngay từ đầu khi tạo bảng “Disconnected_table

⦁ Bước 2: Trong tùy chọn Title ở phần Format. Ta chọn biểu tượng fx

Tùy chọn Title
Tùy chon Title ở Format

Tại hộp thoại Title text, tại Based on filed, chọn cột “title” trong bảng “Disconnected_table

Chọn cột Title
Chọn cột “title” trong bảng “Disconnected_table

Kết quả ta được

Tham khảo kết quả tại: Dynamic measure report


Ví dụ trên chúng ta chỉ có 2 measure, trong bài toán thực tế, các bạn có thể tạo ra dynamic measure gồm nhiều loại measure khác nhau.

Nội dung sắp tới, chúng ta sẽ cùng nghĩ cách để có thể thực hiện conditional formating với những visual đang sử dụng dynamic measure.

Tham gia group ôn thi DA-100 tại: https://www.facebook.com/groups/da100vn
Chuỗi Video Hướng dẫn thực hành Lab và sử dụng các tài nguyên của Microsoft: https://www.youtube.com/c/Datapotvn/videos
Update tài nguyên từ Microsoft, DA-100 exam questions và exam topics tại Fanpage của Datapot: https://www.facebook.com/DatapotAnalytics/

Khóa học Ôn thi DA-100
Combo khóa học dành cho các bạn Fresher
Leave a Reply

Your email address will not be published. Required fields are marked *