Hàm lọc các sản phẩm theo từng top năm 2024

DAX [Data Analysis Expression] là một tập hợp các hàm, toán tử và hằng số có thể được dùng trong một công thức hoặc biểu thức, để tính toán và trả về một hoặc nhiều giá trị. DAX có rất nhiều hàm, nhưng về cơ bản chúng được chia thành các nhóm chính như sau:

  • Date and Time
  • Time Intelligence
  • Information
  • Logical
  • Mathematical
  • Statistical
  • Text
  • Parent/Child

Tuy nhiên trong thực tế, chúng ta cũng không sử dụng hết tất cả các hàm DAX sẵn có, đa phần trong quá trình làm việc, chúng ta sẽ chỉ sử dụng một số hàm DAX phổ biến mà thôi.

Trong bài viết này, Datapot sẽ chia sẻ tới các bạn các hàm DAX thường được sử dụng nhiều nhất trong công việc của một Data Analyst. Ngoài ra, các bạn có thể tải file Power BI mẫu chúng mình đặt ở cuối bài viết để tham khảo và thực hành theo nhé.

Mục lục

Hàm CALCULATE

Mục đích sử dụng

Hàm CALCULATE được xem là hàm DAX linh hoạt và quan trọng bậc nhất của Power BI bởi khả năng điều chỉnh ngữ cảnh bộ lọc trong phép tính toán, từ đó giúp chúng ta triển khai được các công thức và phép tính phức tạp. Hàm này trả về một giá trị sau khi tính toán theo biểu thức và các bộ lọc được viết trong công thức.

Use cases

Hàm CALCULATE là một hàm được sử dụng rất linh hoạt và có thể đáp ứng được nhiều nhu cầu sử dụng điển hình như: tính toán chỉ số doanh thu, lợi nhuận, chi phí,… theo nhiều bộ lọc khác nhau, kết hợp cùng các hàm khác để tính toán theo nhiều ngữ cảnh,…

Syntax

CALCULATE[[,][,][,…]]

Hàm CALCULATE sẽ hiển thị cú pháp như sau, với điều kiện bắt buộc phải có là [Expression]:

Ví dụ

Sử dụng hàm CALCULATE để tính lợi nhuận của một vùng kinh doanh.

Chúng ta có bảng sau thể hiện lợi nhuận của các vùng kinh doanh:

Do chỉ có nhu cầu lấy dữ liệu về lợi nhuận của “France”, chúng ta viết công thức sau:

Kết quả:

Khi kết hợp với hàm FILTER, Power BI sẽ sử dụng bộ lọc trong hàm FILTER để tiến hành tính toán và trả ra kết quả duy nhất là lợi nhuận của France, nhưng sẽ không ghi đè lên các dòng dữ liệu của các vùng kinh doanh khác.

Trong trường hợp chúng ta muốn so sánh lợi nhuận giữa các vùng với France, chúng ta không cần sử dụng hàm FILTER, mà chỉ cần dùng bộ lọc sẵn có của hàm CALCULATE như sau:

Kết quả:

Ngoài những cách sử dụng trên, hàm CALCULATE còn được sử dụng kết hợp với rất nhiều hàm khác để ứng dụng trong nhiều bài toán khác nhau. Chúng ta sẽ cùng nghiên cứu một số cách ứng dụng chi tiết hơn của hàm này trong những bài viết tiếp theo.

Đọc thêm về cách sử dụng và ứng dụng của hàm CALCULATE.

Hoặc bạn có thể xem video hướng dẫn chi tết về cách sử dụng hàm CALCULATE tại kênh YouTube của Datapot.

Hàm FILTER

Mục đích sử dụng

Hàm FILTER là một hàm DAX được sử dụng để thêm điều kiện lọc theo dòng. Kết quả trả về của hàm FILTER là một bảng [hoặc một bảng chứa một hoặc nhiều cột] chứa các giá trị thỏa mãn điều kiện lọc. Do đó, hàm FILTER không được sử dụng một cách độc lập như 1 công thức mà thường được sử dụng kết hợp với các hàm khác cần sử dụng tới một bảng chứa các giá trị đã được lọc.

Use cases

Một số trường hợp sử dụng hàm FILTER phổ biến có thể kể đến như: lọc dòng trong bảng theo một số điều kiện, tạo bảng gồm các giá trị được lọc và kết hợp trong các công thức để tính toán giá trị,…

Syntax

FILTER[,] 

Cú pháp trong Power BI desktop như sau, cả 2 điều kiện bảng và bộ lọc đều là bắt buộc khi sử dụng hàm này: [FILTER_1]

Như đã giải thích ở trên, hàm FILTER trả ra kết quả là một bảng, khi sử dụng độc lập để viết measure, PBI sẽ báo lỗi:

Tuy nhiên chúng ta có thể sử dụng hàm FILTER để tạo ra một bảng mới chứa các giá trị thỏa mãn điều kiện lọc:

Ví dụ

Trong phần trên, chúng ta đã biết cách sử dụng hàm FILTER kết hợp với hàm CALCULATE. Hàm FILTER còn có thể được sử dụng với nhiều điều kiện lọc bằng cách kết hợp toán tử AND [dấu &&], OR [dấu ||].

Ví dụ 1: Tính lợi nhuận của các loại sản phẩm có chi phí sản xuất nhỏ hơn 5 và thuế nhỏ hơn 5.

Chúng ta nhận thấy kết quả của công thức có sử dụng hàm FILTER có sự khác biệt lớn với công thức tính lợi nhuận không sử dụng hàm filter. Công thức này chỉ tính tổng chi phí của các loại sản phẩm có chi phí nhỏ sản xuất nhỏ hơn 5 và thuế nhỏ hơn 5.

Lưu ý khi sử dụng

Hàm FILTER chỉ trả kết quả lọc theo dòng, không lọc theo cột. Trong trường hợp cần lọc theo cột, chúng ta có thể sử dụng hàm SELECTCOLUMNS, ADDCOLUMNS,…

Đọc thêm về phân biệt giữa hàm FILTER và hàm FILTERS

Hàm ALL

Mục đích sử dụng

Hàm ALL là một hàm DAX được sử dụng để loại bỏ hoặc điều chỉnh các điều kiện lọc. Hàm ALL trả ra kết quả là một bảng dữ liệu, do đó hàm này không thể sử dụng độc lập trong measure mà cần sử dụng kết hợp với các hàm có điều kiện cho phép sử dụng bảng. Hàm này có thể sử dụng để tạo ra một bảng mới.

Use cases

Hàm ALL thường được sử dụng để tính tỉ lệ phần trăm đóng góp của một yếu tố trong tổng thể. Ví dụ chúng ta cần tính tỉ lệ phần trăm lợi nhuận của một sản phẩm so với tổng lợi nhuận, tỉ lệ phần trăm chi phí sản xuất của một loại sản phẩm so với tổng chi phí,…

Hàm ALL cũng thường được sử dụng để kiểm soát tương tác giữa các bộ lọc. Hàm ALL rất tiện dụng trong trường hợp chúng ta cần hạn chế một số bộ lọc để không ảnh hưởng tới kết quả tính toán cuối cùng.

Syntax

Hàm ALL có cú pháp như sau:

ALL[]

Hoặc

ALL[[,

Chủ Đề