Laporan ini menyajikan banyaknya item untuk tiap product scale dari database “classicmodels”. Proses ini mengintegrasikan SQL untuk pengambilan data dan R untuk visualisasi.
Langkah pertama adalah membangun koneksi antara RStudio dan database MySQL menggunakan fungsi dbConnect()
Setelah koneksi terjalin, kita menggunakan blok kode SQL untuk mendapatkan banyaknya item untuk tiap product scale. Simpan data hasil kueri data dalam suatu data frame R.
# Mendapatkan data yang diperlukan
query8 = "SELECT
o.orderNumber,
c.country,
SUM(od.quantityOrdered * od.priceEach) AS value
FROM orders o
JOIN customers c
ON o.customerNumber = c.customerNumber
JOIN orderdetails od
ON o.orderNumber = od.orderNumber
WHERE c.country IN ('Denmark','Finland','Norway','Sweden')
GROUP BY o.orderNumber, c.country"
dt5 = dbGetQuery(con1, query8)
dt5
## orderNumber country value
## 1 10103 Norway 50218.95
## 2 10158 Norway 1491.38
## 3 10309 Norway 17876.32
## 4 10325 Norway 34638.14
## 5 10112 Sweden 7674.94
## 6 10320 Sweden 16799.03
## 7 10326 Sweden 19206.68
## 8 10334 Sweden 23014.17
## 9 10105 Denmark 53959.21
## 10 10238 Denmark 28211.70
## 11 10256 Denmark 4710.73
## 12 10327 Denmark 20564.86
## 13 10406 Denmark 21638.62
## 14 10181 Norway 55069.55
## 15 10188 Norway 29954.91
## 16 10289 Norway 12538.01
## 17 10155 Finland 37602.48
## 18 10299 Finland 34341.08
## 19 10377 Finland 23602.90
## 20 10161 Denmark 36164.46
## 21 10314 Denmark 53745.34
## 22 10284 Norway 32260.16
## 23 10301 Norway 36798.88
## 24 10151 Finland 32723.04
## 25 10239 Finland 16212.59
## 26 10373 Finland 46770.52
## 27 10141 Finland 29716.86
## 28 10247 Finland 28394.54
## 29 10363 Finland 45785.34
## 30 10167 Sweden 44167.09
## 31 10291 Sweden 48809.90
## 32 10389 Sweden 27966.54
Kita menggunakan library ggplot2 untuk membuat barchart. Fungsi geom_bar() digunakan untuk melihat banyaknya item tiap product scale.
# Membuat barchart untuk banyaknya item tiap product scale
ggplot(dt5, aes(x = value)) +
geom_histogram(fill = "#F1FF5E", bins = 15, color = "black", alpha = 0.7) +
theme_minimal() +
labs(title = "Distribusi Nilai Pesanan dari Negara Nordic",
x = "Nilai Order (USD)",
y = "Frekuensi")