join table

54 views
Skip to first unread message

reki ardiansyah

unread,
Aug 25, 2009, 5:26:40 AM8/25/09
to penta...@googlegroups.com
saya mempunyai tiga table :
1. ms_propinsi dgn field2 : id_propinsi (pk) varchar3
                                       nama_propinsi  varchar25
2. ms_komoditi dgn field2 : id_komoditi (pk) varchar3
                                        nama_komoditi  varchar15
3. tr_penjualan dgn field2 : id_propinsi (fk) varchar3
                                       id_komoditi (fk) varchar3
                                       jumlah int

bagaimana proses transformnya ya agar output nya nanti mengeluarkan data spt ini
NAMA_PROPINSI       NAMA_KOMODITI       JUMLAH
Propinsi A                  Komoditi A                   100
Propinsi B                  Komoditi B                    200

dengan menggunakan etl di spoon.

terima kasih atas bantuannya.

Feris Thia

unread,
Aug 25, 2009, 5:31:01 AM8/25/09
to penta...@googlegroups.com
Hi Pak Reki,

Dengan banyak cara Pak. Salah satunya :
1. Baca tr_penjualan sebagai stream utama (step Table Input)
2. Tambahkan step Table Input untuk ms_propinsi 
3. Tambahkan step Table Input untuk ms_komoditi
4. Pertama hubungkan stream 1 & 2 dengan step "Stream lookup", gunakan id_komoditi = id_komoditi sebagai joining key nya. Ambil hasil lookup "nama_komoditi"
5. Kemudian hubungkan stream 4 & 3 dengan step "Stream lookup", gunakan id_propinsi = id_propinsi sebagai joining key nya
Ambil hasil lookup "nama_propinsi"
6. Tambahkan step "Select Values" di akhir stream untuk memilih field2 yang kita inginkan saja.

Demikian Bung Reki. Semoga membantu ;)

Regards,

Feris

2009/8/25 reki ardiansyah <rekiard...@gmail.com>



--
Thanks & Best Regards,

Feris Thia
Business Intelligence Consultant
PT. Putera Handal Indotama
Phone  : +6221-30119353
Fax      : +6221-5513483
Mobile : +628176-474-525
http://www.phi-integration.com
http://pentaho.phi-integration.com

reki ardiansyah

unread,
Aug 25, 2009, 5:38:26 AM8/25/09
to penta...@googlegroups.com
trims pa', akan saya coba.
sbb masih banyak sekali fungsi(Steps) di dalamnya (spoon) yg belum diketahui cara penggunaannya

Regards


2009/8/25 Feris Thia <fe...@phi-integration.com>

Feris Thia

unread,
Aug 25, 2009, 5:45:13 AM8/25/09
to penta...@googlegroups.com
Iya Pak Reki,

Tapi sebenarnya jangan banyak berfokus di step tapi bagaimana aliran stream dari row & meta datanya bekerja. Dan juga kalau bisa eksplorasi source codenya kalau memungkinkan ;)

Semoga membantu...

2009/8/25 reki ardiansyah <rekiard...@gmail.com>

trims pa', akan saya coba.
sbb masih banyak sekali fungsi(Steps) di dalamnya (spoon) yg belum diketahui cara penggunaannya

Regards

bambang sutanto

unread,
Aug 26, 2009, 12:32:19 AM8/26/09
to penta...@googlegroups.com
Dear all,
Kalau saya menggunakan step "Execute SQL" , misalkan : Select * from tabel_A , untuk step selanjutnya saya harus menggunakan apa supaya dapat mengambil output hasil query di "Execute SQL" tersebut. Terima kasih
 
Regards
Bambang

Andreas

unread,
Aug 26, 2009, 1:00:14 AM8/26/09
to Pentaho User Group Indonesia
Pak Bambang,

Mungkin kalau ingin seperti itu langsung saja menggunakan Object
"Table Input" tidak perlu menggunaka object" Execute SQL", query-nya
dimasukkan diobject tersebut.
Lalu create Object Table Output. Lalu tinggal dibuat saja arah
transformasinya dari Table Input ke Table Output. Save - run.

Regards,
Andreas

On Aug 26, 11:32 am, "bambang sutanto" <bambang.suta...@andini.co.id>
wrote:

bambang sutanto

unread,
Aug 26, 2009, 1:14:53 AM8/26/09
to penta...@googlegroups.com
Terima kasih pak Andreas atas masukkannya, tetapi kalau misalkan saya butuh
parameter didalam querynya? kemudian hasil query itu saya pakai untuk update
tabel yang sama.
Jadi , begini pak untuk lebih jelasnya. Saya punya tabel_A itu saya cari
yang nilai tabel_A.field_1 nya bernilai 0. Kemudian saya cari nilai max dari
tabel_A.Field_1 tersebut dengan bersadar parameter2 yang sama dari field2
lain di tabel_A itu. Kemudian hasil nilai max yang didapat itu saya tambah 1
kemudian diupdate ke tabel_A.Field_1 yang tadinya bernilai 0 itu.
Demikian pak Andreas permasalahan saya. Mungkin pak Andreas atau rekan2 lain
ada masukkan buat saya? Terima kasih

