Tùy biến giá trị filter truyền vào từ Slicer (Custom Filter Rules)
Data Suite hỗ trợ cơ chế tùy biến (modify) giá trị filter truyền vào từ Slicer đến Chart, cho phép Chart gửi lên nội dung filter đã được tùy biến so với giá trị gốc mà Slicer truyền vào.
Việc này đặc biệt hữu dụng trong các trường hợp người dùng mong muốn chọn một giá trị nhất định trên Slicer (Ví dụ: chọn năm 2025), nhưng Chart phải thể hiện dữ liệu trong khoảng 2020-2025 mà không muốn dùng slicer kiểu Date Picker.
Xét ví dụ Column Chart Sales by Month, nhận filter từ Slicer Year và Month

Nhu cầu: Khi chọn Year và Month, Chart hiển thị doanh số tính từ tháng đó trở về trước 6 tháng.
Vấn đề: Với cấu hình mặc định, Slicer chỉ truyền cho Chart các biểu thức filter là "Year = 2025" và "Month = 3". Để đáp ứng nhu cầu nói trên, cần sử dụng Custom Filter Rules.
Cách tạo và sử dụng Custom Filter Rules
Cấu hình Customized Filter Logic
Select Slicer Inputs: Chọn Slicer cần lấy giá trị. Có thể chọn nhiều (xem thêm Lưu ý).
Target Dimension: Chọn Dimension (field) dùng dể filter. Có thể chọn lại Dimension gốc mà Slicer Input đã truyền, hoặc Dimension bất kỳ từ Data Model.
Operator: Chọn toán tử filter. Hỗ trợ 9 toán tử phổ biến: Equal, Not Equal, Start With, End With, Greater Than, Greater Than Or Equal, Less Than, Less Than Or Equal, Include.
New Filter Value: Nhập nội dung hàm tính toán giá trị mới để filter.
Hỗ trợ cú pháp ngôn ngữ JavaScript (chỉ hỗ trợ các hàm được cho phép trong Strict Mode)
Sử dụng cú pháp
{{tên slicer}}để lấy giá trị từ Slicer Inputs đã chọn.Chọn Slicer "Month" ⇒ Dùng
{{Month}}để lấy giá trị đang chọn từ Slicer "Month".Nếu Slicer Inputs có nhiều Slicer trùng tên, hệ thống sẽ lấy ngẫu nhiên, vì vậy hãy hạn chế sử dụng nhiều Slicer trùng tên khi viết Rule.
Bắt buộc return một giá trị nhất định, ví dụ chữ hoặc số.
Có thể nhấn Test Expression để kiểm tra cú pháp hợp lệ hay không.

Kết quả
Before (Không có Custom Filter Rule)

After (Có cấu hình Custom Filter Rule)

Lưu ý:
Khi chưa tồn tại Custom Filter Rule, 1 Slicer truyền cho Chart bộ filter gốc (tên field, toán tử và giá trị) để Chart filter theo. Khi tồn tại Custom Filter Rule và Slicer đó được chọn làm Slicer Input trong ít nhất 1 Rule của Chart, Chart sẽ không còn quan tâm bộ filter gốc nữa, mà sẽ thay thế hoàn toàn bằng bộ filter mới được định nghĩa trong Rule.
Custom Filter Rule chỉ chấp nhận giá trị filter truyền vào từ Slicer là giá trị duy nhất (single value). Nếu Slicer được chọn truyền vào Chart nhiều hơn 1 giá trị, Chart sẽ bỏ qua Slicer đó và không filter theo bất kỳ giá trị nào mà Slicer đó truyền vào.
Tham khảo thêm
Bộ Custom Filter Rule mẫu sử dụng trong ví dụ trên.
Rule 1:
Dimension = date (field kiểu Date, thuộc bảng dim_date trong Data Model)
Operator = Less Than Or Equal (bé hơn hoặc bằng)
New Value =
Rule 2:
Dimension = date
Operator = Greater Than Or Equal
New Value =
So sánh bộ Filter mà Chart sử dụng trước và sau khi áp dụng Custom Filter Rule:
Dimension = dim_date.year Operator = equal Value = 2025
Dimension = dim_date.date Operator = lte Value = 2025-03-31
Dimension = dim_date.month Operator = equal Value = 3
Dimension = dim_date.date Operator = gte Value = 2024-09-01
⇒ Filter dữ liệu thuộc tháng 3 năm 2025
⇒ Filter dữ liệu nằm trong khoảng 01/09/2024 - 31/03/2025
Last updated

