Reshape dữ liệu - Triển khai
Đây là một trong những module thú vị nhất và cốt lõi nhất của VSeed. Nhìn có vẻ phức tạp, nhưng thực ra rất đơn giản và tinh tế, chỉ chưa đến 200 dòng mã.
Chỉ cần sử dụng tốt foldMeasures và unfoldDimensions, có thể chuyển đổi bất kỳ chỉ số và chiều dữ liệu nào thành chỉ số và chiều dữ liệu cố định, từ đó đạt được ánh xạ trực quan đủ linh hoạt.
foldMeasures
foldMeasures fold toàn bộ chỉ số thành một chỉ số, thêm một chiều tên chỉ số và một chiều Id chỉ số. Tất cả thông tin có thể bị mất đều được lưu trong foldInfo, đồng thời có thể thực hiện thống kê dữ liệu trong quá trình này.
Đặc điểm
- Đặc điểm 1: Sau khi
foldMeasureschạy xong, chắc chắn chỉ còn 1 trường chỉ số. Điều này có nghĩa là dữ liệu được mô tả bằng nhiều chỉ số đều có thể được chuyển thành 1 chỉ số; dữ liệu nhiều chỉ số bất kỳ có thể tương ứng với một phần tử đồ họa. - Đặc điểm 2: Mục dữ liệu và dữ liệu của phần tử đồ họa (phần tử hình học) khớp nghiêm ngặt với nhau. Một dữ liệu tương ứng với một phần tử đồ họa.
- Đặc điểm 3: Quá trình này thực hiện thống kê dữ liệu.
1chỉ số0chiều, saufoldMeasurescó thể nhận được1chỉ số và2chiều (bao gồm tên chỉ số và Id chỉ số).4chỉ số1chiều, sau2lầnfoldMeasurescó thể nhận được2chỉ số và3chiều (bao gồm tên chỉ số và Id chỉ số), nhờ đó hỗ trợ hoàn hảo các kịch bản như biểu đồ hai trục.Nchỉ số0chiều, sauY(Y ≤ N) lầnfoldMeasures, có thể nhận đượcYchỉ số và2chiều (bao gồm tên chỉ số và Id chỉ số).
Ví dụ tối thiểu có thể chạy
unfoldDimensions
unfoldDimensions concat bất kỳ chiều dữ liệu nào thành một chiều dữ liệu mới mà không làm mất thông tin. Tất cả thông tin được thêm vào đều được lưu trong unfoldInfo.
Một unfoldDimensions hoàn chỉnh == chuyển tất cả giá trị chiều thành chỉ số + một lần foldMeasures
Tuy nhiên, chi phí duyệt dataset rất lớn. Một lần foldMeasures dư thừa sẽ làm giảm hiệu năng.
foldMeasures có thể trực tiếp đảm bảo một dữ liệu chỉ có một chỉ số. Vì vậy, chỉ cần thực hiện phép gộp đơn giản ngay trên dữ liệu nguồn là có thể tinh tế đạt được hiệu quả tương đương, cuối cùng cải thiện hiệu năng đáng kể.
Sau khi cân nhắc, về lý thuyết unfoldDimensions có thể được hợp nhất hoàn toàn với foldMeasures, hoàn thành toàn bộ xử lý dữ liệu trong một lần duyệt dataset. Tuy nhiên, vì khả năng đọc và bảo trì, khi chưa có bottleneck hiệu năng, tạm thời không hợp nhất.
Đặc điểm
Đặc điểm 1: Sau khi unfoldDimensions chạy xong, chắc chắn chỉ còn 1 trường chỉ số.
Đặc điểm 2: Có thể gộp chiều mà không làm mất dữ liệu gốc.
- Chỉ cần thực hiện sau
foldMeasures, có thể dùng thao tácconcatđơn giản nhất để hoàn tất việc mở rộng chiều và gộp chỉ số, với hiệu năng cực kỳ tốt. - Bất kỳ chiều nào cũng có thể được gộp thành một trường chiều hoàn toàn mới, đạt được ánh xạ kênh thị giác tùy ý.
- Vì bản thân không phức tạp, về lý thuyết có thể hợp nhất với
foldMeasuresđể giảm số lần duyệt và nâng cao hiệu năng.