MDX’te iyiyim diyorsanız, hodri meydan : )


Wiley’nin MDX Solutions adlı, alanında çok iyi olan kitabından bir sorgu:

WITH
SET [My States] AS
‘{ [Customer].[MA], [Customer].[ME], [Customer].[MI], [Customer].[MO] }’
MEMBER [Customer].[Avg Over States] AS ‘Avg ([My States])’
SELECT
{ [Measures].[Dollar Sales], [Measures].[Unit Sales] } on columns,
{ [Products].[Family].Members } on rows
FROM Sales
WHERE ([Customer].[Avg Over States])

Şimdi bu sorguyu yorumlayalım. Kolaylık olsun diye öncelikle SET, MEMBER ve WHERE kısımlarının olmadığını varsayalım:

SELECT
{ [Measures].[Dollar Sales], [Measures].[Unit Sales] } on columns,
{ [Products].[Family].Members } on rows
FROM Sales

Bu durumda sorgu çok basit. Sales diye bir küpümüz var. Oradan sütunlarda parasal satış miktarı ve birim satış miktarını, satırlarda ise ürün ailelerimizi içerecek bir sorgu yapıyoruz. Izgarada ise doğal olarak her bir ürün ailesinin parasal olarak ve birim olarak satış miktarları var.

Şimdi SET tanımımıza gelelim:

SET [My States] AS
‘{ [Customer].[MA], [Customer].[ME], [Customer].[MI], [Customer].[MO] }’

Burada da en iyi dört müşteri eyaletimizi bir küme olarak tanımlıyoruz. MA, ME, MI ve MO.

MEMBER [Customer].[Avg Over States] AS ‘Avg ([My States])’ şeklindeki MEMBER tanımı ise en iyi satış yaptığımız bu dört eyaletteki ortalamamızı veriyor. Burada önemli bir ayrıntı var: Avg normalde bir set ve bir de expression alır. Biz sadece set verdik. Bu durumda expression kısmı geçerli sorgu kapsamına göre belirlenecektir.

MEMBER’ı sorguya bağlayan ifade ise WHERE’de geçiyor. Sorgunun tamamına tekrar bakacak olursak:

WITH
SET [My States] AS
‘{ [Customer].[MA], [Customer].[ME], [Customer].[MI], [Customer].[MO] }’
MEMBER [Customer].[Avg Over States] AS ‘Avg ([My States])’
SELECT
{ [Measures].[Dollar Sales], [Measures].[Unit Sales] } on columns,
{ [Products].[Family].Members } on rows
FROM Sales
WHERE ([Customer].[Avg Over States])

Sütun başlıklarımız: Dollar Sales ve Unit Sales
Satır başlıklarımız: Ürün ailelerimizin isimleri
Izgarada yer alan bilgi: Her bir ürün ailesi için 4 en iyi eyaletteki ortalama Dollar Sales ve 4 en iyi eyaletteki ortalama Unit Sales.

Çarpıcı bir MDX sorgusu.

Bu yazı Genel içinde yayınlandı ve olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s