Hàm SWITCH trong DAX

HÀM SWITCH DAX POWER BI:

Ngày đăng: 06/10/2022

Hôm nay chúng ta cùng tìm hiểu về hàm SWITCH trong Power BI nhé!

Mô tả hàm SWITCH

Hàm SWITCH trong Power BI được sử dụng để chuyển đổi các giá trị của 1 biểu thức tính về các kết quả tương ứng dựa trên các giá trị được xác định trước. Hàm SWITCH trả về những kết quả khác nhau dựa trên giá trị khác nhau của một biểu thức. 

Hàm SWITCH trong nhiều trường hợp có thể dùng thay cho hàm IF.

Cách sử dụng 

SWITCH ( <Expression>, <Value>, <Result> [, <Value 2>, <Result 2> [, … ] ] [, <Else>] ) 

  • Expression – Biểu thức: là một giá trị hoặc 1 biểu thức tính trả về kết quả cụ thể. 
  • Value – Giá trị dự đoán: là kết quả cụ thể (giá trị cố định, không đổi) có thể nhận được từ Biểu thức tính. 
  • Result – Giá trị chuyển đổi: là giá trị sẽ nhận được thay thế cho Giá trị dự đoán. 
  • Value 2, Result 2.. – Giá trị dự đoán 2, Giá trị chuyển đổi 2..: Có thể có nhiều hơn 1 giá trị dự đoán. Nhưng khi viết phải viết theo cặp. 
  • Else – Giá trị khác : viết ở cuối hàm, không gắn với Giá trị dự đoán nào, các giá trị không dự đoán được sẽ đều tính là Giá trị khác. 

Giá trị trả về:  

  • Với các giá trị trả về của Expression đúng với Value thì kết quả sẽ được thay thế bằng Result tương ứng. 
  • Với các giá trị trả về của Expression không đúng Value sẽ được trả về Else. 

Hàm IF, hàm SWITCH và SWITCH TRUE 

Nếu sử dụng hàm IF, ta sẽ phải viết công thức khá dài nếu có nhiều điều kiện 

IF( 

<logical_test 1>,  

<value_if_true>, 

IF( 

<logical_test 2>,  

<value_if_true> 

, <value_if_false> 

Khi sử dụng hàm SWITCH, công thức sẽ trở nên gọn và nhanh hơn rất nhiều: 

SWITCH ( <Expression>, <Value>, <Result> [, <Value 2>, <Result 2> [, … ] ] [, <Else>] ) 

Tuy nhiên, vì hàm SWITCH chỉ hoạt động cho những Biểu thức (Expression)Giá trị dự đoán (Value) trùng hợp một cách chính xác, nên nếu muốn xét dữ liệu trong một khoảng, thay vì phải sử dụng hàm IF khá phức tạp, ta có thể sử dụng hàm SWITCH TRUE. 

VD: SWITCH( 

      TRUE(), 

[measure]<1, result 1, 

[measure]<2, result 2, 

[measure]<3, result 3, 

…) 

Hàm SWITCH ở đây vẫn hoạt động dựa trên những giá trị trùng hợp. Bằng cách thêm hàm True, giờ đây phương trình sẽ kiểm tra dựa trên độ xác thực của hàm True này. Hàm SWITCH TRUE thường được sử dụng trong các trường hợp khi giá trị dự đoán không trùng hợp tuyệt đối với biểu thức. Để hiểu rõ hơn về cách sử dụng của hàm SWITCH, SWITCH TRUE, và sự ưu việt hơn so với hàm IF chúng ta cùng xem qua một ví dụ. 

Ví dụ 

 

Có danh sách thiết bị (Device) và chúng ta muốn chuyển sang Device ID với ID của Desktop, Mobile và Tablet lần lượt là 1, 2 và 3. Ta có thể sử dụng hàm IF để tự động điền Device ID như sau: 

Device ID = IF (Campaign[Device] = “Desktop”), 1, IF (Campaign[Device]= “Mobile”, 2, IF (Campaign[Device]= “Tablet”, 3)))

 

 

Hoặc ta có thể dùng hàm  SWITCH để phương trình trở nên gọn gàng và dễ nhìn hơn: 

Device ID = SWITCH(Campaign[Device], "Desktop", 1, "Mobile", 2, "Tablet", 3)

 

Xét cột Device ID: 

  • Giá trị là Desktop thì sẽ lấy kết quả chuyển đổi là 1 
  • Giá trị là Mobile thì sẽ lấy kết quả chuyển đổi là 2 
  • Giá trị là Tablet thì sẽ lấy kết quả chuyển đổi là 3 

Ta cũng có thể sử dụng hàm SWITCH TRUE như sau: 

Device ID = SWITCH(TRUE(),Campaign[Device] = “Desktop”, 1, Campaign[Device] = “Mobile”, 2, Campaign[Device] = “Tablet”, 3)

và vẫn có được kết quả tương tự.

Nguồn: SWITCH function DAX
Tham khảo thêm khóa học: Data Analytics Foundation (DAF) – Datapot.vn 

Trả lời

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 *