Saya memiliki tabel fakta snapshot terakumulasi yang melacak masuk dan keluarnya kontainer di terminal .
Wadah dapat masuk dan keluar dengan 3 cara berbeda , jadi saya berpikir untuk membuat tabel dimensi spesifik yang mencantumkan 3 cara yang memungkinkan ini ( kereta, kapal atau truk ).
Kemudian saya membaca artikel ini yang pada dasarnya mengatakan bahwa teknik ini salah, tetapi saya tidak mengerti mengapa.
Artikel pertama:
Kadang-kadang ketika tabel fakta memiliki daftar panjang fakta yang jarang diisi dalam setiap baris individu, itu tergoda untuk membuat dimensi tipe ukuran yang mengecilkan baris tabel fakta menjadi fakta umum tunggal yang diidentifikasi oleh dimensi tipe ukuran. Kami biasanya tidak merekomendasikan pendekatan ini. Meskipun menghapus semua kolom fakta kosong, ini mengalikan ukuran tabel fakta dengan jumlah rata-rata kolom yang ditempati di setiap baris, dan itu membuat perhitungan intra-kolom jauh lebih sulit. Teknik ini dapat diterima ketika jumlah fakta potensial ekstrim (dalam ratusan), tetapi kurang dari segelintir akan berlaku untuk setiap baris tabel fakta yang diberikan.
Saya mengerti bahwa jika " Ukuran Ukuran Dimensi " diterapkan untuk tabel fakta transaksi dapat menimbulkan masalah seperti yang dikatakan artikel lain ini , tetapi saya tidak dapat melihat kelemahan jika digunakan untuk mengumpulkan fakta snapshot .
Artikel kedua: (beberapa kelemahan menerapkan "Ukuran Tipe Dimensi")
- [...] Jika kita menggunakan "Ukuran Tipe Dimensi" kita akan kehilangan kemampuan analitik ini. Jika satu ukuran tidak kompatibel dengan ukuran lainnya, kami tidak dapat menambahkannya.
- [...] Semakin banyak jumlah melewati SQL kita perlu dijalankan untuk menghasilkan laporan, semakin lambat laporan.
- [...] Pada alat BI, jika Anda tidak memasang filter jenis ukur, Anda berisiko pengguna mendapatkan “informasi sampah”. Dari sudut pandang kegunaan, desain ini adalah sampah.
Tanggapan untuk jawaban Mark Storey-Smith
Pendekatan yang sangat bagus, saya tidak akan pernah memikirkan hal itu.
Hal lain: setiap masuk dan keluar kendaraan yang membawa kontainer ke terminal memiliki ID unik yang memberi saya informasi lain seperti: kedatangan kendaraan yang diharapkan, kedatangan aktual, apakah itu kapal dermaga, jika itu truk, jalan tol dan banyak informasi lain ...
Ini adalah 3 tabel fakta yang berbeda dan mereka harus dihubungkan entah bagaimana dengan tabel fakta wadah.
Saya berpikir bahwa ID dari pelayaran adalah degenerate dimension
, jadi itu akan langsung masuk ke tabel fakta wadah. Jadi, keraguan saya adalah: haruskah saya menambahkan 6 bidang yang berbeda dalam tabel fakta wadah (vessel_voyage_in_key, vessel_voyage_out_key, train_voyage_in_key, train_voyage_out_key, truck_voyage_in_key, truck_voyage_out_key) atau hanya 2 bidang lainnya (voyage_in, berbagai tautan pelayaran ke tabel pelayaran yang terkait dengan tautan dinamis ke voyage)?
Saya harap keraguan saya jelas, terima kasih.
sumber