Dalam penggunaan object lookup expression di mapping (owb 11g, kurang tahu di versi sebelum ataupun sesudahnya) belum otomatis field output muncul dengan sendirinya. Tidak seperti tool etl yang lain yang sudah baik, tentunya ketika kita men-drag ke object kemudian sebelah kirinya sudah muncul dengan nama sama. Di owb 11g ini, masih harus mengetik sendiri secara manual, tentunya akan merepotkan, belum lagi salah menulis dan type data dan ukuran salah. Untuk mengurangi digunakanlah script dengan menggunakan omb plus.
Contoh berikut masih menggunakan nama standard ingrp1 dan outgrp1, apabila anda mengcode sendiri, tentunya namanya juga menyesuaikan. :)
Syntax:
# Change the following parameters (the map, the source operator name, its group name and the new expression operator name):
set source_map [Nama Mapping]
set expression_oper LOOKUP_EXP
set atts [OMBRETRIEVE MAPPING '$source_map' OPERATOR '$expression_oper' GROUP 'INGRP1' GET ATTRIBUTES]
foreach att $atts {
set l_adty [OMBRETRIEVE MAPPING '$source_map' OPERATOR '$expression_oper' GROUP 'INGRP1' ATTRIBUTE '$att' GET PROPERTIES (DATATYPE)]
set l_alen [OMBRETRIEVE MAPPING '$source_map' OPERATOR '$expression_oper' GROUP 'INGRP1' ATTRIBUTE '$att' GET PROPERTIES (LENGTH)]
set l_apre [OMBRETRIEVE MAPPING '$source_map' OPERATOR '$expression_oper' GROUP 'INGRP1' ATTRIBUTE '$att' GET PROPERTIES (PRECISION)]
set l_asca [OMBRETRIEVE MAPPING '$source_map' OPERATOR '$expression_oper' GROUP 'INGRP1' ATTRIBUTE '$att' GET PROPERTIES (SCALE)]
OMBALTER MAPPING '$source_map' ADD ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper'
OMBALTER MAPPING '$source_map' MODIFY ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper' SET PROPERTIES (DATATYPE) VALUES ('$l_adty')
if {[regexp "NUM." $l_adty] > 0} {
OMBALTER MAPPING '$source_map' MODIFY ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper' SET PROPERTIES (PRECISION) VALUES ('$l_apre')
OMBALTER MAPPING '$source_map' MODIFY ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper' SET PROPERTIES (SCALE) VALUES ('$l_asca')
}
if {[regexp ".CHAR" $l_adty] > 0} {
OMBALTER MAPPING '$source_map' MODIFY ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper' SET PROPERTIES (LENGTH) VALUES ('$l_alen')
}
if {[regexp "CHAR" $l_adty] > 0} {
OMBALTER MAPPING '$source_map' MODIFY ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper' SET PROPERTIES (LENGTH) VALUES ('$l_alen')
}
OMBALTER MAPPING '$source_map' MODIFY ATTRIBUTE '$att' OF GROUP 'OUTGRP1' OF OPERATOR '$expression_oper' SET PROPERTIES (EXPRESSION) VALUES ('INGRP1.$att')
}
Terbatasnya pengetahuan teknologi informasi di Indonesia khususnya business intelligence data warehouse data mining menjadi perhatian tersendiri, sehingga berinisiatif memunculkan web-blog ini. Sekedar sharing sistem datawarehouse, datamart, ataupun business intelligent mulai dari ER Desain/Star Schema,ETL, Reporting, hingga training. Tool yang digunakan (Data Stage, (Kettle, Mondrian, BI Server, Weka) Pentaho , Jasper, Sagent, Business Object, dll)
Senin, 27 Desember 2010
List script di omb plus
Script untuk menampilkan objek yang telah dibuat, dimana lebih memudahkan pencatatan dibanding ketika kita harus masuk design center kemudian mencatat satu-persatu. Dalam hal ini diberikan contoh untuk menampilkan object 'mapping' yang ada di project.
Syntax:
set mappings [OMBLIST MAPPINGS]
foreach mapping $mappings {puts '$mapping'}
Syntax:
set mappings [OMBLIST MAPPINGS]
foreach mapping $mappings {puts '$mapping'}
Minggu, 26 Desember 2010
Disconnet script di omb plus
Script atau syntax di omb plus untuk disconnect, dimana kadang ditemui ketika akan melakukan debungging/code ala omb plus kepada project/mapping yang dibuat ternyata muncul pesan lock, padahal mapping/project tersebut sudah dalam keadaan close di owb editor (design center).
Syntaxnya:
OMBREVERT
OMBDISCONNECT
Bisa disimpan ke dalam file untuk digunakan dilain waktu, daripada menghafalkan banyak script. :)
Syntaxnya:
OMBREVERT
OMBDISCONNECT
Bisa disimpan ke dalam file untuk digunakan dilain waktu, daripada menghafalkan banyak script. :)
Commit script di omb plus
Script commit untuk commit code di omb plus, dengan syntax OMBCOMMIT. simpan filenya, jangan lupa extesion file *.tcl. Simple memang, tetap sangat membantu
Koneksi OMB Plus dengan script
Membuat semacam file *tcl untuk koneksi ke omb plus di komputer. Sengaja dibuat script untuk memudahkan koneksi, apabila digunakan di lain waktu, dibanding menggunakan omb plus secara manual seperti halnya sql plus.
set owbclient [user owb]
set owbclientpwd [password owb]
set host [server owb]
set port [port owb]
set service orcl
set workspaceOwner [biasanya sama dengan nama user owb]
set workspaceName [bisanya sama dengan nama user owb]
set project [nama project di owb]
set module ORACLE_DW_TARGET
OMBCONNECT $owbclient/$owbclientpwd@$host:$port:$service USE WORKSPACE '$workspaceOwner.$workspaceName'
OMBCC '/$project/$module'
Setelah click omb plus, kemudian change directory [cd] ke tempat script ini berada. Jangan lupa / dibalik menjadi \ :). Selamat mencoba
set owbclient [user owb]
set owbclientpwd [password owb]
set host [server owb]
set port [port owb]
set service orcl
set workspaceOwner [biasanya sama dengan nama user owb]
set workspaceName [bisanya sama dengan nama user owb]
set project [nama project di owb]
set module ORACLE_DW_TARGET
OMBCONNECT $owbclient/$owbclientpwd@$host:$port:$service USE WORKSPACE '$workspaceOwner.$workspaceName'
OMBCC '/$project/$module'
Setelah click omb plus, kemudian change directory [cd] ke tempat script ini berada. Jangan lupa / dibalik menjadi \ :). Selamat mencoba
Jumat, 15 Oktober 2010
Instalasi OBIEE Oracle 11G
Software yang semakin besar dan semakin ribet. Silakan di cek dan download di http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html. Setelah diinstal sesuai panduan http://download.oracle.com/docs/cd/E14571_01/bi.1111/e10539/c4_installing.htm#CIHDJGIH. Jika menggunakan default (next-next), jangan lupa user weblogic :)
Senin, 12 Juli 2010
Cloning Row di Kettle Data Integration
Kalkulasi di Kettle Data Integration
Union di Kettle Data Integration
Jumat, 09 Juli 2010
Aggregate di Kettle Data Integration
Dalam pengolahan data ke Datamart ataupun source olap digunakan data dalam bentuk aggregate (measure) seperti sum, avg, count, dan lain-lain. Nah ETL disini sebagai OLTP dimana data didapatkan tentunya harus meng-aggregate source data tersebut sebelum di-store ke Datamart/Olap Source. Disini coba dibahas bagaimana menggunakan aggregate di Kettle Data Integration. Nah objek yang digunakan disini adalah Group By yang terdapat di folder Statistics-Group By, bukan lagi menggunakan objek "Aggregate Rows" yang ada di folder Deprecated->Aggregate Row, karena beritanya objek ini akan dihilangkan di versi-versi mendatang. :)
Kamis, 08 Juli 2010
Sequence dan loop di Kettle Data Integration
Belajar dari kasus yang ada ditambah melihat contoh software bawaan Data Integration, kadang proses simultan diperlukan proses sequential ataupun looping (perulangan) dengan kondisi tertentu. Ternyata objek yang digunakan adalah objek input->Generate row.
Double click pada objek generate row, limit menunjukkan batasan maksimum generate, kemudian tambahkan objeck "add sequence" untuk mendapatkan nilai integer dari sequential generate row sebanyak limit. Output bisa ke log, table ataupun tabel database. Run kemudian bisa dilihat hasilnya.Mari kita coba dulu
Double click pada objek generate row, limit menunjukkan batasan maksimum generate, kemudian tambahkan objeck "add sequence" untuk mendapatkan nilai integer dari sequential generate row sebanyak limit. Output bisa ke log, table ataupun tabel database. Run kemudian bisa dilihat hasilnya.Mari kita coba dulu
Variabel di Kettle Data Integration
Seperti halnya tool sejenis dalam aplikasi ETL, kettle juga terdapat setting untuk penggunaan variabel dalam transform. Disini, variabel dapat dibuat di "edit->set environment variables" (Ctrl+Alt+J), "execute tranformation", ataupun di file kettle.properties (versi dibawah 4.0.0), jika menggunakan data integration di "edit->edit the kettle.properties file" (Ctrl+Alt+P)
$HOME/.kettle (Unix/Linux/OSX)
C:\Documents and Settings\\.kettle\ (Windows)
C:\Users\\.kettle\ (Windows Vista)
$HOME/.kettle (Unix/Linux/OSX)
C:\Documents and Settings\
C:\Users\
Data Integration Repository
Pelajaran pertama dari tutorial ETL Kettle, kita coba jelaskan cara membuat transformasi sederhana menggunakan aplikasi Spoon, yang merupakan bagian dari suite Pentaho Data Integrasi.
Transformasi pada contoh kita akan membaca catatan dari tabel di database Oracle, dan kemudian akan memfilter dan output ke dua file teks terpisah. Jadi terdapat filter mirip true/false, dimana salah satu kondisi akan keluar di file yang lain.
Transformasi pada contoh kita akan membaca catatan dari tabel di database Oracle, dan kemudian akan memfilter dan output ke dua file teks terpisah. Jadi terdapat filter mirip true/false, dimana salah satu kondisi akan keluar di file yang lain.
Senin, 05 Juli 2010
Pentaho Data Integration (Kettle)
Pentaho Data Integration
adalah tool yang fleksibel yang bisa digunakan pada sejumlah kasus yang luas meliputi:
• Data warehouse populate data built-in untuk slowly changing dimension dan membuat surrogate key
• Migrasi data antara database yang berbeda dan aplikasi
• Loading set data besar ke dalam database full advantage of cloud, clustered and massively parallel processing environments• Data Cleansing dengan langkah-langkah mulai dari yang sangat sederhana untuk transformasi yang sangat kompleks
• Integrasi data termasuk kemampuan untuk meningkatkan ETL real-time sebagai sumber data untuk Pentaho Reporting
adalah tool yang fleksibel yang bisa digunakan pada sejumlah kasus yang luas meliputi:
• Data warehouse populate data built-in untuk slowly changing dimension dan membuat surrogate key
• Migrasi data antara database yang berbeda dan aplikasi
• Loading set data besar ke dalam database full advantage of cloud, clustered and massively parallel processing environments• Data Cleansing dengan langkah-langkah mulai dari yang sangat sederhana untuk transformasi yang sangat kompleks
• Integrasi data termasuk kemampuan untuk meningkatkan ETL real-time sebagai sumber data untuk Pentaho Reporting
Jumat, 25 Juni 2010
Instalasi Jasper ETL
Kamis, 24 Juni 2010
Setting event driven report di iReport
Mari kita buat dulu database di mysql dulu sebagai contoh.
Misal dengan nama eventdriven, kemudian create table customer, dengan syntax sebagai berikut:
Misal dengan nama eventdriven, kemudian create table customer, dengan syntax sebagai berikut:
Selasa, 22 Juni 2010
Membuat multi axis di chart report iReport
Menampilkan data yang berbeda secara luas nilainya bisa sulit menggunakan axis/sumbu data tunggal. Dengan menggunakan dua atau lebih sumbu, data dapat lebih mudah dipahami. iReport termasuk built-in mendukung untuk grafik multi-sumbu melalui penggunaan paket JFreeChart.iReport 3.5.0 digunakan sebagai tutorial yang identik dengan versi Profesional iReport Community Edition. Konsep-konsep berlaku untuk versi iReport selanjutnya, dengan user interface berbeda.
Menggunakan domain field di iReport
Lanjutan dari sebelumnya, tentang filter domain.
filter sekarang diatur. Tujuan selanjutnya adalah untuk membuat laporan sederhana menggunakan tiga band (judul, detail dan ringkasan). Selain itu, laporan ini akan berisi variabel.Kita dapat menambahkan sebuah field untuk laporan dengan menyeret dan menjatuhkan field dari jendela Domain ke lokasi yang diinginkan dalam laporan.
filter sekarang diatur. Tujuan selanjutnya adalah untuk membuat laporan sederhana menggunakan tiga band (judul, detail dan ringkasan). Selain itu, laporan ini akan berisi variabel.Kita dapat menambahkan sebuah field untuk laporan dengan menyeret dan menjatuhkan field dari jendela Domain ke lokasi yang diinginkan dalam laporan.
Senin, 21 Juni 2010
Membuat domain dan filter repository iReport
Bahasan kali ini memungkinkan kita untuk menggunakan interface dari iReport dikombinasikan dengan kemudahan penggunaan domain untuk membuat layout yang kompleks dan perhitungan. Bahasan ini menggunakan iReport untuk membuat laporan berdasarkan Domain. Domain adalah lapisan semantik yang memungkinkan pengguna untuk membuat laporan tanpa harus mengerti atau menulis SQL kompleks. Sebagai tambahan, pengguna akhir sering menggunakan Domain untuk membuat laporan dengan Ad Hoc perancang JasperServer.
Jumat, 18 Juni 2010
Menggunakan xml subdataset
Contoh data xml:
untuk menampilkan beberapa telpon dari setiap nomor orang di address book.
Untuk menampilkan daftar nomor kita perlu menciptakan sebuah sub-dataset mulai dari node orang. Dataset utama akan bekerja pada node orang, sedangkan sub-dataset akan memproses semua tag telepon dari node orang tertentu.Untuk menampilkan data terus oleh Dataset-sub kita bisa menggunakan subreport (yang akan memungkinkan untuk memiliki beberapa tingkat, karena subreport dapat berisi subreports lainnya), atau kita bisa menggunakan elemen Daftar sederhana.
untuk menampilkan beberapa telpon dari setiap nomor orang di address book.
Untuk menampilkan daftar nomor kita perlu menciptakan sebuah sub-dataset mulai dari node orang. Dataset utama akan bekerja pada node orang, sedangkan sub-dataset akan memproses semua tag telepon dari node orang tertentu.Untuk menampilkan data terus oleh Dataset-sub kita bisa menggunakan subreport (yang akan memungkinkan untuk memiliki beberapa tingkat, karena subreport dapat berisi subreports lainnya), atau kita bisa menggunakan elemen Daftar sederhana.
Kamis, 17 Juni 2010
Menggunakan xml sebagai data source
Sebuah sumber data XML menggunakan file XML untuk menyediakan data untuk mencetak. Struktur XML tidak datar seperti meja, tidak ada baris dan kolom, lebih mirip dengan sebuah pohon, di mana kita dapat memiliki beberapa tingkatan data. Untuk alasan ini kita perlu menggunakan XPath query untuk mengidentifikasi node dari dokumen XML harus dianggap sebagai catatan. Berikut XML cukup sederhana untuk dengan mudah menjelaskan bagaimana untuk melakukannya:
Rabu, 16 Juni 2010
Membuat expression di groovy
JasperReports mendukung bahasa scripting untuk mendefinisikan ekspresi (termasuk Groovy dan JavaScript), menghindari kerumitan yang dialami oleh penulis laporan yang tidak tahu Java, yang telah lama bahasa default yang digunakan untuk menentukan ekspresi (seperti perhitungan dan elaborasi teks) .
Groovy mungkin adalah pilihan terbaik karena beberapa alasan:
- sepenuhnya kompatibel scripting java
- sangat fleksibel (tidak diketik seperti halnya Java)
- Bahasa Groovy dikonversi dalam kode Java byte, menghindari masalah performa khas dari bahasa ditafsirkan (seperti JavaScript)
Groovy mungkin adalah pilihan terbaik karena beberapa alasan:
- sepenuhnya kompatibel scripting java
- sangat fleksibel (tidak diketik seperti halnya Java)
- Bahasa Groovy dikonversi dalam kode Java byte, menghindari masalah performa khas dari bahasa ditafsirkan (seperti JavaScript)
Senin, 14 Juni 2010
Membuat sub report di iReport 3.7.1
Subreport adalah laporan yang disertakan dalam laporan lain. Hal ini memungkinkan penciptaan tata letak yang sangat kompleks dengan porsi yang berbeda dari satu dokumen diisi menggunakan berbagai sumber data dan laporan.
Dalam bahasan ini kami ingin membuat buku alamat pencetakan untuk setiap orang dalam buku alamat nama, daftar nomor telepon dan daftar alamat email.
Dalam bahasan ini kami ingin membuat buku alamat pencetakan untuk setiap orang dalam buku alamat nama, daftar nomor telepon dan daftar alamat email.
Jumat, 11 Juni 2010
Menggunakan variabel di iReport
Rabu, 09 Juni 2010
Menggunakan parameter di iReport
Setelah bahasan sebelumnya menggunakan sajian data gambar dalam bentuk chart, sekarang kita coba dengan menggunakan parameter atau penggunaan variabel pada report yang dipanggil, sehingga ketika run/preview harus memasukkan input parameter sebagai filter yang menghasilkan data report sudah terfilter berdasar parameter yang dimasukkan.
Membuat chart di iReport
Masih menggunakan source sample database online, dengan contoh (Sample Database HSQLDB test) kemudian di report query dibery queryselect count(*) orders, year(ORDERDATE) year, MONTH(ORDERDATE) month from orders group by year(ORDERDATE), MONTH(ORDERDATE) order by year(ORDERDATE), MONTH(ORDERDATE), dengan maksud menghitung jumlah order pertahun dan bulan.Ambil objek chart dari kotak pallette, nanti akan muncul banyak jenis chart, mulai pie chart, bar chart, line chart, dan lain-lain, contoh ambil chart 3d, klik drag ke area title (di atas page header).
Selasa, 08 Juni 2010
Deploy report di iReport
Setelah selesai desain dan preview dilakukan proses deploy ke server. Jika sebelumnya file yang dihasilkan adalah file jasper.
Membuat Report di iReport (Bagian II)
Sambungan dari topik sebelumnya Membuat Report di iReport (Bagian I), selanjutnya cara mengekspor hasil report kedalam bentuk lain, tetapi sebelumnya, ketika habis preview disimpan dulu hasil preview [nama file].jrprint, kalau dalam desain [nama file].jrxml.
Senin, 07 Juni 2010
Membuat Report di iReport (Bagian I)
Merupakan salah satu tool dari jasperforge.org, dan bisa didownload dahulu. Dalam tulisan ini menggunakan tool iReport 3.7.1, walaupun sebenarnya ada yang lebih baru (update), yakni iReport 3.7.2.
Selasa, 01 Juni 2010
Membuat IReport dengan Net Beans
Dikenal juga dengan istilah Jasper Report Business Intelligent.
Step awal instalasi dulu Java NetBeans IDE (disini menggunakan NetBeans 6.8), download plugin iReport, dan install (*.nbm) dengan add plugin ke netbeans.
Step awal instalasi dulu Java NetBeans IDE (disini menggunakan NetBeans 6.8), download plugin iReport, dan install (*.nbm) dengan add plugin ke netbeans.
Selasa, 25 Mei 2010
Oracle Publisher I
Oracle Business Intelligence Publisher (BI Publisher, atau yang lebih dikenal juga dengan XML Publisher adalah jawaban atas usaha pelaporan bagi cara membuat, mengatur, dan menyampaikan format dokumen tingkat tinggi dengan biaya efisien. Bagi bagian IT tinggal membuat template ataupun model data yang ditampilkan dengan berbagai source dan infrastruktur. BI Publisher dapat menggenerate puluhan dari ratusan dokumen per jam dengan meminimalisir akibat transaksi sistem generate. Report dapat dilihat secara online ataupun terjadwal dan disalurkan ke pengguna yang membutuhkan
Selasa, 02 Februari 2010
FTP Dos Batch File
Kadang kebutuhan source data tidak langsung dari database, bisa dari file, entah txt, csv, xml dan lain-lain. Permasalahan akan muncul bila ternyata file tersebut berada di server lain dan hanya diberikan access ftp untuk download dulu.
Sabtu, 30 Januari 2010
Business Object Literature
Terkadang perlu menulis juga di buku. Tidak semua harus ditulis di blog, dimana karakteristik pembaca 'Indonesia' belum menghargai hasil karya tulis orang lain, minimal meninggalkan komentar, bukan googling dibaca dan ditutup begitu saja, untuk menyelesaikan masalahnya sendiri. :(
Berikut sedikit tulisan yang sudah dibukukan
Langganan:
Postingan (Atom)