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

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

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.

Bagaimana mengetahui siapa yang menambahkan akun ke dalam Active Directory

Kita mengetahui bahwa Active Directory  merupakan salah satu sistem yang penting di sebuah Perusahaan, karena menyimpan data akun dan informasi detailnya. Jika sebuah perusahaan tidak memiliki seorang staff yang memiliki tugas khusus dalam pengelolaan sistem ini, maka kita harus mengetahui siapa saja yang sudah menambahkan akun ke dalam sistem tersebut. Kita membutuhkan informasi log perubahan data, untuk mencegah adanya kebocoran informasi / security breach . Setelah melalui browsing di internet, akhirnya menemukan caranya dari website Netwrix dan Social Technet on Microsoft . Jalankan Configure Audit Policy Settings dengan perintah GPMC.msc → Edit “Default Domain Policy” → Computer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Audit Policy → Audit account management → Define → Success. lakukan konfigurasi object-level Active Directory auditing settings dengan membuka ADSI Edit → Connect to “Default naming context”→ Klik “OK” → klik kanan Domai