[Q&A] Cách tự động thay đổi tỷ lệ chuyển đổi giá trị theo tùy chọn?
Question:
dataMAKER mới nhận được câu hỏi này từ một bạn học viên, bạn muốn linh hoạt lựa chọn đổi giá trị thể hiện trên chart trong Power BI.
VD cụ thể:
Mình có 3 measure Tổng DT; Tổng DT LY và % Chênh lệch, vì giá trị Tổng DT và Tổng DT LY rất lớn nên mình muốn có tùy chọn cho phép rút gọn cách thể hiện giá trị này như sau:
– Chia cho 1,000 để thể hiện là Nghìn
– Chia cho 1,000,000 để thể hiện là Triệu
– Lưu ý: nếu giá trị là % thì giữ nguyên.
Answer:
Để dễ hình dung, dataMAKER tạo bảng sau với giá trị mặc định chưa can thiệp gì:
Ở đây, dataMAKER sẽ dùng công cụ Tabular Editor để thực hiện:
Chúng ta sẽ tận dụng tính năng Calculation Group để tạo ra các Calculation Items tương ứng, cụ thể:
– Mặc định = SELECTEDMEASURE ()
– Nghìn = SELECTEDMEASURE () / 1000
Tuy nhiên, vì đề bài có yêu cầu nếu giá trị là % thì phải giữ nguyên. Do đó, công thức trên sẽ không đáp ứng được.
Như vậy, mở rộng thêm một chút bằng cách tìm % thông qua hàm FIND ():
FIND ( “%”, SELECTEDMEASURENAME (), “True”, “False”)
Cuối cùng, ráp lại như sau:
IF ( FIND ( "%", SELECTEDMEASURENAME (), 1, 0 ) = 0, SELECTEDMEASURE () / 1000, SELECTEDMEASURE () )
Mở rộng thêm: đối với dạng yêu cầu này thì ngoài việc thể hiện theo giá trị, chúng ta còn có thể thay đổi định dạng. VD: mình muốn gán thêm chuỗi ‘vnd‘ phía sau giá trị cho tường minh. Vậy hàm tùy biến thêm sẽ như sau:
IF ( FIND ( "%", SELECTEDMEASURENAME (), 1, 0 ) = 0, "#,0.00 vnd", SELECTEDMEASUREFORMATSTRING () )
Tương tự như vậy, tạo thêm Calculation Items cho Triệu.
Sau khi hoàn tất, tạo 1 slicer đưa Group trên vừa tạo ở trên vào và kiểm tra kết quả:
– Tùy chọn Mặc định:
– Tùy chọn Nghìn: giá trị đã chia cho 1,000
– Tùy chọn Triệu: giá trị đã chia cho 1,000,000
Có bạn sẽ hỏi làm sao biết được chuỗi định dạng ở đoạn thêm ‘vnd’ ở trên:
"#,0.00 vnd"
Thực ra, đây chính là định dạng mà bạn đã thiết lập trên Measure Tool cho measure đó:
Mở rộng thêm một chút: trong Model luôn có một measure bị ẩn (hidden) đi cùng measure chính thể hiện kiểu định dạng của measure đó. Giờ dataMAKER sẽ gọi hidden measure này ra để đối chiếu thì các bạn sẽ thấy ngay được định dạng:
Lưu ý: như trên dataMAKER có nói đến vì đây là hidden measure nên khi gọi vào bạn sẽ thấy measure này dường như không tồn tại nhưng thực chất vẫn hoạt động bình thường như sau:
Từ đây, bạn có thể mở rộng tùy biến thêm theo ý mình.
Have fun,