Mondrian‎ > ‎

Menghitung Pertumbuhan Penjualan antar Tahun

Pendahuluan

Pada artikel saya sebelumnya, yaitu "MDX: Menghitung Pertumbuhan Penjualan antar Periode"  terlihat pertumbuhan yang dihitung adalah generik berdasarkan periode sebelumnya. Pada level tahun maka yang dihitung adalah pertumbuhan per tahun, dan jika pada level bulan maka yang dihitung adalah pertumbuhan per bulan, demikian seterusnya.

Nah, jika ada kasus dimana kita ingin menghitung pertumbuhan dari posisi antar tahun saja, misalkan :
  • menghitung pertumbuhan Januari 2010 dibandingkan dengan Januari 2009.
  • menghitung pertumbuhan 5 Februari 2010 dibandingkan dengan 5 Februari 2009.
  • menghitung pertumbuhan 2010 dibandingkan 2009.
  • dan seterusnya.
Jadi periodenya adalah parallel ke tahun sebelumnya. MDX telah memiliki function yang sangat baik untuk keperluan ini, yaitu ParallelPeriod. Berikut penggunaannya dengan contoh cube "SteelWheelSales" yang datang dengan paket Pentaho BI Server.

Solusi dengan ParallelPeriod

Syntax dari fungsi ParallelPeriod berdasarkan referensi dari MSDN adalah sebagai berikut :

ParallelPeriod( [ Level_Expression [ ,Index [ , Member_Expression ] ] ] )
  • Level_Expression : Level dari dimensi waktu yang diinginkan 
  • Index : Jumlah selisih / jarak dari periode level yang ingin dipantau
  • Member_Expression : Titik acuan member 

Dengan penjelasan di atas maka MDX untuk "SteelWheelsSales" lengkapnya adalah sebagai berikut :

MDX Code

WITH 
  MEMBER [Measures].[Sales Tahun Lalu] AS 
    '(
      ParallelPeriod
      (
        [Time].[Years]
       ,1
       ,[Time].CurrentMember
      )
     ,[Measures].[Sales]
    )' 
  MEMBER [Measures].[Pertumbuhan Sales] AS 
    '[Measures].[Sales] - [Measures].[Sales Tahun Lalu]' 
SELECT 
    {
      [Measures].[Sales]
     ,[Measures].[Sales Tahun Lalu]
     ,[Measures].[Pertumbuhan Sales]
    } ON COLUMNS
 ,
    {[Time].[All Years]} ON ROWS
FROM [SteelWheelsSales]

Dan berikut adalah hasil screenshot hasil eksekusi MDX di atas di JPivot dengan berbagai posisi drill :


Diskusi Lebih Lanjut ?

Jika Anda masih mengalami kesulitan dan ingin informasi lebih lanjut silahkan gabung ke user group kita di http://groups.google.com/group/pentaho-id.

Comments