DAX CƠ BẢN: HÀM ISBLANK-CÁCH SỬ DỤNG VÀ VÍ DỤ CỤ THỂ

DAX CƠ BẢN: HÀM ISBLANK – CÁCH SỬ DỤNG VÀ VÍ DỤ CỤ THỂ

Ngày đăng: 15/05/2024

Hàm ISBLANK không chỉ là bước khởi đầu trong quá trình xử lý dữ liệu, mà còn được áp dụng trong quá trình lọc và tính toán. Trong bài viết hôm nay, chúng ta sẽ cùng nhau tìm hiểu về ISBLANK thuộc nhóm hàm Information, từ các trường hợp sử dụng cụ thể đến những lưu ý quan trọng trong quá trình áp dụng.

Phân biệt giữa NULL với BLANK và ô trống

 

NULL

BLANK

Ô TRỐNG

Định nghĩa

Là trạng thái không xác định giá trị dữ liệu

Là dạng không có giá trị, tương đương với ô công thức trong Excel là = “”, hoặc có thể bằng 0

Là một ô trong bảng dữ liệu mà không có giá trị nào được nhập vào

Hiển thị giá trị

Null không xuất hiện trên Power BI, chỉ xuất hiện trên Query Editor

Trong Query Editor, dữ liệu Blank dạng Date và Numeric sẽ biến thành Null, trong khi dữ liệu dạng Text vẫn là Blank

Ô trống chỉ có ở dạng Text còn ở các dạng dữ liệu khác như Date, Whole number,… Power BI sẽ tự động gán là giá trị 0

Chi tiết cách upload file để xuất hiện Null, Blank, mọi người tham khảo tại bài viết sau nhé: https://datapot.vn/tu-hoc-power-bi-10-tim-hieu-cach-lam-sach-du-lieu/

Mục đích sử dụng hàm ISBLANK

ISBLANK là một hàm được sử dụng khá phổ biến trong Power BI. Hàm ISBLANK có tác dụng giúp người dùng kiểm tra xem cột có chứa giá trị rỗng (blank) và dữ liệu không xác địnḥ (null) hay không.

Cú pháp hàm ISBLANK

  • Cú pháp

= ISBLANK([Giá trị kiểm tra])

  • Giải thích:
[Giá trị kiểm tra] có thể là 1 giá trị cụ thể hoặc 1 biểu thức (mà có thể trả về Blank, Null, để trống hoặc giá trị cụ thể) cần kiểm tra.

  • Giá trị trả về sử dụng hàm ISBLANK:

[giá trị kiểm tra]

Giá trị trả về

Chứa dữ liệu

FALSE

Blank

TRUE

Null

TRUE

Ô trống (dạng Text)

FALSE

Trường hợp cụ thể sử dụng hàm ISBLANK

Để hiểu rõ và vận dụng hàm ISBLANK trong Power BI một cách thành thục, chúng ta sẽ cùng đi vào thực hành các trường hợp phổ biến sử dụng hàm ISBLANK:

  • Trường hợp 1: Sử dụng hàm ISBLANK để tìm ô giá trị trống trong cột
  • Trường hợp 2: Sử dụng hàm ISBLANK kết hợp hàm IF hoặc SWITCH để̀ gán giá trị trống
  • Trường hợp 3: Tính toán trên cột có giá trị trống (bài toán tăng trưởng)

Trường hợp 1: Sử dụng hàm ISBLANK để tìm ô giá trị trống trong cột

Cách 1: Không dùng hàm DAX

Bước 1: Mở bảng Sales, trong Table View, kiểm tra 2 cột dữ liệu ‘Order Quantity’, ‘Unit Price’ ta thấy có giá trị Blank

Không dùng ISBLANK tìm ô giá trị trống trong cột

Bước 2: bỏ chọn tất cả bằng cách chọn (Select all), sau đó chỉ chọn (Blank)

Kết quả sẽ hiển thị các dòng có ô giá trị ‘Order Quantity’ là Blank

