首页 > 解决方案 > MDX 中的命名集与“分组集”

问题描述

要获得一个命名集,例如 2015-2018 之间的年份(四个值 - 2015、2016、2017、2018),我可以这样做:

WITH set [2015-2018] as {[Season].[Season].[Season].&[2015]:[Season].[Season].[Season].&[2018]}
SELECT {
        [Measures].[Wins]
} ON COLUMNS, {
    [2015-2018]

} ON ROWS
FROM [Nfl2]

它给了我:

        Wins
2015    256
2016    254
2017    256
2018    254

我将如何创建一个单独的分组集(或 MDX 中的任何名称),我可以在其中执行以下操作:

            Wins
2015        256
2016        254
2017        256
2018        254
2015-2018   1020   *** how to do this in mdx?

标签: ssasmdx

解决方案


在 Mdx 中,我们不是说 Grouped set,而是 members,您的目标是创建一个包含 2015 年到 2018 年获胜总和的成员。为了实现这一点,您需要为计算出的成员指定聚合函数 [2015- 2018] 像这样:

WITH 
Member [Season].[Season].[All].[2015-2018] AS SUM({[Season].[Season].&[2015]:[Season].[Season].&[2018]})
set [2015-2018-All] as {[Season].[Season].&[2015]:[Season].[Season].&[2018],[2015-2018] }
SELECT {
        [Measures].[Wins]
} ON COLUMNS, {
    [2015-2018-All]

} ON ROWS
FROM [Nfl2]

推荐阅读