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

Format Date SQL Server

Sebenarnya artikel kali ini hanyalah catatan saya menggunakan format date di SQL Server. Saya sering kali lupa harus menggunakan fungsi yang mana untuk melakukan format pada sebuah tanggal. Kejadiannya, saya memerlukan hanya untuk mengambil tanggalnya saja dari penulisan tanggal yang lengkap (tanggal, bulan, tahun). Berbekal dari 2 rujukan: https://stackoverflow.com/questions/28842873/convert-sql-server-date-to-mm-yyyy https://docs.microsoft.com/en-us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017 Akhirnya saya menemukan apa yang saya butuhkan. select getdate() >> 2019-01-22 11:14:32.630 select format(getdate(), 'dd') >> 22  select datepart(day,getdate()) >> 22

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.

FOUR Productivity FEYNMAN- strategies

Ada twit yang menarik FOUR Productivity FEYNMAN- strategies: i) Stop trying to know-it-all. ii) Don't worry about what others are thinking. iii) Don't think about what you want to be, but what you want to do. iv) Have a sense of humor and talk honestly. pic.twitter.com/NMtwmpWECk — Prof. Feynman (@ProfFeynman) July 1, 2018 namun yang menarik lagi di komentarnya, banyak komentar menarik yang juga dapat dijadikan bahan pembelajaran diri. Salah satu komentarnya berisi  jika kita sudah mengetahui semuanya, kita sudah mati . Hal ini berarti " belajar, tidak ada batas waktu ".