Nhã Linh
Nhã Linh PRO
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 1462 lượt xem

Hướng dẫn sử dụng hàm IF trong Power BI đi kèm ví dụ

Sep 25 2021

Cho dù là trong Excel hay Power BI, hàm IF vẫn luôn là một trong các hàm phổ biến nhất đối với người dùng. Ngay cả khi bạn mới bắt đầu với kiến thức cơ bản về Power BI, mình tin rằng bạn sẽ chỉ mất 5 phút để nắm được cách phân tách dữ liệu theo điều kiện bằng hàm IF trong Power BI. Cùng Gitiho tìm hiểu ngay nhé!

PBIG01 - Thành thạo Microsoft Power BI để trực quan hóa và phân tích dữ liệu

Trong Power BI, hàm IF được sử dụng với 2 hình thức khác nhau. Bạn có thể áp dụng hàm IF dưới dạng một hàm DAX, hoặc áp dụng hàm IF trong giao diện Power Query để tạo một cột mới dựa trên các điều kiện xác định.

Hãy cùng tìm hiểu lần lượt 2 cách sử dụng hàm IF trong Power BI nhé!

Cách dùng hàm IF trong Power BI dưới dạng hàm DAX

Nếu như bạn là một nhà phân tích dữ liệu, chắc chắn bạn phải biết đến các hàm logic. Không có các hàm này, bạn sẽ không thể nào xử lý các bộ dữ liệu cần phân loại dựa trên các điều kiện nhất định, hay lọc dữ liệu khớp với điều kiện để áp dụng các phép tính.

Nhắc đến điều kiện, hàm IF sẽ là cái tên đầu tiên bạn nghĩ tới. Điều này luôn đúng dù bạn làm việc trên Excel hay Power BI. Nếu như bạn đã quen với hàm IF trong Excel, sẽ không có gì làm khó bạn khi sử dụng hàm IF trong Power BI.

Cú pháp hàm IF trong Power BI DAX

Hàm IF là một hàm logic được sử dụng trong Excel và Power BI với mục đích trả về kết quả dựa trên điều kiện nhất định. Cú pháp hàm IF trong Power BI như sau:

If(LogicalTest, ResultifTrue, [ResultIfFalse])

Trong đó:
  • Logical Test - điều kiện áp dụng cho dữ liệu.
  • Result If True - kết quả cần trả về nếu điều kiện Logical Test được đáp ứng.
  • Result If False - kết quả cần trả về nếu điều kiện Logical Test không được đáp ứng.

Nếu bạn bỏ qua Result If False, hàm IF sẽ mặc định kết quả trả về là ô trống.

Như bạn có thể thấy, cú pháp hàm IF trong Power BI dưới dạng hàm DAX không có gì khác biệt so với cú pháp hàm IF trong Excel thường thấy. Do đó, nếu bạn đã sử dụng hàm logic này trên Excel, bạn sẽ không gặp bất kỳ khó khăn nào khi sử dụng nó trong Power BI.

Cách sử dụng hàm IF trong Power BI DAX

Dưới đây là một vài ví dụ về cách sử dụng hàm IF trong Power BI. Chúng ta sẽ tìm hiểu thao tác cơ bản với hàm IF và cả cách viết công thức hàm IF lồng nhau cho những trường hợp cần phân loại dữ liệu nhiều tầng.

Ví dụ 1: Hàm IF cơ bản

Giả sử chúng ta có một bảng dữ liệu Excel về doanh thu của các nhân viên kinh doanh như trong hình dưới đây.


Yêu cầu đặt ra với bảng dữ liệu Excel này là tạo thêm một cột mới bên phải bảng để ghi nhận mức thưởng cho các nhân viên có thành tích vượt trội, biết rằng tương ứng với mức doanh thu lớn hơn 20 triệu thì nhân viên sẽ được thưởng 1 triệu rưỡi.

Như bạn có thể thấy, cú pháp hàm IF trong Power BI dưới dạng hàm DAX không có gì khác biệt so với cú pháp hàm IF trong Excel thường thấy. Do đó, nếu bạn đã sử dụng hàm logic này trên Excel, bạn sẽ không gặp bất kỳ khó khăn nào khi sử dụng nó trong Power BI.

