在MDX查询中联合

时间:2013-12-04 12:28:13

标签: mdx olap

在我的时间维度中,我有2013,2014,2015。

我如何在这个mdx中建立一个联盟,所以我得到了这个mdx的所有年份的结果,而不仅仅是2014年的例子..

    select NON EMPTY {[Measures].[Absatz Plan], [Measures].[Umsatz Plan], [Measures].[Absatz Effektiv], [Measures].[Umsatz Effektiv]} ON COLUMNS,
  NON EMPTY Crossjoin(Hierarchize({([Time].[2014], [Artikel].[All Artikels], [Markt].[All Markts])}), {[Version].[14], [Version].[16], [Version].[18]}) ON ROWS
from [Budget]

1 个答案:

答案 0 :(得分:2)

只需应用CrossJoin两次:

select NON EMPTY
       {[Measures].[Absatz Plan], [Measures].[Umsatz Plan], [Measures].[Absatz Effektiv], [Measures].[Umsatz Effektiv]}
       ON COLUMNS,

       NON EMPTY
       CrossJoin(
          Crossjoin(
            {[Time].[2013], [Time].[2014], [Time].[2015]},
            {([Artikel].[All Artikels], [Markt].[All Markts])}
          ),
          {[Version].[14], [Version].[16], [Version].[18]}
       )
       ON ROWS
from [Budget]

我删除了Hierarchize,因为我认为在这种情况下没有必要。它将按照为多维数据集中的层次结构定义的顺序对其参数进行排序。如果结果的顺序看起来不对,您可以重新添加它。