Regards
Bambang

reki ardiansyah

unread,
Aug 26, 2009, 2:08:51 AM8/26/09
to penta...@googlegroups.com
saya sudah coba solusi kemaren,, tp masih terdapat error.
kesalahannya kira2 dimana ya pa'.

berikut saya lampirkan file .ktr yg sudah dibuat

trims

2009/8/25 Feris Thia <fe...@phi-integration.com>
bmg.ktr

bambang sutanto

unread,
Aug 26, 2009, 2:27:14 AM8/26/09
to penta...@googlegroups.com
Kalo menurut saya mungkin untuk stream lookup-nya sendiri2 aja pak, tr_penjualan dengan ms_propinsi kemudian hasilnya dilookup lagi dengan ms_komoditi
 
Regards
Bambang

Feris Thia

unread,
Aug 26, 2009, 11:23:27 PM8/26/09
to penta...@googlegroups.com
Pak Bambang,

Untuk parameter bisa dilakuan dengan cara mengirimkan tanda "?" atau environment variable. Saya lagi dalam proses membuat artikel untuk menjawab Pak Bambang, hampir selesai Pak :)

Terima Kasih,

Feris 

2009/8/26 bambang sutanto <bambang...@andini.co.id>

Terima kasih pak Andreas atas masukkannya, tetapi kalau misalkan saya butuh
parameter didalam querynya? kemudian hasil query itu saya pakai untuk update
tabel yang sama.
Jadi , begini pak untuk lebih jelasnya. Saya punya tabel_A itu saya cari
yang nilai tabel_A.field_1 nya bernilai 0. Kemudian saya cari nilai max dari
tabel_A.Field_1 tersebut dengan bersadar parameter2 yang sama dari field2
lain di tabel_A itu. Kemudian hasil nilai max yang didapat itu saya tambah 1
kemudian diupdate ke tabel_A.Field_1 yang tadinya bernilai 0 itu.
Demikian pak Andreas permasalahan saya. Mungkin pak Andreas atau rekan2 lain
ada masukkan buat saya? Terima kasih

Regards
Bambang

bambang sutanto

unread,
Aug 26, 2009, 11:48:40 PM8/26/09
to penta...@googlegroups.com
Thanks pak.
Pak Feris, untuk konfirmasi trainingnya pak Feris kirim via apa? fax atau email?
 
Regards
Bambang
----- Original Message -----
From: Feris Thia
Sent: Thursday, August 27, 2009 10:23 AM (Siang)
Subject: [pentaho-id] Re: Execute SQL

Feris Thia

unread,
Aug 28, 2009, 12:49:35 PM8/28/09
to penta...@googlegroups.com
Pak Bambang,

Saya sudah membuat artikel untuk menjawab permasalahan Pak Bambang dan semoga benar menjawab ya Pak. Berikut adalah linknya :

Disana ada 2 solusi dan sengaja solusi pertama agak panjang untuk sekalian memperkenalkan berbagai step sedangkan solusi kedua sangat pendek, hanya 2 step :)

2009/8/26 bambang sutanto <bambang...@andini.co.id>

Terima kasih pak Andreas atas masukkannya, tetapi kalau misalkan saya butuh
parameter didalam querynya? kemudian hasil query itu saya pakai untuk update
tabel yang sama.
Jadi , begini pak untuk lebih jelasnya. Saya punya tabel_A itu saya cari
yang nilai tabel_A.field_1 nya bernilai 0. Kemudian saya cari nilai max dari
tabel_A.Field_1 tersebut dengan bersadar parameter2 yang sama dari field2
lain di tabel_A itu. Kemudian hasil nilai max yang didapat itu saya tambah 1
kemudian diupdate ke tabel_A.Field_1 yang tadinya bernilai 0 itu.
Demikian pak Andreas permasalahan saya. Mungkin pak Andreas atau rekan2 lain
ada masukkan buat saya? Terima kasih

Regards
Bambang

Feris Thia

unread,
Sep 2, 2009, 12:39:35 AM9/2/09
to penta...@googlegroups.com
Pak Bambang,

Mohon maaf karena salah mengerti masalah ini. Ternyata yang dibutuhkan adalah pergerakan counter maksimum untuk tiap row. Berikut adalah artikel untuk memecahkan masalah tersebut. Semoga kali ini benar :)


Jadi , begini pak untuk lebih jelasnya. Saya punya tabel_A itu saya cari
yang nilai tabel_A.field_1 nya bernilai 0. Kemudian saya cari nilai max dari
tabel_A.Field_1 tersebut dengan bersadar parameter2 yang sama dari field2
lain di tabel_A itu. Kemudian hasil nilai max yang didapat itu saya tambah 1
kemudian diupdate ke tabel_A.Field_1 yang tadinya bernilai 0 itu.
Demikian pak Andreas permasalahan saya. Mungkin pak Andreas atau rekan2 lain
ada masukkan buat saya? Terima kasih

Regards
Bambang
Reply all
Reply to author
Forward
0 new messages