Hãy cùng mình thực hiện các bước giải bài toán bằng hàm IF trong Power BI nhé.
  • Bước 1: Nạp bảng dữ liệu vào Power BI.
  • Bước 2: Nhấn chuột phải vào tên Sheet1 trong cột Fields và chọn New column.
  • Bước 3: Đặt tên cho cột bằng cách nhập "Thưởng" vào thanh công thức.
  • Bước 4: Viết công thức hàm IF DAX.

Chúng ta đã xác định được điều kiện phân loại dữ liệu theo đề bài: Nếu doanh thu lớn hơn 20.000.000 thì Thưởng 1.500.000. Dựa vào dữ kiện này, chúng ta thiết lập công thức hàm IF trong Power BI như sau:

IF('Sheet1'[Doanh thu]>20000000,1500000,0)

Trong đó:

  • Logical Test = 'Sheet1'[Doanh thu]>20000000: Điều kiện đặt ra là doanh thu lớn hơn 20.000.000.
  • Result If True = 1500000: Nếu dữ liệu đáp ứng điều kiện thì điền 1.500.000.
  • Result If False = 0: Nếu dữ liệu không đáp ứng điều kiện thì điền 0.

Sau khi áp dụng hàm kiểm tra điều kiện logic, bạn sẽ thấy kết quả được cập nhật trên toàn bộ các ô trong cột Thưởng.

Đó là cách sử dụng cơ bản của hàm IF trong Power BI. Vậy nếu bạn cần xét nhiều điều kiện lồng nhau thì phải viết công thức như thế nào? Hãy tiếp tục tìm hiểu ví dụ dưới đây nhé.

Xem thêm: Hướng dẫn về một số hàm DAX căn bản trong Power Pivot (Phần 1)

Ví dụ 2: Hàm IF lồng nhau

Vẫn là bảng dữ liệu như ở phần trên, nhưng bây giờ chúng ta cần nhập dữ liệu dựa trên các tầng điều kiện:

  • Nếu doanh thu lớn hơn 20.000.000 thì mức thưởng là 1.500.000.
  • Nếu doanh thu lớn hơn 15.000.000 thì mức thưởng là 1.000.000.
  • Nếu doanh thu từ 15.000.000 trở xuống thì không có thưởng.

Với 3 điều kiện được đặt ra, chúng ta sẽ cần một hàm IF lồng nhau thay vì hàm IF cơ bản. Cụ thể hơn, chúng ta sẽ sử dụng nhiều hơn 1 hàm IF cho công thức điền dữ liệu.

IF('Sheet1'[Doanh thu]>20000000,1500000,IF('Sheet1'[Doanh thu]>15000000,1000000,0))

Trong đó: Chúng ta dùng 2 công thức hàm IF trong DAX.

Đối với công thức hàm IF đầu tiên, chúng ta sẽ xác định điều kiện: Nếu doanh thu lớn hơn 20.000.000 thì mức thưởng là 1.500.000.

  • Logical Test = 'Sheet1'[Doanh thu]>20000000: Điều kiện đặt ra là Doanh thu lớn hơn 20.000.000.
  • Result If True = 1500000: Nếu dữ liệu đáp ứng điều kiện thì điền 1.500.000.
  • Result If False = hàm IF thứ hai: Nếu dữ liệu không đáp ứng điều kiện thì xét đến hàm IF tiếp theo.

Như vậy, với các hàng tương ứng với mức doanh thu từ 20.000.000 trở xuống, chúng ta sẽ cần xét đến các điều kiện còn lại theo đề bài: Nếu doanh thu lớn hơn 15.000.000 thì mức thưởng là 1.000.000, còn lại thì mức thưởng là 0.

Từ đó, chúng ta viết thêm một hàm IF thứ hai bên trong hàm IF thứ nhất:

  • Logical Test = 'Sheet1'[Doanh thu]>15000000: Điều kiện đặt ra là doanh thu lớn hơn 15.000.000.
  • Result If True = 1000000: Nếu dữ liệu đáp ứng điều kiện thì điền 1.000.000.
  • Result If False = 0: Nếu dữ liệu không đáp ứng điều kiện thì điền 0.

Với công thức hàm IF trong Power BI lồng nhau như trên, chúng ta đã phân chia dữ liệu làm 3 tầng tương ứng với các mức doanh thu lớn hơn 20.000.000, lớn hơn 15.000.000 và từ 15.000.000 trở xuống.

Nếu bạn cần phân chia dữ liệu thành nhiều tầng dựa trên các điều kiện nhất định, hãy nhớ rằng một công thức hàm IF lồng nhau chính là thứ bạn cần.