tìm giá trị Blank

Thao tác tương tự với cột ‘Unit Price’

Cách 2: Dùng hàm ISBLANK

  • Trong thẻ Table tools chọn New Column
  • Nhập hàm DAX
Check =
ISBLANK ( Sales[Order Quantity] )
Dùng hàm ISBLANK

Kết quả:

Thao tác tương tự với cột ‘Unit Price’

Trường hợp 2: Sử dụng hàm ISBLANK kết hợp hàm IF hoặc SWITCH để̀ gán giá trị trống

Trong cột ‘Order Quantity’ và ‘Unit Price’ ta muốn thay thế giá trị (Blank) bằng 0 thì lần lượt thao tác như sau

  • Trong thẻ Table tools chọn New Column
  • Nhập hàm DAX
Quantity =
IF ( ISBLANK ( Sales[Order Quantity] ), 0, Sales[Order Quantity] )

Giải thích hàm DAX: Nếu giá trị trong cột Order Quantity là ‘Blank’ thì thay bằng giá trị 0, ngược lại, nó sẽ trả về giá trị của cột đó

Kết quả:

Sử dụng hàm ISBLANK kết hợp hàm IF để̀ gán giá trị trống

Thao tác tương tự với cột ‘Unit Price’

Hoặc có thể dùng hàm SWITCH để thay giá trị trống bằng giá trị khác

  • Nhập hàm DAX
Buying Status =
SWITCH (
    TRUE (),
    ISBLANK ( Sales[Order Quantity] ), "Not buy",
    Sales[Order Quantity] < 3, "Buy less",
    Sales[Order Quantity] >= 3, "Buy a lot"
)

Giải thích hàm DAX: Nếu giá trị trong cột Order Quantity là ‘Blank’ thì thay bằng giá trị “Not buy”, nếu [Order Quantity] <3 thì nhập “Buy less”, [Order Quantity] >= 3 thì nhập ” Buy a lot “

Kết quả:

Sử dụng hàm ISBLANK kết hợp hàm SWITCH để̀ gán giá trị trống

Trường hợp 3: Tính toán trên cột có giá trị trống (Bài toàn tăng trưởng)

Hiện tại ta đang có cột tổng doanh thu theo từng Order: [Line Total]

Bước 1: Tạo cột [Line PY]: Doanh thu năm trước

Tạo measue [Total revenue]:

Total revenue =
SUM ( Sales[Line Total] )

Tạo measue [Line PY]:

Line PY =
CALCULATE ( [Total revenue], DATEADD ( 'Calendar'[Date], -1, YEAR ) )
Bài toàn tăng trưởng

Bước 2: Tạo cột [Growth]: % Doanh thu tăng trưởng so với cùng kỳ năm trước

Growth =
DIVIDE ( [Line PY], [Total revenue] ) - 1

Kết quả:

Ta thấy trong cột [Growth] có giá trị âm -100% và đây là giá trị chúng ta không mong muốn khi thể hiện % tăng trưởng. Để giải quyết vấn đề trên, chúng ta sẽ sử dụng kết hợp hàm ISBLANK:

Growth =
IF (
    ISBLANK ( [Line PY] ),
    BLANK (),
    DIVIDE ( [Line PY], [Total revenue] ) - 1
)

Giải thích:

Nếu giá trị trong [Line PY] là Blank, thì biểu thức sẽ trả giá trị trống, ngược lại sẽ rả về kết quả của biểu thức tính toán ( DIVIDE([Line PY],[Total revenue]) -1)

Kết quả:

Tạm kết

Trên đây là hàm ISBLANK thường được dùng trong Power BI cũng như trong công việc của Data Analyst. Việc làm chủ các công thức DAX thường sử dụng sẽ giúp bạn giải quyết được tương đối các bài toán kinh doanh với vai trò của một Data Analyst.

Chia sẻ bài viết này

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

This site uses Akismet to reduce spam. Learn how your comment data is processed.