Pertumbuhan bulan ke bulan adalah indikator kinerja utama untuk setiap bisnis. Karena, tidak ada fungsi untuk menghitung persentase pertumbuhan bulan demi bulan di MySQL, Anda perlu menulis kueri SQL untuk menghitung perubahan bulan ke bulan. Jadi mari kita lihat bagaimana menghitung persentase pertumbuhan bulan demi bulan di MySQL. Anda juga dapat menggunakannya untuk memantau perubahan persentase bulan ke bulan dari waktu ke waktu dalam bisnis Anda.
Cara Menghitung Persentase Pertumbuhan Bulan Per Bulan di MySQL
Katakanlah Anda memiliki tabel data month_sales(month,sale) yang berisi penjualan bulanan, seperti yang ditunjukkan di bawah ini.
mysql> create table monthly_sales(month int,sale int); mysql> insert into monthly_sales(month,sale) values(1,20), (2,30),(3,25),(4,45),(5,25); mysql> select * from monthly_sales; +-------+------+ | month | sale | +-------+------+ | 1 | 20 | | 2 | 30 | | 3 | 25 | | 4 | 45 | | 5 | 25 | +-------+------+
Anda dapat menghitung persentase pertumbuhan bulan demi bulan menggunakan SQL berikut.
mysql> select month, sale, if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate", @last_entry := sale from (select @last_entry := 0) x, (select month, sum(sale) sale from monthly_sales group by month) y; +-------+------+-------------+---------------------+ | month | sale | growth rate | @last_entry := sale | +-------+------+-------------+---------------------+ | 1 | 20 | 0 | 20 | | 2 | 30 | 50.00 | 30 | | 3 | 25 | -16.67 | 25 | | 4 | 45 | 80.00 | 45 | | 5 | 25 | -44.44 | 25 | +-------+------+-------------+---------------------+
Dalam kueri di atas, untuk setiap baris (bulan), kami menyimpan penjualan bulan sebelumnya dalam variabel sementara masuk_terakhir
Namun, dalam kebanyakan kasus, Anda akan memiliki data penjualan harian. Dalam hal ini, Anda harus terlebih dahulu menggabungkannya ke penjualan bulanan, lalu menghitung persentase tingkat pertumbuhan bulan demi bulan. Katakanlah Anda memiliki tabel data penjualan(created_at, sale) yang berisi informasi penjualan harian.
mysql> create table sales(order_date date,sale int); mysql> insert into sales values('2020-01-01',20), ('2020-01-02',25),('2020-01-03',15),('2020-01-04',30), ('2020-02-05',20),('2020-02-10',20),('2020-02-06',25), ('2020-03-07',15),('2020-03-08',30),('2020-03-09',20); mysql> select * from sales; +------------+------+ | order_date | sale | +------------+------+ | 2020-01-01 | 20 | | 2020-01-02 | 25 | | 2020-01-03 | 15 | | 2020-01-04 | 30 | | 2020-02-05 | 20 | | 2020-02-10 | 20 | | 2020-02-06 | 25 | | 2020-03-07 | 15 | | 2020-03-08 | 30 | | 2020-03-09 | 20 | +------------+------+
Katakanlah Anda ingin menghitung tingkat pertumbuhan bulanan, inilah kueri SQL untuknya.
mysql> select month, sale, if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate", @last_entry := sale from (select @last_entry := 0) x, (select month, sum(sale) sale from (select month(order_date) as month,sum(sale) as sale from sales group by month(order_date)) monthly_sales group by month) y; +-------+------+-------------+---------------------+ | month | sale | growth rate | @last_entry := sale | +-------+------+-------------+---------------------+ | 1 | 90 | 0 | 90 | | 2 | 65 | -27.78 | 65 | | 3 | 65 | 0.00 | 65 | +-------+------+-------------+---------------------+
Dalam kueri di atas, pertama-tama kami menggabungkan penjualan harian ke dalam nilai bulanan (ditampilkan dalam tebal ) lalu gunakan kueri sebelumnya untuk menghitung persentase pertumbuhan.
Bonus Baca : Cara Menghitung Rata-Rata Penjualan Per Hari di MySQL
Jika Anda ingin memfilter data Anda sebelum menghitung persentase pertumbuhan bulan demi bulan, Anda dapat melakukannya dengan menambahkan klausa WHERE ke kueri Anda seperti yang ditunjukkan di bawah ini
mysql> select month, sale, if(@last_entry = 0, 0, round(((sale - @last_entry) / @last_entry) * 100,2)) "growth rate", @last_entry := sale from (select @last_entry := 0) x, (select month, sum(sale) sale from (select month(order_date) as month,sum(sale) as sale from sales WHERE condition group by month(order_date)) monthly_sales group by month) y;
Bonus Baca : Bagaimana Cara Menghitung Total Penjualan Per Bulan di MySQL?
Harap diperhatikan :Karena perhitungan persentase pertumbuhan bulan demi bulan didasarkan pada konsep menyimpan nilai baris sebelumnya dalam variabel sementara, pastikan tabel Anda diurutkan dalam urutan bulan (misalnya 1,2,3,dst atau 202001,202002 ,202003, dll.). Jika tidak, data Anda mungkin akan diurutkan berdasarkan abjad dan memberikan hasil yang salah saat Anda menghitung persentase pertumbuhan bulan demi bulan di MySQL.
Anda dapat menggunakan alat pelaporan untuk memplot data ini pada diagram batang atau dasbor dan membagikannya dengan tim Anda. Berikut adalah contoh diagram batang yang menunjukkan persentase pertumbuhan penjualan dari bulan ke bulan, dibuat menggunakan Ubiq.
Jika Anda ingin membuat grafik, dasbor &laporan dari database MySQL, Anda dapat mencoba Ubiq. Kami menawarkan uji coba gratis selama 14 hari.