Apakah Anda sudah menggunakan expression dalam SSIS package yang Anda buat? Apabila belum, gunakanlah, karena Expression akan sangat membantu proses pembuatan SSIS. Saya sendiri belum pernah mengerjakan sebuah project SSIS yang tidak ada expression di dalamnya.
Mungkin pada saat pertama kali menggunakannya Anda akan mengalami kesulitan, but practise makes perfect. Setelah beberapa waktu, Anda akan terbiasa dan terkagum-kagum sendiri dengan expression, dan tidak dapat hidup tanpanya. Expression dapat berupa kombinasi variable, column (apabila menggunakannya dalam Data Flow Task), dan SSIS built-in function yang menghasilkan sebuah nilai. Nilai keluaran expression dapat berupa integer/numeric, string, boolean, atau datetime. It's easy, simple, and sexy. Expression dapat digunakan dalam variable, precedence constraint, Execute SQL Task, Derived Column, Conditional Split, dan masih banyak lagi.
Syntax Expression hampir sama dengan syntax yang digunakan bahasa pemgrograman C dan C# dan T-SQL, dengan panjang expression dibatasi sampai 4000 karakter. Pada beberapa bagian di SSIS kita akan dibantu dengan kehadiran Expression Builder yang mempermudah pembuatan expression. Anda dapat men-drag sebuah variable atau function dan men-drop nya di Expression Editor. Untuk mengecek apakah nilai yang Anda masukkan sudah benar dan sesuai dengan yang diinginkan, klik tombol Evaluate Expression.
Berikut adalah beberapa syntax Expression sederhana yang sering saya gunakan:
GetDate() : built-in function yang akan menghasilkan tanggal saat ini dengan tipe data datetime, syntax nya seperti function GetDate() yang terdapat di T-SQL
Apabila ingin mengubah suatu nilai kedalam tipe data yang lain, kita dapat melakukan cast nilai tersebut dengan tipe data yang baru. Expression (DT_WSTR, 29) GETDATE() akan menghasilkan nilai dengan tipe data unicode string dengan panjang 29 karakter.
Untuk mengambil nilai variable, gunakan @ ditambah dengan nama variable-nya. Contohnya @[System::UserName] atau @UserName akan mengambil nilai pada system variable UserName.