Kamis, 18 Desember 2008

Top-N per Dimension in Oracle BIEE

How to show Top 5 number of sales per city in Oracle Business Intelligence (EE)?

OOT: Karena blog ini didedikasikan untuk bangsa Indonesia [backsound lagu ‘Maju Tak Gentar’, dengan semangat ‘ 45 yang berapi-api] maka penjelasan mengenai tip dan trik Oracle BIEE mulai dari posting ini dan seterusnya ditulis dalam bahasa Indonesia [halah, ngaku aja bahasa Inggrisnya payah!!!]

Kali ini saya akan membahas cara menampilkan TopN per dimensi di Oracle Business Intelligence. Jadi setelah kebingungan demi kebingungan dalam mencari TopN per dimensi 1 per dimensi 2 [nah loh], munculah ilham [dengan sedikit wejangan mbah Google] yang akan dijelaskan berikut ini.

Sebelumnya, mungkin point 1 sangat dasar sekali tapi saya rasa perlu untuk dijelaskan. (Report berikut menggunakan Subject Area paint)

  1. Cara menampilkan TopN
    1. Di tab Criteria tambahkan filter pada measurement

    1. Ada 2 cara

i. Pilih Operator is in top dan isikan value yang diinginkan misal 5 (untuk menampilkan 5 teratas)

ii. atau tambah measurement Units lagi kemudian tambahkan Function aggregasi TopN

    1. Hasil dengan menggunakan pivot table… Jreng jreng….

note: jike menggunakan cara b.ii, simpan kolom measurement yang menggunakan function tersebut di Excluded area

  1. Cara menampilkan Top 5 per Region
    1. Dengan menggunakan cara b.ii tadi, di function aggregasi TOPN tambahan by nama_kolom_dimensi

    1. Dan yupe, semudah itu untuk dapat hasil

Note: kolom region ditempatkan di Section area untuk mendapatkan hasil seperti di atas

  1. Top N per dimensi per dimensi lainnya
    1. Bagaimana jika ingin menampilkan Top 5 UPC per Region per Market? Sejauh ini saya masih menggunakan cara workaround [wallahu’alam itu cara yang terbaik atau bukan, still researching] yaitu menggabungkan (concat) dimensi pertama dan dimensi kedua

    1. Sehingga menghasilkan report seperti berikut

  1. Dan seterusnya..

Meskipun blog ini ga (mungkin belum) ada yang baca, tapi semoga tulisan ini nantinya bisa bermanfaat. Cheers!!!

Kamis, 04 Desember 2008

How to Solve Out-of-Memory Error in Oracle BIEE


Dengan berbaik hati setelah segenap daya dikerahkan untuk mengetahui cara menyelesaikan error yang satu ini, here is one of the solutions you may try to solve the error. Setelah surfing [walaupun dengan keterbatasan jaringan ke Internet] seribu malam [halah ga deng seharian], akhirnya kita [tetap] memilih insting dan ide gila untuk ngotak ngatik sendiri demi menemukan solusinya.


Jadi begini keadaanya:
- Table yang mau diretrieve dari Oracle BIEE nya itu juta-jutaan records [thanks to database yang bisa ngehandle data segitu gede]
- Database yang dipake Greenplum
- Jadi koneksi Oracle BIEE ke Greenplum adalah PostgreSQL ODBC 8.03.01

Dan errornya:

State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 16001] ODBC error state: S1000 code: 1 message: Out of memory while reading tuples.; No query has been executed with that handle. [nQSError: 16002] Cannot obtain number of columns for the query result. (HY000)


Dan salah satu solusinya adalah (jreng jreng jreng):
- Ganti ODBC driver ke versi yang lebih pas dengan Oracle BIEE (kalo kita sih ganti ke 8.01.02)

I’m trying to figure out other possible solutions, tapi untuk sementara cara ini berhasil. Meskipun belum tau pasti root causenya apa, ya pilihan terbaik sejauh ini ganti ODBC driver ke versi yg lebih cocok dengan Oracle BIEE nya.


Dari segi performance ga jauh beda antara versi yang sebelumnya kita pake dengan versi yang skrg kita pake meskipun downgrade, dan setelah di cek di Oracle BIEE nya pun aman aman aja, dan yg penting error out-of-memory-nya udah ga ada.


Kalo mau share tentang masalah ini silahkan kasih komentar.