MDX ile OLAP Kübü Sorgulama (2)
Bir önceki yazımızda MDX sorgulama diline bir başlangıç yapmıştık. Şimdi bu dili öğrenme sürecimize devam edelim. İlk örneğimiz hatırlatma gibi olsun. Ülke isimlerine göre Internet Sales – Sales Amount ve Internet Sales – Total Product Cost değerlerini listeleyelim.
SELECT
{
[Measures].[Internet Sales-Sales Amount],
[Measures].[Internet Sales-Total Product Cost]
}
ON COLUMNS,
{
([Customer].[Country-Region].[Country-Region].ALLMEMBERS )
}
ON ROWS
FROM [Adventure Works DW]
Küpümüzde Sales Amount ve Total Product Cost değerleri varken Profit ölçümlememiz yok. Bunun nerede ne zaman olması gerektiğini (veriambarı üzerinde mi tutulmalı yoksa sonradan mı hesaplatılmalı vs.) daha önceki yazılarımızda paylaşmıştık. Bu sorgumuzda Profit hesaplamamızı yaparak sonucunu yine ülkelere göre listeleyelim.
Bunun için WITH MEMBER komutundan faydalanacağız.
WITH MEMBER [Measures].[Profit] AS
‘([Measures].[Internet Sales-Sales Amount] – [Measures].[Internet Sales-Total Product Cost])’
SELECT
{
[Measures].[Profit]
}
ON COLUMNS,
{
([Customer].[Country-Region].[Country-Region].ALLMEMBERS )
}
ON ROWS
FROM [Adventure Works DW]
SQL Sorgusu ile bir sorting yapmak istediğimizde ve yanlarına sıra numarası koymak istediğimizde bunu ROW_NUMBER fonksiyonu yardımıyla rahatlıkla yapabiliyoruz. ROW_NUMBER() fonksiyonundan sonra OVER için parametre olarak ORDER BY ile istediğimiz kriteri seçtiğimizde otomatik olarak bu işlem gerçekleşiyor.
MDX sorgulamada ise bu biraz daha farklı. Öncelikle WITH SET yardımıyla bir ProductOrder değişkeni oluşturuyor ve tanımlıyoruz.
Yazıda geçen sorguları
buradan bilgisayarınıza indirebilirsiniz.