2016-04-12 12 views
0

MDX: Bu sorguların farkı nedir, macera çalışma veritabanını kullanıyorum.MDX: Bu iki sorgunun farkı nedir?

SELECT 
{[Measures].[Internet Sales Amount]} ON COLUMNS, 
NON EMPTY ([Product].[Category].[Category] , 
      [Date].[Calendar Year].[Calendar Year])ON ROWS 
FROM [Adventure Works] 

GO 

SELECT 
{[Measures].[Internet Sales Amount]} ON COLUMNS, 
NON EMPTY ([Product].[Category].[Category] * 
      [Date].[Calendar Year].[Calendar Year])ON ROWS 
FROM [Adventure Works] 

cevap

1

Bu iki komut dosyası aynıdır.

Bu

etkili bir satırlarda küpe seti koyuyor - Eğer tuple definied ettik açıkça (...)

SELECT 
    {[Measures].[Internet Sales Amount]} ON COLUMNS 
,NON EMPTY 
    ( //<<start of tuple 
     [Product].[Category].[Category] 
    ,[Date].[Calendar Year].[Calendar Year] 
    ) ON ROWS 
FROM [Adventure Works]; 

ikinci komut çapraz yıldız operatörü * aracılığıyla katılmak edilir parantez kullanarak:

SELECT 
    {[Measures].[Internet Sales Amount]} ON COLUMNS 
,NON EMPTY 
    [Product].[Category].[Category] * [Date].[Calendar Year].[Calendar Year] ON ROWS 
FROM [Adventure Works]; 

Bir crossjoin eylemi gerçekleştirdiğinizde, bir dizi döndürme döndürür - böylece aynı hücre kümesiyle sonlanırsınız.

yerine yıldızı kullanmanın Crossjoin yazabiliriz - yıldızlı modern mdx komut en çok kullanılan gösterim olmasına rağmen:

SELECT 
    {[Measures].[Internet Sales Amount]} ON COLUMNS 
,NON EMPTY 
    CrossJoin 
    (
     [Product].[Category].[Category] 
    ,[Date].[Calendar Year].[Calendar Year] 
    ) ON ROWS 
FROM [Adventure Works]; 
İlgili konular