Reshape Data - Implementasi
Ini adalah salah satu modul VSeed yang paling menarik dan paling inti. Sekilas terlihat kompleks, tetapi sebenarnya sangat sederhana dan cerdik, dengan kode kurang dari 200 baris.
Selama foldMeasures dan unfoldDimensions digunakan dengan baik, metrik dan dimensi apa pun dapat diubah menjadi metrik dan dimensi tetap, sehingga pemetaan visual dapat dibuat cukup bebas.
foldMeasures
foldMeasures melakukan fold terhadap semua metrik menjadi satu metrik, menambahkan satu dimensi nama metrik dan satu dimensi Id metrik. Semua informasi yang mungkin hilang disimpan di dalam foldInfo, dan statistik data juga dapat dihitung dalam proses ini.
Karakteristik
- Karakteristik 1: Setelah
foldMeasuresselesai dijalankan, pasti hanya ada 1 field metrik. Artinya, data yang dijelaskan oleh banyak metrik dapat diubah menjadi 1 metrik, sehingga data multi-metrik apa pun dapat dipetakan ke satu elemen grafis. - Karakteristik 2: Item data dan data elemen grafis (elemen geometris) selalu konsisten secara ketat. Satu data berkorespondensi dengan satu elemen grafis.
- Karakteristik 3: Proses ini melakukan statistik data.
1metrik0dimensi, setelahfoldMeasuresdapat memperoleh1metrik dan2dimensi (termasuk nama metrik dan Id metrik).4metrik1dimensi, setelah2kalifoldMeasuresdapat memperoleh2metrik dan3dimensi (termasuk nama metrik dan Id metrik), sehingga dapat mendukung skenario seperti grafik sumbu ganda dengan baik.Nmetrik0dimensi, setelahY(Y ≤ N) kalifoldMeasures, dapat memperolehYmetrik dan2dimensi (termasuk nama metrik dan Id metrik).
Contoh minimal yang dapat dijalankan
unfoldDimensions
unfoldDimensions melakukan concat pada dimensi apa pun menjadi satu dimensi baru tanpa kehilangan informasi. Semua informasi tambahan disimpan di dalam unfoldInfo.
unfoldDimensions lengkap == mengubah semua nilai dimensi menjadi metrik + satu kali foldMeasures
Namun biaya untuk melakukan iterasi atas dataset sangat besar. Satu kali foldMeasures tambahan akan menyebabkan penurunan performa.
foldMeasures dapat langsung menjamin bahwa satu data hanya memiliki satu metrik. Karena itu, kita dapat melakukan penggabungan sederhana langsung pada data sumber untuk mencapai efek ekuivalen secara cerdik, dan pada akhirnya meningkatkan performa secara signifikan.
Setelah dipertimbangkan, secara teori unfoldDimensions dapat sepenuhnya digabung dengan foldMeasures, sehingga semua pemrosesan data selesai dalam satu kali iterasi dataset. Namun demi keterbacaan dan kemudahan pemeliharaan, selama belum ada bottleneck performa, untuk sementara keduanya tidak digabung.
Karakteristik
Karakteristik 1: Setelah unfoldDimensions selesai dijalankan, pasti hanya ada 1 field metrik.
Karakteristik 2: Dimensi dapat digabung tanpa kehilangan data asli.
- Selama dijalankan setelah
foldMeasures, operasiconcatyang paling sederhana sudah cukup untuk menyelesaikan pengembangan dimensi dan penggabungan metrik, dengan performa yang sangat baik. - Dimensi apa pun dapat digabung menjadi field dimensi yang benar-benar baru, sehingga pemetaan channel visual dapat dibuat secara bebas.
- Karena prosesnya sendiri tidak kompleks, secara teori proses ini dapat digabung dengan
foldMeasuresuntuk mengurangi jumlah iterasi dan meningkatkan performa.