Skip to main content

SSRS handling error

Sumber: Microsoft.com
Kali ini saya akan membahas bagaimana SSRS atau disebut sebagai SQL Server Reporting Service dalam menangani error saat menjalankan report. Awalnya masalah ini muncul ketika ingin memisahkan 3 value dalam satu kolom yang dipisahkan dengan karakter tertentu.

Contoh:
Format == Tipe Invoice | No Invoice | Tanggal Invoice
Data == Pembayaran Buku | 0101/Nov/2017 | 21 Januari 2018

Dari contoh data tersebut, saya ingin memisahkan menjadi 3 kolom. jika di expression menggunakan fungsi Split.

Untuk kolom Tipe Invoice
=IIf(InStr(Fields!Invoice_Info.Value,"|")>0,Trim(Split(Fields!Invoice_Info.Value,"|")(0)),"")
Untuk kolom No Invoice
=IIf(InStr(Fields!Invoice_Info.Value,"|")>0,Trim(Split(Fields!Invoice_Info.Value,"|")(1)),"")
Untuk kolom Tanggal Invoice
=IIf(InStr(Fields!Invoice_Info.Value,"|")>0,Trim(Split(Fields!Invoice_Info.Value,"|")(2)),"")
Ternyata penggunaan langsung di expression, mampu memisahkan data menjadi kolom dengan bantuan karakter "|". Namun jika dalam data tersebut tidak memiliki karakter "|", maka 3 kolom yang dihasilkan bernilai "#Error". Hal ini tidak dapat langsung diselesaikan, walaupun di expression tersebut telah ditambahkan kode untuk handle kolom yang tidak ada isiannya.

Agar berhasil menampilkan data yang dimaksud dengan pemisahan menggunakan karakter "|", maka kode untuk menampilkan data 3 kolom tersebut diletakkan di tab field pada dataset, tanpa perlu mengikutsertakan kode untuk handle error.
kode untuk handle error, atau bisa dikatakan handle data yang kosong diletakkan pada expression masing-masing kolom di report.

=IIf(IsNothing(Fields!Inv_Type.Value),"",Fields!Inv_Type.Value)
=IIf(IsNothing(Fields!Inv_No.Value),"",Fields!Inv_No.Value)
=IIf(IsNothing(Fields!Inv_Date.Value),"",Fields!Inv_Date.Value)

Update: 19-07-2018
Jika setiap proses yang rumit diletakkan langsung di expression pada report dan menghasilkan isian #Error, maka sudah saatnya ada pemisahan penulisan expression tersebut. Pisahkan penulisan expression menjadi kolom baru. Jika masih bermasalah, maka masih harus dipecah lagi.

Semoga penjelasan saya jelas, selamat mencoba dan silahkan berkomentar jika ada yang ingin ditanyakan.
Terima kasih.

Comments

Popular posts from this blog

karimun ganti alternator 70A

Tanggal 26 november 2011 kemarin terjadi sesuatu hal yang menguras kantong ajaib alias "dompet". gimana tidak, selama perjalanan ke mangga dua, AC mati. setelah benerin AC, malah Aki keok, untung ada bengkel. setelah ganti aki baru, indikator aki masih nyala di kabin driver. karena istri gak mau service atau beli alternator 2nd. akhirnya tanggal 4 desember 2011 kemarin kepasang deh alternator 70 A merk BOSCH pada acara Gathering Karimun Kaskus ke-3. Berikut komentar salah satu member Karimun Kaskus, Om HT (yang masang alternator di karimun saya) : Halah sampe saya juga lupa lapor mengenai alternator , syukur deh saya bisa bantu temen2 lagi dengan tersedianya alternator optional 70 amp, dengan harga bersahabat dalam keadaan baru gress yang plek dengan karimun, seharga 800.000 saja tanpa pasang dan belom berikut ongkir, Ritual pemasangan : Pulley alternator beda dengan mm, tapi disiasati dengan menukar

Hitung Jumlah Kolom di Tabel (SQL)

Hitung Jumlah Kolom di Tabel / Count the number of columns in Table (SQL). Biasanya kita malas hitung nih jumlah kolom yang ada pada suatu tabel, saking banyaknya value yang mau di capture. permasalahannya, gimana caranya ya ??? ya dengan hitung manual, yang pasti lebih ngreget waktu hitungnya kalo fieldnya lebih dr 50 kolom. ya pake query aja, kan lebih simple dan gak usah pake' kelupaan. SELECT COUNT(*) FROM INFORMATION_SCHEMA.[COLUMNS] WHERE TABLE_NAME in (' [nama_tabel]')  Database yang digunakan SQL Server.

Filosopi Matematika #2

Kita pasti pernah mengetahui rumus matematika , seperti berikut (+) * (+) = (+) (-) * (+) atau (+) * (-) = (-) (-) * (-) = (+) Ternyata rumus tersebut memiliki makna dalam kehidupan, sepert: (+) * (+) = (+) Maknanya, mengatakan yang BENAR terhadap sesuatu yang BENAR adalah tindakan yang BENAR (-) * (+) atau (+) * (-) = (-) Maknanya, mengatakan BENAR atas sesuatu yang SALAH atau sebaliknya mengatakan SALAH terhadap sesuatu yang BENAR adalah suatu tindakan yang SALAH. (-) * (-) = (+) Maknanya, mengatakan SALAH terhadap sesuatu yang SALAH adalah tindakan yang BENAR. Semoga kita dapat mengambil hikmahnya atas rumus matematika tersebut. Sumber: "ExceLEARN" Bulletin ExecuTrain of Jakarta | Edisi 3 Tahun IX | Jul-Sep 2014