Một số ghi nhớ với hàm IF trong Power BI DAX

Khi sử dụng hàm IF trong Power BI dưới dạng hàm DAX, bạn hãy lưu ý môt số điểm dưới đây:

  • Cú pháp hàm IF trong Power BI DAX hoàn toàn giống với cú pháp hàm IF trong Excel.
  • Trong trường hợp bạn cần kết hợp nhiều điều kiện để phân loại dữ liệu, hãy kết hợp sử dụng hàm AND hoặc hàm OR.
    • Hàm AND được đại diện bởi 2 ký tự & liên tiếp (&&).
    • Hàm OR được đại diện bởi 2 ký tự | liên tiếp (||).

    Xem thêm: Hướng dẫn về một số hàm DAX căn bản trong Power Pivot (Phần 2)

    Cách dùng hàm IF trong Power BI dưới dạng công cụ Power Query

    Bên cạnh hình thức hàm DAX trong Power BI, bạn còn có thể sử dụng hàm IF trong giao diện Power Query để xử lý dữ liệu dạng bảng của mình. Tương tự như với cách dùng hàm IF dưới dạng hàm DAX, chúng ta cũng sẽ tìm hiểu phương pháp sử dụng hàm trong Power Query với các ví dụ ứng với các trường hợp khác nhau.

    Ví dụ 1: Hàm IF cơ bản

    Chúng ta vẫn sẽ sử dụng bảng dữ liệu tổng hợp doanh thu như ở phần trên. Sau khi chèn bảng vào Power BI thì dưới đây là giao diện phần mềm của bạn.

    Điều kiện đặt ra để phân loại dữ liệu là: Nếu doanh thu từ 20.000.000 trở lên thì mức thưởng là 1.500.000.

    Dựa vào yêu cầu này, chúng ta sẽ tạo thêm một cột mới ở bên phải bảng hiện tại và thiết lập nhanh các điều kiện điền dữ liệu.

    • Bước 1: Đi đến thẻ Home > nhóm Queries > Transform Data > Transform Data.

    • Bước 2: Giao diện Power Query Editor mở ra. Đi đến thẻ Add Column > nhóm General > Conditional Column.

    • Bước 3: Hộp thoại Add Conditional Column hiện ra. Điền thông tin vào các mục tương ứng.

    Đầu tiên, chúng ta sẽ nhập tên muốn đặt cho cột vào mục New column name. Tại đây, mình sẽ đặt tên cột mới là "Thưởng".

    Công thức hàm If Then: Nếu doanh thu từ 20.000.000 trở lên thì mức thưởng là 1.500.000.

      1. Column Name: chọn cột Doanh thu trong danh sách
      2. Operator: is greater than or equal to (lớn hơn hoặc bằng)
      3. Value: 20000000
      4. Output: 1500000
      5. Else: 0

      Sau khi điền đầy đủ các thông tin vào công thức hàm If Then ở trên, bạn sẽ có được một câu hoàn chỉnh với ý nghĩa là: Nếu Doanh thu lớn hơn hoặc bằng 20000000 thì dữ liệu đầu ra là 1500000, nếu không thì là 0.

      Có thể thấy cách sử dụng hàm If Then trong Power Query tương tự như điền từ vào câu này đơn giản hơn rất nhiều so với việc viết một công thức hàm IF trong Excel đúng không nào?

      • Bước 4: Nhấn OK.

      Vậy là bạn đã hoàn thành thao tác tạo cột mới và điền dữ liệu bằng hàm IF trong Power BI rồi. Cùng kiểm tra kết quả Power Query nhé.

      Ví dụ 2: Hàm IF nhiều điều kiện

      Nếu bạn cần sử dụng nhiều hơn một tiêu chí để đánh giá và điền dữ liệu, làm thế nào để thực hiện được thao tác này với hàm IF trong Power BI? Mình sẽ chỉ cho bạn cách viết hàm IF nhiều điều kiện ngay dưới đây.

      Giả sử mình đặt ra điều kiện phân loại cho bảng dữ liệu doanh thu trong các ví dụ trên như sau:

      • Nếu nhân viên có doanh thu lớn hơn 20.000.000 và làm việc ở chi nhánh 2 thì mức thưởng 1.500.000.
      • Nếu nhân viên có doanh thu lớn hơn 20.000.000 và làm việc ở các chi nhánh còn lại thì mức thưởng là 1.200.000.
      • Nếu nhân viên chưa đạt mức doanh thu lớn hơn 20.000.000 thì không được thưởng.

      Với các điều kiện dựa trên cả 2 tiêu chí chi nhánh và doanh thu, chúng ta sẽ cần thiết lập một hàm IF nhiều điều kiện. Tại cửa sổ Power Query Editor, bạn hãy thực hiện các bước sau:

      • Bước 1: Đi đến thẻ Add Column > nhóm General > Custom Column.

      • Bước 2: Cửa sổ Custom Column mở ra. Điền tên cột mới tạo và nhập công thức hàm IF.

      Đầu tiên, chúng ta sẽ nhập tên muốn đặt cho cột vào mục New column name. Tại đây, mình sẽ đặt tên cột mới là "Thưởng khu vực".

      Tại mục Custom column formula, chúng ta sẽ thiết lập công thức hàm If Then để xác định các điều kiện và kết quả cần nhập dựa trên điều kiện.

      if [Doanh thu] > 20000000 and [Chi nhánh] = "Chi nhánh 2" then 1500000 else if [Doanh thu] > 20000000 then 1200000 else 0

      Trong đó:

      1. if [Doanh thu] > 20000000 and [Chi nhánh] = "Chi nhánh 2": 2 điều kiện được nối với nhau bằng and

        • Điều kiện 1: Doanh thu lớn hơn 20.000.000.
        • Điều kiện 2: Chi nhánh là chi nhánh 2.

        2. then 1500000: Nếu cả 2 điều kiện trên được đáp ứng thì điền 1.500.000.

        3. else: Nếu cả 2 điều kiện trên không được đáp ứng thì xét tiếp.

        4. if [Doanh thu] > 20000000 then 1200000 else 0: Nếu doanh thu lớn hơn 20.000.000 thì điền 1.200.000, ngược lại thì điền 0.

        Như vậy, công thức này sử dụng 2 lần hàm If Then để phân loại dữ liệu và điền giá trị tương ứng.

        Lưu ý: Tất cả các lệnh trong cú pháp hàm If Then cần được viết dưới định dạng chữ thường.

        • Bước 3: Nhấn OK để đóng hộp thoại và áp dụng công thức hàm IF trong Power BI.

        Kết quả, một cột mới mang tên Thưởng khu vực được thêm vào bảng dữ liệu. Khi so sánh cột mới với cột Thưởng chúng ta đã tạo ở ví dụ bên trên, bạn có thể dễ dàng nhận ra điểm khác biệt ở dòng 6 và dòng 9. Nguyên nhân là vì dữ liệu tại cột Thưởng khu vực xét cả điều kiện về chi nhánh và doanh thu, trong khi công thức hàm If Then chúng ta áp dụng cho cột Thưởng chỉ dựa trên doanh thu.

        Vậy là chúng ta đã hoàn thành các bước tạo cột mới và điền mức thưởng cho nhân viên dựa vào các điều kiện khác nhau. Để lưu lại các thay đổi trong Power Query, bạn hãy đi đến thẻ Home > nhóm Close > Close & Apply. Cửa sổ Power Query Editor sẽ đóng lại và đồng thời toàn bộ các thao tác chúng ta vừa thực hiện sẽ được lưu trong bảng báo cáo chính trên Power BI.

        Xem thêm: Cách viết cấu trúc IF THEN ELSE trong VBA Excel

        Tổng kết

        Như vậy, chúng ta đã hoàn thành các ví dụ sử dụng hàm IF trên báo cáo Power BI dưới 2 hình thức: Hàm DAX và tính năng Power Query. Bạn có thể sử dụng 1 trong 2 hình thức, tùy thuộc vào dữ liệu của mình. Tất nhiên, cả 2 hình thức hàm If Then đều sẽ trả về kết quả như nhau nếu như công thức bạn thiết lập là đúng.

        Hy vọng bài viết đã giúp bạn dễ dàng sử dụng hàm IF trong Power BI để điền và phân loại dữ liệu dựa trên các điều kiện. Để tìm hiểu thêm về các thủ thuật phân tích dữ liệu với Power BI, hãy tham khảo các bài viết trên blog Gitiho nhé.

        Gitiho xin cảm ơn bạn đọc và chúc bạn thành công!

        Cùng tham gia cộng đồng hỏi đáp về chủ đề Power BI

        Thảo luận 0 câu trả lời
        Lượt xem 1462 lượt xem
        Vỗ tay vỗ tay

        0 Bình luận

        @ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
        Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội