Giao diện
Câu hỏi thường gặp (FAQ) — Charts
Sử dụng
Biểu đồ không hiển thị dữ liệu?
Kiểm tra theo thứ tự:
- Collection có dữ liệu: Đảm bảo collection đã chọn có ít nhất vài bản ghi
- Cấu hình measures: Phải chọn ít nhất một measure (ví dụ:
COUNT(id)) - Cấu hình dimensions: Phải chọn ít nhất một dimension cho group by
- Filter quá chặt: Nếu có filter, thử bỏ filter để kiểm tra có dữ liệu không
- Field type: Measure phải là trường số (integer, float, decimal) — không dùng string
Có thể tạo dashboard với nhiều biểu đồ không?
Có. Thêm nhiều Chart blocks trên cùng một trang:
- Nhấn Add Block → chọn Chart → cấu hình biểu đồ 1
- Nhấn Add Block lần nữa → chọn Chart → cấu hình biểu đồ 2
- Lặp lại cho các biểu đồ tiếp theo
- Sắp xếp layout bằng kéo-thả
TIP
Để có dashboard chuyên nghiệp với layout kéo-thả, filter toàn trang, export PDF — sử dụng plugin-data-visualization thay vì plugin charts cơ bản này.
Biểu đồ có tự cập nhật khi dữ liệu thay đổi không?
Có nếu bật Auto-refresh. Khi bật:
- Biểu đồ tự query lại dữ liệu mỗi N giây
- Phù hợp cho dashboard theo dõi real-time (đơn hàng, traffic, metrics)
- Lưu ý: tần suất refresh quá cao có thể ảnh hưởng hiệu năng database
Nếu không bật auto-refresh, biểu đồ chỉ cập nhật khi reload trang.
Có hỗ trợ biểu đồ phức tạp (scatter, radar, heatmap)?
Plugin charts cơ bản chỉ hỗ trợ 4 loại: Bar, Line, Pie, Area. Để có biểu đồ nâng cao:
| Loại biểu đồ | plugin-charts | plugin-data-visualization-pro |
|---|---|---|
| Bar, Line, Pie, Area | ✅ | ✅ |
| Scatter (phân tán) | ❌ | ✅ |
| Radar | ❌ | ✅ |
| Heatmap | ❌ | ✅ |
| Gauge | ❌ | ✅ |
| Funnel | ❌ | ✅ |
| Dual-axis | ❌ | ✅ |
Làm sao lọc dữ liệu biểu đồ?
Trong cấu hình biểu đồ, sử dụng Filter:
| Loại filter | Ví dụ | Mô tả |
|---|---|---|
| Bằng | status = 'completed' | Chỉ đơn hàng hoàn tất |
| Khoảng thời gian | createdAt >= '2024-01-01' | Dữ liệu từ đầu năm |
| Trong danh sách | category IN ('A', 'B') | Chỉ danh mục A và B |
| Kết hợp | Nhiều điều kiện AND/OR | Lọc phức tạp |
Hiệu năng
Biểu đồ tải chậm?
| Nguyên nhân | Giải pháp |
|---|---|
| Dữ liệu quá nhiều | Thêm filter để giới hạn phạm vi |
| Thiếu index | Thêm database index cho field dimension |
| Aggregation phức tạp | Đơn giản hoá query, giảm số dimensions |
| Auto-refresh quá nhanh | Tăng interval (ví dụ: 60 giây thay vì 5 giây) |
| Nhiều biểu đồ cùng trang | Giảm số biểu đồ hoặc dùng limit |
Tối ưu hiệu năng
- Thêm index cho các field dùng làm dimension và filter
- Sử dụng limit (ví dụ: top 10 sản phẩm) thay vì hiển thị tất cả
- Với dữ liệu lớn, cân nhắc tạo materialized view hoặc bảng tổng hợp
Aggregation query có ảnh hưởng database không?
Có. Mỗi biểu đồ chạy một aggregation query trên database. Với nhiều biểu đồ trên cùng trang + auto-refresh:
- Mỗi lần refresh = N queries (N = số biểu đồ)
- Giải pháp: Đặt auto-refresh interval hợp lý (30–60 giây), thêm index, sử dụng filter
Plugin đã Deprecated
Tại sao nên chuyển sang plugin-data-visualization?
- Nhiều chart types hơn: Scatter, Radar, Heatmap, Gauge, Funnel...
- Dashboard kéo-thả: Layout chuyên nghiệp, responsive
- Query builder nâng cao: Hỗ trợ JOIN, sub-query, custom SQL
- Export: Xuất dashboard ra PDF, PNG
- Performance: Tối ưu query và caching tốt hơn
Dữ liệu charts cũ có mất khi chuyển plugin không?
Cấu hình biểu đồ sẽ cần tạo lại trong plugin mới. Dữ liệu collection (nguồn dữ liệu) không bị ảnh hưởng. Quy trình:
- Ghi lại cấu hình biểu đồ hiện tại (collection, measures, dimensions)
- Cài
plugin-data-visualization - Tạo lại biểu đồ với cấu hình tương tự
- (Tuỳ chọn) Tắt
plugin-chartssau khi chuyển xong