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 Comment