Mengolah data dengan format date

By | July 13, 2022
Print Friendly, PDF & Email
384 Views

Data-data dalam transaksi biasanya mengandung informasi berupa tanggal/date. Walaupun ada perbedaan sedikit dalam  menyajikan format date di Excel seperti long atau short date. Mengolah data dengan format date tentu akan bermanfaat bila diolah dalam bentuk pivot table di Excel.  Terkadang bagian marketing meminta pengolahan data bukan bersifat daily melainkan cummulative per bulan/tahun. Mengolah data dengan format date seperti menjumlah data berdasarkan data per bulan ataupun pertahun di excel butuh perlakukan khusus, seperti menerapkan function year(), month() kemudian diolah lagi.

Mengolah data dengan format date yang ditujukan untuk mendapatkan pivot data berupa cummulative berdasarkan bulan/tahun saja sebenarnya bisa dipermudah dengan menggunakan library zoo yaitu dengan memanfaatkan as.yearmon(). Bagaimana cara mengolah data tersebut untuk bagian marketing sehingga didapatkan insight / trend akan penjualan.

Contoh Mengolah data dengan format date yang nanti kita olah membutuhkan data harian yang berisikan 2 kolom saja yaitu tanggal dan penjualan. Pastikan untuk tipe kolom tanggal harus date pada excel!

Data Penjualan

Generated by wpDataTables

Kita loading library serta baca data dalam format excel

library(openxlsx)
library (dplyr)
library(ggplot2)
library(zoo)

dat1 = openxlsx::read.xlsx('penjualan.xlsx')

Nanti kalian jangan terkejut ketika dat1$tanggal akan menyajikan angka  integer yang merupakan date value. Pada dasarnya date value bisa kita ubah ke format short date menggunakan function as.Date() dengan origin = 1899-12-30

dat1$tanggal = as.Date(as.numeric(dat1$tanggal), origin = "1899-12-30")

Bagaimana R menangani  date value/tanggal?

Variabel tanggal dapat menimbulkan tantangan dalam pengelolaan data. Ini berlaku dalam paket apa pun dan paket yang berbeda menangani nilai tanggal secara berbeda. Halaman ini bertujuan untuk memberikan ikhtisar tanggal dalam R–cara memformatnya, cara menyimpannya, dan fungsi apa yang tersedia untuk menganalisisnya.

Untuk variabel tanggal yang disimpan sebagai vektor angka, ada sedikit pekerjaan rumit yang harus dilakukan. Lihatlah beberapa angka dan lihat apakah ada pola yang jelas. Jika nilai numerik sebenarnya adalah nilai bulan, hari, dan tahun yang digabungkan tanpa pemisahan, seperti 20011010 untuk 10 Oktober 2001, maka nilai-nilai ini harus dikonversi ke string karakter (menggunakan as.character) dan kemudian diformat menggunakan tips di tautan di atas .

Jika nilai numerik menghitung hari yang telah berlalu sejak beberapa tanggal mulai, maka fungsi as.Date dapat digunakan dengan tanggal asal yang ditunjukkan. Jika kita perlu membaca nilai numerik yang mewakili tanggal dari Excel ke R, kita perlu memperhatikan bahwa tanggal Excel, ketika dikonversi ke bilangan bulat, dihitung dari 1 Januari 1900. Namun, Excel menggunakan 1 untuk mewakili asal ini, sedangkan R menggunakan 0 , jadi pertama-tama kita harus mengurangi 1 dari setiap nilai sebelum mengonversi. Selain itu, Excel secara keliru memperlakukan 1900 sebagai tahun kabisat, sehingga semua angka yang mewakili tanggal setelah 28 Februari 1900 salah bertambah 1, jadi kita perlu mengurangi satu dari tanggal yang jatuh setelah 28 Februari 1900. Setelah membersihkan angka, kita dapat menunjukkan tanggal asal Excel 1 Januari 1900 di as.Date.

itulah mengapa origin di R di set menjadi 30 Desember 1899

Ok sekarang pembahasan mengenai origin sudah selesai

Pivot year month

Sekarang kita akan melakukan pivot tabel berdasarkan bulan dan tahun yaitu jumlah kumulatif data penjualan berdasarkan tahun-bulan untuk mengetahui trend penjualan

g = dat1 %>% group_by(tahun.bulan=as.yearmon(tanggal)) %>% 
summarise(pengamatan = n(),jumlah=sum(penjualan))

#end

data g berisi pivot

   tahun.bulan pengamatan jumlah
   <yearmon>        <int>  <dbl>
 1 Mar 2020            17      1
 2 Apr 2020            30      7
 3 May 2020            31     31
 4 Jun 2020            30     13
 5 Jul 2020            31     57
 6 Aug 2020            31     81
 7 Sep 2020            30     42
 8 Oct 2020            31     83
 9 Nov 2020            30    148
10 Dec 2020            31    403
11 Jan 2021            31    621
12 Feb 2021            28    470
13 Mar 2021            31    299
14 Apr 2021            30    434
15 May 2021            31    334
16 Jun 2021            30   3471
17 Jul 2021            31   7887
18 Aug 2021            31   2905
19 Sep 2021            30    490
20 Oct 2021            31    126

Menampilkan plot

Mengolah data dengan format date kalau hanya sekedar tabel akan sulit dilihat seperti apa trend! oleh sebab tersebut kita butuh ploting data

p = ggplot(data=g,aes(x=as.factor(tahun.bulan),y=jumlah))+
    geom_bar(stat='identity')+
    labs(title = "Penjualan Mobil", 
         subtitle = "Kumulatif Bulan-Tahun", 
         caption = "Data source: https://softscients.com",
         x = "Bulan", 
         y = "Jumlah", 
         tag = "Merk Honda")+
    theme(axis.text.x = element_text(angle = 45, vjust = 0.5, hjust=1))


p

Berikut tampilan Mengolah data dengan format date dengan kumulatif bulan-tahun

Nah kalau gini kan mudah dianalisis, daripada data harian yang terlalu banyak. Tentu bagian marketing akan banyak melakukan event atau promo2 di semester II pada tahun berikutnya. Karena penjualan mobil akan banyak promo diakhir tahun (maklum cash back tersebut merupakan potongan pajak yang diberikan pemerintah di akhir2 tahun, padahal ya harga mobil tidak turun sebenarnya, bagi pembeli diuntungkan beli mobil murah tapi ya resikonya ganti tahun depan maka mobil tersebut udah dianggap 1 tahun lalu bila dijual akan turun jauh)

See also  Cara Hitung Manual Uji Normalitas Populasi dengan Uji Jarque-Bera

Leave a Reply

Your email address will not be published.




Enter Captcha Here :