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.
- 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) và 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ụ

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

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

- 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
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