Penggunaan Internal.Transformation.Filename.Directory

Pendahuluan

Sering sekali pada saat merancang data flow pembacaan data di Kettle kita membutuhkan referensi ke file secara relatif dari file transformation dibandingkan secara statis. Untuk keperluan hal itulah Kettle menyediakan variable Internal.Transformation.Filename.Directory.

Nilai dari variable ini tergantung kepada posisi path dari file transformation bersangkutan. Jika path transformation kita adalah  "C:\kettletraining\transformation1.ktr" maka nilai dari variable Internal.Transformation.Filename.Directory adalah "C:\kettletraining".

Variable ini dapat digunakan di transformation untuk semua step yang berkepentingan membaca input dari path filesystem atau mengeksekusi sub transformation lain. Penulisan variable ini adalah dengan format ${Internal.Transformation.Filename.Directory} atau %% Internal.Transformation.Filename.Directory%%.

Contoh Kasus

Sebagai contoh kita akan coba membuat 2 file transformation untuk membaca file Excel target_penjualan.xls. File spreadsheet ini dapat di-download di bagian akhir dari artikel ini.


Pembacaan File dengan Referensi Statis

  1. Buat folder "C:\kettletraining"
  2. Download file "Target Penjualan.xls" dan tempatkan di folder "C:\kettletraining"
  3. Jalankan Spoon dan buat satu file transformasi baru dengan nama "Baca_File_1.ktr"
  4. Tambahkan step "Excel Input" ke ruang kerja kita



  5. Tambahkan file "Target Penjualan.xls" pada input "File or directory" di step tersebut dengan referensi statis (C:\kettletraining\Target Penjualan.xls)



  6. Tambahkan sheet "Target Penjualan" melalui tab "!Sheets" | Klik "OK"





  7. Ambil semua column dari tab "!Fields" dengan cara mengklik tombol "Get fields from header row..."




  8. Klik "OK"
  9. Preview step tersebut 
  10. Data dari file Excel tersebut akan terlihat seperti pada gambar berikut :


Pembacaan File dengan Referensi Variable

  1. Ulangi langkah-langkah 1-3 dari contoh di atas, tetapi kali ini namakan file transformation "Baca_File_2.ktr"
  2. Buka dialog step "Excel Input" dan pada entri "File or directory" tekan tombol CTRL+SPACE untuk memunculkan daftar variable



  3. Pilih Internal.Transformation.Filename.Directory


  4. Lengkapi nama file di belakang variable tersebut



  5. Ulangi langkah 6 - 10 dari contoh di atas. Jika berhasil maka kedua contoh ini menghasilkan output yang sama.
Mengganti Nama Folder 
  1. Tutup aplikasi Spoon
  2. Sekarang coba ubah nama folder "C:\kettletraining" menjadi "C:\pelatihankettle"
  3. Jalankan Spoon
  4. Buka file transformation "Baca_File_1.ktr" dan coba preview step "Excel Input"
  5. Akan muncul error karena step tidak menemukan referensi file "C:\kettletraining\Target Penjualan.xls"


  6. Sekarang buka file transformation "Baca_File_2.ktr" dan coba kembali preview step "Excel Input"
  7. Step akan membaca data dengan normal
  8. Selesai

Kesimpulan

Contoh di atas mendemonstrasikan pemanfaatan variable ${Internal.Transformation.Filename.Directory} untuk merujuk ke file yang secara relatif diketahui posisinya. Dengan penggunaan variable ini, paket transformation kita menjadi sangat fleksibel untuk mengambil file walaupun folder tempat transformation tersebut berada dipindahkan atau diganti namanya.

Semoga artikel ini bisa makin memperjelas penggunaan variable dan cara kerja Kettle. Apabila masih ada pertanyaan yang kurang jelas mengenai contoh di artikel ini, Anda dapat bertanya dengan bergabung ke user group kami di http://groups.google.com/group/pentaho-id.

ċ
Baca_File_1.ktr
(8k)
Unknown user,
Jul 31, 2009, 10:56 AM
ċ
Baca_File_2.ktr
(8k)
Unknown user,
Jul 31, 2009, 10:56 AM
Ĉ
Unknown user,
Jul 31, 2009, 9:00 AM
Comments