thursday'snotes
this site the web

Galeriku

image
image
image
image
image
image
image
image

Lesson #5 Joining Multiple Table


INNER JOIN :
termasuk equal join atau natural join dan menggunakan operator perbandingan untuk mencocokan baris yang sama

(equal join : inner join yang mengembalikan baris yang sama atau setara dengan tabel yang di joinkan)

OUTER JOIN : termasuk didalamnya left, right, or full outer joins
Biasanya menampilkan sekurang-kurangnya satu table yang sebutkan selama memenuhi kondisei WHERE
dan HAVING.

Jika yang ditampilkan sebelah kanan disebut right outer join
Jika yang ditampilkan sebelah kiri disebut left outer join
jika keduaditampilkan disebut full outer join

CROSS JOIN : disebut juga cartesian product dapat digunakan untuk menjoin table apapun tanpa menggunakan
clause Where dapat menghasilkan hasil dalam jumlah besar. Ketika where di tambahkan maka akan berubah
menjadi inner join

SELF JOIN : join apapun yang mengarah ke tabel sendiri

NOT-EQUI-JOIN : jarang digunakan dan biasa digunakan untuk self join

Table translation : biasa digunakan sebagai penyederhanaan dan kustomisasi table oleh user.

UNION : mengkombinasikan hasil dari dua atau lebih query ke dalam 1 hasil tunggal yang termasuk di dalamnya
baris yang berasal dari seluruh query union.

EXCEPT : mengembalikan distinct values dari query disebelah kiri EXCEPT Operand yang dikembalikan dari query kanan.

INTERSECT : mengembalikan distinct values yang di kembalikan oleh kedua query baik dari sebelah kiri atau kanan dari INTERSECT Operand

Perbedaan EXCEPT dan INTERSECT hanya terdapat pada disebelah mana query ditempatkan

Lesson #1: Aggregate Function

Fungsi agregat hanya dapat muncul di SELECT statement, COMPUTE/ COMPUTE BY dan HAVING Clause.

Contoh Fungsi agregat :

  1. AVG
  2. SUM
  3. MIN
  4. MAX
  5. COUNT
  6. GROUPING
  7. VAR
Fungsi agregat biasanya tidak mempedulikan NULL namun pada waktu tertentu dapat mengsilkan result yang tak terduga, oleh karena itu gunakan fungsi ISNULL untuk menggantikan nilai NULL menjadi 0.
contoh:

SELECT AVG (ISNULL([kolom yang akan di-aveg], 0)) AS '[nama kolom]' FROM [table]

Perbedaan Count(kolom) dengan Count(*) adalah Count (kolom) akan menghitung seluruh records dengan mengacuhkan yang bernilai NULL sehingga lebih tepat digunakan Count(*) untuk dapat mendapat menghitung records dengan tepat

LATIHAN



Task 1: Create and execute a query to generate a report that lists the
average order quantity and sum of line total for each product with a
line total that exceeds $1000000.00, and with average quantity less
than 3
•  Create a query that returns the ProductID, average OrderQty and total of
LineTotal.
•  Use a GROUP BY to ensure the averages are computed for the correct column
•  Use a HAVING clause to restrict the query to run for cases where the total an
averages of LineTotal and OrderQty respectively are in the proper ranges.
•  Don’t be afraid to use functions in the HAVING clause.
•  Execute the query and review the results.

select ProductID, avg (OrderQty) as 'Order Qty', SUM(LineTotal)as 'Line Total'  from Sales.SalesOrderDetail
 group by CUBE (ProductID)
 having SUM (LineTotal) >= 1000000 and AVG (OrderQty) <= 3


Task 2: Create and execute a query to group the products and then
compute the sum of the quantity shelf-wise
•  Create a query that returns the ProductID Shelf and total Quantity for a group
of products.
•  Use a GROUP BY with the ROLLUP operator to calculate the columns in a
specific order.
•  Execute the query and review the results.

SELECT ProductID, Shelf, SUM(Quantity) AS 'QtySum'
FROM Production.ProductInventory
GROUP BY ROLLUP(ProductID, Shelf)

