Agregasi data dari periode sebelumnya di MDX..

Misal, di report ada kebutuhan menampilkan suatu data yang diagregasi (dijumlahkan) dari periode awal sampai periode saat ini. Kebetulan, data source (sumber data) yang digunakan untuk menampilkan data di report menggunakan OLAP. Maka, kita bisa memanfaatkan fungsi yang ada di SSAS 2008 dengan menggunakan MDX query di calculation member, yaitu Aggregate dan PeriodsToDate.
Ini dia,

Aggregate(
PeriodsToDate(
[Date].[Calendar].[Calendar Year],
[Date].[Calendar].CurrentMember
),
([Measures].[Reseller Sales Amount])
)

Nah, berikut ini adalah query lengkapnya yang diambil dari ebook Microsoft SQL Server 2008 MDX Step by Step.

WITH
MEMBER [Measures].[Year to Date Reseller Sales] AS
Aggregate(
PeriodsToDate(
[Date].[Calendar].[Calendar Year],
[Date].[Calendar].CurrentMember
),
([Measures].[Reseller Sales Amount])

)

SELECT
{
([Measures].[Reseller Sales Amount]),
([Measures].[Year to Date Reseller Sales])
} ON COLUMNS,
{[Date].[Calendar].[Month].Members} ON ROWS
FROM [Step-by-Step]

Tampilan hasilnya adalah sebagai berikut,

Perhatikan nilai yang diberi area kotak merah.. Ketika masuk ke tahun berikutnya, yaitu Januari 2002, data tidak dijumlah. Jika kita ingin tetap menjumlahkan data dari tahun sebelumnya, kita tinggal menggantinya menjadi,

Aggregate(
PeriodsToDate(
[Date].[Calendar].[All],
[Date].[Calendar].CurrentMember
),
([Measures].[Reseller Sales Amount])
)

Semoga bermanfaat.




    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s



%d bloggers like this: