Ha ha ha..Cuma "se-olah2" Mr. Kid, krn awalnya kan SQL (1x) lalu Pivot
(1x).....Setelah itu kan tinggal refresh.
Terima kasih.
Salam,HK
From: "'Mr. Kid' [email protected] [belajar-excel]"
<[email protected]>
To: BeExcel <[email protected]>
Sent: Thursday, 12 November 2015, 16:09
Subject: Re: [belajar-excel] SQL untuk menjumlahkan (membuat Sub Total) di
Excel
Pak HK,
Maksudnya 2 kali kerja itu bagaimana ?
Hasil query langsung masuk pivot table kok 2 kali kerja ? Maaf, gagal paham
dengan istilah 2 kali kerja.
Pivot table bisa mendapatkan data source dari hasil query. Jadi, hasil query
tidak perlu jadi querytables object, tapi langsung jadi pivottable alias masuk
ke pivot cache milik pivot table.
Regards,
Kid
2015-11-12 16:03 GMT+07:00 hendrik karnadi [email protected]
[belajar-excel] <[email protected]>:
Terima kasih Mr. Kid.
Saya Googling memang kebanyakan mengacu ke SQL Server....saya cuma penasaran
saja apa anda perintah SQL (pengganti) untuk Sub Total.
Memang bikin sub total dengan Pivot lebih praktis, cuma dilihat dari sisi user
"seolah2" 2 kali kerja...yaitu pake SQL dan Pivot.
Sekali lagi terima kasih Mr. Kid.
Salam,HK
From: "'Mr. Kid' [email protected] [belajar-excel]"
<[email protected]>
To: BeExcel <[email protected]>
Sent: Thursday, 12 November 2015, 15:45
Subject: Re: [belajar-excel] SQL untuk menjumlahkan (membuat Sub Total) di
Excel
Pak HK,
Excel mengkoneksi ke Excel dengan data provider ACE OLEDB (semua versi Excel)
atau JET 4 OLEDB (xl2003 ke bawah) yang native-nya digunakan untuk koneksi ke
MS Access. Jadi bisa dikatakan bahwa akses ke Excel seperti mengakses ke MS
Access.
Database engine yang besar seperti ORACLE atau MS SQL SERVER memiliki data
provider tersendiri untuk mengkoneksi ke dirinya. Jadi Excel atau MS Access
atau database engine lain yang akan mengkoneksi ke ORACLE harus menggunakan
data provider milik ORACLE. Begitu juga jika ingin mengkoneksi ke MS SQL
SERVER, maka harus menggunakan data provider milik MS SQL SERVER.
Excel tidak bisa mengkoneksi ke Excel menggunakan provider milik MS SQL SERVER
atau ORACLE. Jadi, Excel mengkoneksi ke Excel harus (mau tidak mau) dengan
provider milik MS Access yang bernama ACE OLEDB atau JET 4 OLEDB tergantung
versi Excel-nya.
Varian SQL yang digunakan oleh MS Access adalah yang standar. Sedangkan yang
digunakan oleh database engine lain bisa jadi lebih kaya variasinya, sehingga
memiliki banyak query clause. Contohnya klausa Grouping Sets yang tidak ada di
MS Access, tetapi ada di MS SQL SERVER.
Jadi, tidak memungkinkan menggunakan klausa Grouping Sets ketika melakukan
koneksi memanfaatkan data provider ACE OLEDB yang milik MS Access karena MS
Access tidak punya klausa tersebut.
Sebenarnya, fitur Excel Pivot Table bisa menampilkan subtotal tanpa harus
membentuk query subtotal. Bahkan mulai xl2010 pun sudah ditambahkan fitur Excel
Pivot Table yang mampu menampilkan nilai yang berulang dalam satu grup data,
sehingga bisa menjadi tabel bantu pembentuk tabel hasil yang baik.
Sampai saat ini, saya sering bingung dengan query yang berisi pembentukan nilai
subtotal ataupun baris total. Karena dengan membuat query yang menampilkan
nilai total atau subtotal bersama dengan dataset hasil, maka kelebihan query
menjadi kurang greget diakibatkan lamanya proses. Coba perhatikan query yang
Anda buat. Disana, proses yang terjadi adalah 4 tahap, yaitu mulai mengambil
data untuk langsung jadi output, mengambil data lalu melakukan agregat,
menggabungkan hasil 2 query tersebut dengan union all, lalu proses sort dengan
order by.
Ketika penyusunan bentuk hasil akhir diserahkan kepada sisi front end (dalam
hal ini Excel, seperti melalui fitur Pivot Table), maka hanya ada 1 proses
sederhana saja, yaitu mengambil data.
btw,
semua itu sekedar wawasan saja. belum tentu benar adanya secara kasat mata.
Regards,
Kid
2015-11-12 11:37 GMT+07:00 hendrik karnadi [email protected]
[belajar-excel] <[email protected]>:
Dear Be-Exceler,
Perintah SQL akan sangat bermanfaat untuk mengolah data Excel dalam jumlah
besar, namun sepertinya tidak semua perintah SQL dapat dijalankan di Excel.
Di bawah ini adalah data dan SQL yang saya dapat dari internet...
Datanya (tabel PENJUALAN) adalah sbb:
| CUS_ID | PRODUCT | AMOUNT |
| 12 | A | 2.5 |
| 12 | B | 5.8 |
| 24 | A | 10 |
| 24 | B | 30 |
SQLnya sbb:
| SELECT cus_id, product, amount FROM PENJUALAN | | | | |
| UNION ALL | | | | |
| (SELECT cus_id, 'TOTAL' AS product, SUM(amount) FROM PENJUALAN GROUP BY
cus_id) |
| ORDER BY cus_id, product | | | | | | | |
dan hasil QUERY nya adalah sbb:
| cus_id | product | amount |
| 12 | A | 2.5 |
| 12 | B | 5.8 |
| 12 | TOTAL | 8.3 |
| 24 | A | 10 |
| 24 | B | 30 |
| 24 | TOTAL | 40 |
Contoh di atas menggunakan satu tabel (PENJUALAN) sehingga perintah SQL nya
nampak sederhana dan cukup singkat, namunjika digunakan banyak tabel dan kita
ingin membuat 'Sub TOTAL' tentunya perintah SQL nya akan menjadi panjang,
karena adanya perintah SELECT dan penyebutan Field yang ber-ulang2.
Melalui internet saya juga melihat ada perintah Group by Grouping Sets untuk
mempersingkat perintah SQL nya.
Pertanyaan saya,bagaimanakah penulisan perintah SQL (Group by Grouping Sets)
agar dapat diaplikasikan di Excel melalui Get External Data?
Terlampir adalah file PENJUALAN dan hasil QUERY di atas, yang saya dapat dari
internet.
Semoga ada rekan pemerhati SQL yang bersedia meluangkan waktunya..Terima kasih.
Salam,HK
#yiv9647196370 #yiv9647196370 -- #yiv9647196370ygrp-mkp {border:1px solid
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv9647196370
#yiv9647196370ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv9647196370
#yiv9647196370ygrp-mkp #yiv9647196370hd
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px
0;}#yiv9647196370 #yiv9647196370ygrp-mkp #yiv9647196370ads
{margin-bottom:10px;}#yiv9647196370 #yiv9647196370ygrp-mkp .yiv9647196370ad
{padding:0 0;}#yiv9647196370 #yiv9647196370ygrp-mkp .yiv9647196370ad p
{margin:0;}#yiv9647196370 #yiv9647196370ygrp-mkp .yiv9647196370ad a
{color:#0000ff;text-decoration:none;}#yiv9647196370 #yiv9647196370ygrp-sponsor
#yiv9647196370ygrp-lc {font-family:Arial;}#yiv9647196370
#yiv9647196370ygrp-sponsor #yiv9647196370ygrp-lc #yiv9647196370hd {margin:10px
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv9647196370
#yiv9647196370ygrp-sponsor #yiv9647196370ygrp-lc .yiv9647196370ad
{margin-bottom:10px;padding:0 0;}#yiv9647196370 #yiv9647196370actions
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv9647196370
#yiv9647196370activity
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv9647196370
#yiv9647196370activity span {font-weight:700;}#yiv9647196370
#yiv9647196370activity span:first-child
{text-transform:uppercase;}#yiv9647196370 #yiv9647196370activity span a
{color:#5085b6;text-decoration:none;}#yiv9647196370 #yiv9647196370activity span
span {color:#ff7900;}#yiv9647196370 #yiv9647196370activity span
.yiv9647196370underline {text-decoration:underline;}#yiv9647196370
.yiv9647196370attach
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px
0;width:400px;}#yiv9647196370 .yiv9647196370attach div a
{text-decoration:none;}#yiv9647196370 .yiv9647196370attach img
{border:none;padding-right:5px;}#yiv9647196370 .yiv9647196370attach label
{display:block;margin-bottom:5px;}#yiv9647196370 .yiv9647196370attach label a
{text-decoration:none;}#yiv9647196370 blockquote {margin:0 0 0
4px;}#yiv9647196370 .yiv9647196370bold
{font-family:Arial;font-size:13px;font-weight:700;}#yiv9647196370
.yiv9647196370bold a {text-decoration:none;}#yiv9647196370 dd.yiv9647196370last
p a {font-family:Verdana;font-weight:700;}#yiv9647196370 dd.yiv9647196370last p
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv9647196370
dd.yiv9647196370last p span.yiv9647196370yshortcuts
{margin-right:0;}#yiv9647196370 div.yiv9647196370attach-table div div a
{text-decoration:none;}#yiv9647196370 div.yiv9647196370attach-table
{width:400px;}#yiv9647196370 div.yiv9647196370file-title a, #yiv9647196370
div.yiv9647196370file-title a:active, #yiv9647196370
div.yiv9647196370file-title a:hover, #yiv9647196370 div.yiv9647196370file-title
a:visited {text-decoration:none;}#yiv9647196370 div.yiv9647196370photo-title a,
#yiv9647196370 div.yiv9647196370photo-title a:active, #yiv9647196370
div.yiv9647196370photo-title a:hover, #yiv9647196370
div.yiv9647196370photo-title a:visited {text-decoration:none;}#yiv9647196370
div#yiv9647196370ygrp-mlmsg #yiv9647196370ygrp-msg p a
span.yiv9647196370yshortcuts
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv9647196370
.yiv9647196370green {color:#628c2a;}#yiv9647196370 .yiv9647196370MsoNormal
{margin:0 0 0 0;}#yiv9647196370 o {font-size:0;}#yiv9647196370
#yiv9647196370photos div {float:left;width:72px;}#yiv9647196370
#yiv9647196370photos div div {border:1px solid
#666666;height:62px;overflow:hidden;width:62px;}#yiv9647196370
#yiv9647196370photos div label
{color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv9647196370
#yiv9647196370reco-category {font-size:77%;}#yiv9647196370
#yiv9647196370reco-desc {font-size:77%;}#yiv9647196370 .yiv9647196370replbq
{margin:4px;}#yiv9647196370 #yiv9647196370ygrp-actbar div a:first-child
{margin-right:2px;padding-right:5px;}#yiv9647196370 #yiv9647196370ygrp-mlmsg
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv9647196370
#yiv9647196370ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv9647196370
#yiv9647196370ygrp-mlmsg select, #yiv9647196370 input, #yiv9647196370 textarea
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv9647196370
#yiv9647196370ygrp-mlmsg pre, #yiv9647196370 code {font:115%
monospace;}#yiv9647196370 #yiv9647196370ygrp-mlmsg *
{line-height:1.22em;}#yiv9647196370 #yiv9647196370ygrp-mlmsg #yiv9647196370logo
{padding-bottom:10px;}#yiv9647196370 #yiv9647196370ygrp-msg p a
{font-family:Verdana;}#yiv9647196370 #yiv9647196370ygrp-msg
p#yiv9647196370attach-count span {color:#1E66AE;font-weight:700;}#yiv9647196370
#yiv9647196370ygrp-reco #yiv9647196370reco-head
{color:#ff7900;font-weight:700;}#yiv9647196370 #yiv9647196370ygrp-reco
{margin-bottom:20px;padding:0px;}#yiv9647196370 #yiv9647196370ygrp-sponsor
#yiv9647196370ov li a {font-size:130%;text-decoration:none;}#yiv9647196370
#yiv9647196370ygrp-sponsor #yiv9647196370ov li
{font-size:77%;list-style-type:square;padding:6px 0;}#yiv9647196370
#yiv9647196370ygrp-sponsor #yiv9647196370ov ul {margin:0;padding:0 0 0
8px;}#yiv9647196370 #yiv9647196370ygrp-text
{font-family:Georgia;}#yiv9647196370 #yiv9647196370ygrp-text p {margin:0 0 1em
0;}#yiv9647196370 #yiv9647196370ygrp-text tt {font-size:120%;}#yiv9647196370
#yiv9647196370ygrp-vital ul li:last-child {border-right:none
!important;}#yiv9647196370