Task 3: Create and execute a query to generate a summary report
•  Create a query that summarizes sales information from the
SalesOrderDetail table using the CUBE operator.
•  Sum the number of orders.
•  Specify the CUBE operator with the correct columns from the table (orders are
related to products and the id of the SalesOrderDetail row.
•  Execute the query and review the results.

SELECT SalesOrderID, ProductID,
SUM(OrderQty) AS SumQuantity
FROM Sales.SalesOrderDetail
GROUP BY CUBE(SalesOrderID, ProductID)
ORDER BY SalesOrderID, ProductID 

Task 4: Distinguish the rows generated by the summary or
aggregations and actual table rows
•  Create a query that summarizes sales quotas and total YTD sales from the
SalesPerson table using the CUBE operator.
•  Use the GROUPING operator in tandem with the CUBE operator to indicate
the column not being aggregated.
•  Sum the SalesYTD column.
•  Execute the query and review the results.

SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD',
GROUPING(SalesQuota) AS 'Grouping'
FROM sales.SalesPerson
GROUP BY CUBE(SalesQuota) 

Lesson #4 Creating Crosstab Query

PIVOT : merotasi tabel dengan mengubah unique value table dari 1 kolom  pada expression menjadi banyak kolom dan menunjukan agregasi. Pivot bekerja dengan mengambil nilai misalnya EmployeeID dan mentraslate mereka ke kolom biasa digunakan untuk memciptakan cross tab report.

 contoh :  SELECT * FROM [table] PIVOT (SUM ([sum kolom e.g :Qty]) FOR [kolom name e.g : Prod] IN ([header kolom baru1], [header kolom baru 2])) PVT

UNPIVOT : berlawanan dengan pivot dimana merotasikan kolom sari sebuah table-valued  expression menjadi kolom values

contoh :  contoh :  SELECT * FROM [table] UNPIVOT ([sum kolom e.g :Qty] FOR [kolom name e.g : Prod] IN ([header kolom lama1], [header kolom lama 2])) UnPVT

Lesson #3 :Ranked Group Data

Rangking adalah baris bernomor dari sekumpulan data dengan tipe rangking dan qualifier tertentu.

1. fungsi Rank :

Menambahkan rank berdasarkan nilai kuantitas di database. Misalnya list Top Ten customer berdasarkan jumlah pembelian

Contoh : SELECT [kolomName],  [kolomName] RANK () OVER (PARTITION BY [kolom pengelompokan] ORDER BY [kolom kategori]) AS [kolom rank] FROM [table] JOIN [kolom join table AB ] ON [kolom join table A ] = [kolom join table B ]

2. fungsi  DENSE RANK :
Menyediakan ranking terkategori tanpa ada gap apapun. Seperti RANK tetapi item yang sama dapat di tempat yang sama

Contoh : SELECT [kolomName],  [kolomName] DENSE_RANK () OVER (PARTITION BY [kolom pengelompokan] ORDER BY [kolom kategori]) AS [kolom rank] FROM [table] JOIN [kolom join table AB ] ON [kolom join table A ] = [kolom join table B ]

3. fungsi Row Number
Menyediakan kategori dan rank dalam 1 result set. Urutan dimana rank di assigned  ditentukan berdasarkan ORDER BY clause. Dapat digunakan dengan atau tanpa PARTITION. Jika menggunakan PARTITION, kolom yang digunakan adalah dimana ROW_SET kolom diaplikasikan. Misalnya  contact  pembeli dalam urutan custom.


Contoh : SELECT [kolomName],  [kolomName] ROW_NUMBER () OVER (PARTITION BY [kolom pengelompokan] ORDER BY [kolom kategori]) AS [kolom rank] FROM [table] JOIN [kolom join table AB ] ON [kolom join table A ] = [kolom join table B ]



4. fungsi NTILE
Menyediakan kemampuan mendistribusikan row pada partisi yang berurutan ke dalam grup yang ditentukan. Misalnya menentukan faktor yang digunakan untuk gruping atau pembagian tim sales berdasarkan sales figure. Biasa digunakan di datawarehousing. untuk setiap  row, NTILE akan mengembalikan nomor grup dimana row tersebut berada.

Contoh : SELECT [kolomName],  [kolomName] NTILE ([number of groups]) OVER (PARTITION BY [kolom pengelompokan] ORDER BY [kolom kategori]) AS [kolom rank] FROM [table] JOIN [kolom join table AB ] ON [kolom join table A ] = [kolom join table B ]



Typography is science.


Typography berasal dari bahasa latin: Typos yang berarti “tanda” atau “bentuk” dan Grapho yang berarti “menulis”. Typography (Tipografi) adalah seni dan teknik pemilihan jenis huruf dan pengaturan atau penempatannya dalam ruang-ruang yang tersedia dengan maksud memberikan kenyamanan pada pembaca tulisan yang ditampilkan. Tipografi mencakup hal-hal diantaranya pemilihan jenis huruf, ukuran huruf yang digunakan, jarak antar huruf dalam tulisan dan jarak antar baris dalam sebuah alinea.




Typography  secara pribadi adalah seni untuk membuat website lebih indah dan menarik untuk dibaca dengan bentuk font yang berbeda-beda sehingga kesan yang didapat adalah tidak monoton. Dengan adanya teknik typography pengunjung akan dibawa dengan kenyamanan dalam membaca sehingga akan betah untuk berlama-lama.

"Typography are like a sword, dapat menarik perhatian tapi juga dapat menghilangkan minat baca.
So use it wisely"Dalam memberikan typography sobat tidak bisa sembarangan saja karena terdapat 5000++ jenis tulisan di luar sana dan tidak semua komputer dan browser mampu untuk mengenali jenis-jenis typography yang bisa gunakan.

Apa akibatnya jika memaksakan typography?
Banyak sekali jenis font yang unik dalam dunia website dan banyak juga yang memiliki lisensi GNU/GPL yang artinya sobat bebas untuk menggunakan dan meng-copy paste font tersebut. Tapi hati-hati dalam menggunakan setiap font yang ada, jika sobat menggunakan jenis font yang langka maka hasilnya adalah font sobat akan di ubah secara otomatis oleh komputer atau browser kedalam font yang dapat mereka kenali, alhasil kerja keras memilih font akan sia-sia.

Kesalahan
Dalam penggunaan font harus hati-hati, ada jenis font yang enak untuk dibaca dalam artikel yang panjang dan ada juga jenis font yang hanya enak dibaca jika font digunakan sebagai judul artikel. Penggunaan font yang salah dapat membunuh minat baca pengunjung. Contohnya, jika untuk artikel gunakanlah font yang memiliki garis-garis yang jelas dan bentuk yang jelas. Sekali dilihat pembaca langsung tahu huruf apa yang sedang di baca.


Cara mengetahui dan test typography Untuk mengetahui kira-kira jenis font apa saja yang bisa sobat pakai untuk memperindah blog sobat, pertama sobat harus tahu jenis font yang dapat terbaca pada browser sobat. Test ini terdiri dari 2 rangkaian tes. Untuk melakukan test font,  dapat lakukan di VisiBone.com/font/tests.html, atau untuk cepatnya klik saja link dibawah:

Test 1: Known Fonts — test your system for thousands of font names reported by others. (600K of HTML, 1K of JavaScript)
Test 2: New Fonts — see a list of all the fonts on your system, with samples. Requires Java 1.2 or later. (200K of JavaScript, 5K of Java)


Kesimpulan Typography dapat menjadi daya tarik tersendiri bagi pembaca , tapi ingat-ingat bahwa tidak setiap font dapat terbaca dengan baik di komputer dan browser pengunjung. Jadi pilah dan pilih font terbaik yang akan  gunakan untuk melengkapi typography blog.





Santa Branding

Sembari kerja on-site di client, saya pergi jalan-jalan ke Pacific Place. Seluruh sudut mal mewah ini di sulap sesuai tema yang diusungnya yaitu Have a Holly Jolly Christmast ! Mulai dari santa klaus, rudolph, pohon natal, hingga salju hari menyemarakan atmosfernya. Hingga akhirnya saya tergelitik untuk membuat post tentang Santa Branding yang membahas selintas tentang branding  dengan kemasan natal.



"Branding atau sering juga disebut sebagai brand building banyak dikaitkan dengan upaya sebuah perusahaan untuk membangun image. Image yang dimaksud tentunya harus memiliki nilai benefit di dalam memberikan sebuah persepsi tertentu yang umumnya bersifat positif. Kekuatan branding yang luar biasa dipandang sangat berpengaruh terhadap suksesnya bisnis sebuah perusahaan." http://www.tanadisantoso.com





Brand asset : alat yang dapat meningkatkan citra produk Anda, slogan, iklan, publisitas, penjualan,promosi dan layanan pelanggan. Brand asset membantu untuk menciptakan identitas bermakna yang membangun ikatan emosional  dengan  target market. Hal ini memaksa mereka untuk mengambil tindakan dan memberikan logika yang membenarkan keputusan mereka dalam memilih produk anda.




Brand Imagery : keseluruhan persepsi konsumen atas suatu obyek yang di bentuk dari pengolahan informasi dari berbagi sumber dan waktu.

Beberapa kriteria yang harus diperhatikan dalam pemilihan elemen brand:
1. Mudah diingat
Artinya elemen brand yang dipilih hendaknya yang mudah diingat, dan disebut/diucapkan. Simbol, logo, nama yang digunakan hendaknya menarik, unik sehingga menarik perhatian masyarakat untuk diingat dan dikonsumsi.


2. Memiliki makna
Artinya elemen brand hendaknya mengandung sebuah makna maupun penjelasan/ deskripsi dari produk. Diharapkan makna ini dapat mempengaruhi konsumen untuk mengkonsumsi produk tersebut.
Deskripsi makna yang terkandung dapat berupa:
a. informasi umum tentang kategori dan isi dari produk
b. informasi tentang komposisi penting yang ditonjolkan produk dan manfaat dari produk.
3. Menarik dan lucu
Pendekatan lain untuk menarik perhatian konsumen adalah dengan variasi elemen brand yang unik, lucu, pemilihan elemen yang kaya akan visualisasi dan imajinasi. Dalam hal ini yang ditonjolkan adalah desain yang menarik dan lucu.
4. Fleksibel
Artinya elemen brand dapat dimengerti dan tetap dapat diterima oleh daerah/pasar, bahkan budaya lain. Nama yang digunakan pun tidaklah terlalu sulit untuk diterjemahkan. Seringkali pemilihan elemen brandmudah diingat oleh masyarakat lokal, namun sangatlah sulit dimengerti oleh masyarakat lain. Hal ini tentunya akan menghambat produsen untuk masuk dalam pasar yang baru.
5. Legal
Artinya brand elemen tersebut sah menurut hukum dan undang–undang yang berlaku, sehingga berada di bawah perlindungan hukum.

Mengetahui pentingnya membangun brand adalah tugas inti dari para pelaku bisnis terutama marketer. Inilah salah satu alasan mengapa IMC( Integrated Marketing Communication) dirasa sangat penting sebagai senjata utama membangun persepsi,citra,brand yang kuat dimana konsumen memiliki hubungan yang kuat dengan sebuah brand.

Maka  langkah-langkah yang perlu dilakukan adalah sebagai berikut ;
1. The search of consumer insight yaitu meneliti kebutuhan dan keinginan konsumen
2. Membangun platform komunikasi yang tepat untuk mendorong konsumen untuk menciptakan brand awareness dan kemudian melakukan brand switching, yaitu merubah pilihannya dari brand tertentu pada brand yang kita miliki
3. Mengetahui faktor-faktor apa saja yang mempengaruhi seseorang memilih produk tertentu
4. Penggunaan media dan alat-alat promosi yang kreatif dan menarik perhatian publik
5. Membangun dialog yang efektif dengan market anda



Tips Merawat Blackberry


Tips agar BB kita gak lemot dan kinerjanya tetap lancar dan stabil, karena BB bukan HP biasa, tetapi sebuah Smartphone. Tips ini berlaku untuk semua type BlackBerry, baik Curve, Pearl, Bold ataupun Storm. Berikut tips yang dapat bermanfaat untuk perawatan BlackBerry Anda:
  1. Usahakan tiap 2-3 hari sekali, cabut/lepas baterai BlackBerry ponsel Anda, dan diamkan selama 1-2 menit, ini fungsinya untuk membuang dan menghapus sisa-sisa file yang tidak terpakai akibat proses chatting maupun browsing.
  2. Anda juga bisa melakukan secara rutin Cleaning Memory, dengan cara pilih Options, Security Options, Advanced Security Options, kemudian pilih fitur Cleaning Memory dan pilih modus Enable untuk mengaktifkannya.
  3. Setiap 2-3 hari sekali,lakukan Host Routing Table, dengan cara pilih Options, Advanced Options, pilih Host Routing Table, tekan tombol logo BlackBerry icon Anda dan pilih Register Now.
  4. Setelah step ke 3 diatas, lakukan juga tiap 2-3 hari sekali Diagnostic Test, ini sangat penting. Karena lewat inilah kelihatan dilayar apakah smartphone BlackBerry kita terkoneksi semua, baik PIN, Register maupun koneksi Email. Dengan cara, pilih Options, Mobile Network, setelah itu tekan logo BlackBerry icon Anda ,pilih Diagnostic Test, lalu tekan lagi tombol logo BlackBerry icon, pilih RUN, biarkan sampai proses selesai. Jika saat Anda selesai memproses fitur ini, Anda mengalami kegagalan, ulangi kembali agar hasil diagnostic test Anda tidak ada yang gagal.
Itulah sekedar tips agar kinerja BlackBerry Anda kembali lancar, stabil dan tidak lemot. Semoga tips ini dapat bermanfaat. Karena BlackBerry adalah golongan gadget pintar, diharapkan Anda juga tetap pandai merawatnya agar tidak error.

 

Disclaimer

I do not claim any of these images as my own unless otherwise stated

The views and opinions expressed on this blog are 100% mine. If I claim or appear to be an expert on a certain topic or product or service area, I will only endorse products or services that I believe, based on my expertise, are worthy of such endorsement. Any product claim, statistic, quote or other representation about a product or service should be verified with the manufacturer or provide

About Thursday's Notes

This blog is a personal blog written and edited by me, and does not reflect the views of either employers and/or clients. This blog does not accept any form of cash advertising, sponsorship, or paid topic insertions.