Calculated Column và Calculated Table trong Power BI
Calculated Column và Calculated Table sử dụng cách hàm DAX để tính toán để trả về kết quả dưới dạng cột hoặc bảng.
DAX là viết tắt của cụm từ Data Analysis Expressions là tập hợp các hàm tính toán, các toán tử và các hằng số, được sử dụng để tính toán và trả về kết quả để giải quyết các tính toán dữ liệu.
Tạo Calculated Column trong Power BI
Với Calculated Column, bạn có thể tạo ra thêm cột dữ liệu mới vào một bảng đã có data modeling của bạn. Bạn có thể sử dụng công thức DAX để tính toán giá trị của cột thay vì truy vấn và tải nạp giá trị vào cột mới từ nguồn dữ liệu.
Để tạo một Calculated Column, bạn truy cập đến Table view ở thanh bên trái màn hình và chọn New column ở mục Table tools.
Sau đó bạn sẽ thấy thanh công thức xuất hiện, nơi bạn có thể nhập công thức DAX để thực hiện tính toán. Bạn cũng có thể đổi tên cột bằng cách thay đổi chữ "Column" trong thanh công thức.
Trong ví dụ dưới đây, mình tạo ra một cột mới để tính toán tuổi của các bạn học viên. Mình sẽ tạo ra cột mới, đặt tên là "Tuoi", giá trị cột này sẽ là năm hiện tại trừ cho năm sinh của các bạn học viên. Công thức như sau:
Tuoi = YEAR(NOW()) - DanhSachHocVien[NamSinhHV]
Trong đó:
- Tuoi: tên cột, nằm bên vế trái của công thức
- YEAR: Hàm DAX để trả về năm của một giá trị date time.
- NOW: Hàm DAX trả về date time hiện tại
- DanhSachHocVien[NamSinhHV]: Cột năm sinh học viên, thuộc bảng Danh sách học viên.
Kết quả nhận được như sau:
Tạo Calculated Table trong Power BI
Tương tự như Calculated Column, để tạo một Calculated Table, bạn truy cập đến Table view ở thanh bên trái màn hình và chọn New table ở mục Table tools.
Sau đó bạn sẽ thấy thanh công thức xuất hiện, nơi bạn có thể nhập công thức DAX để thực hiện tính toán cho bảng mới. Bạn phải nhập tên bảng mới ở vế bên trái của công thức (trước dấu bằng) và công thức DAX để tính toán ở vế bên phải của công thức (sau dấu bằng). Khi việc tính toán hoàn tất, bảng mới sẽ xuất hiện ở danh sách các bảng dữ liệu.
Trong ví dụ dưới đây, mình sẽ lọc ra các bạn học viên 9X, nghĩa là có năm sinh từ 1990 đến 1999 từ bảng Danh Sách Học Viên. Công thức mình nhập vào như sau:
DanhSachHocVien9x = FILTER(DanhSachHocVien,AND(DanhSachHocVien[NamSinhHV]<2000, DanhSachHocVien[NamSinhHV]>=1990))
Trong đó:
- DanhSachHocVien9x: Tên bảng của danh sách học viên 9X
- FILTER: Hàm DAX để trả về kết quả theo điều kiện lọc
- AND: Được sử dụng để kết hợp nhiều điều kiện lọc, ở đây là năm sinh < 2000 và năm sinh >= 1999.
Kết quả mình nhận được sẽ như sau:
Bình luận