在行级别使用维度计算CUBE

时间:2017-04-13 12:41:03

标签: sql sql-server ssas mdx olap-cube

我有一种情况可以有人帮我解决我的问题。我有一个 SSAS Cube ,我需要在行基础上使用Dimensional表进行计算。以下是情景..

我有一个Dimensional&事实表如下:

尺寸表:

enter image description here

事实表:

enter image description here

现在我需要添加两个计算:

一个作为公制的“公制6”和'MG3'作为Dimensional Table中的对应MetricGroup,(MetricValue = Metric1 + Metric2)作为Fact Table中对应的MetricValue。

第二次计算将作为“Metric7”作为Metric& 'MG4'作为Dimensional Table中的对应MetricGroup,(MetricValue = Metric4 / Metric 5)作为Fact Table中对应的MetricValue。

我知道我们可以在SQL本身进行此计算,但我需要在Cube中动态地执行此操作。

1 个答案:

答案 0 :(得分:0)

我仍然不确定,但可能你需要:

Member [Measures].[TheFirst] as
IIF(
    [Metric].[Metric].CurrentMember is [Metric].[Metric].&[Metric6]
    and
    [Metric].[MetricGroup].CurrentMember is [Metric].[MetricGroup].&[MG3],
    [Measures].[MetricValue],
    NULL
)


Member [Measures].[TheSecond] as
IIF(
    [Metric].[Metric].CurrentMember is [Metric].[Metric].&[Metric7]
    and
    [Metric].[MetricGroup].CurrentMember is [Metric].[MetricGroup].&[MG4],
    [Measures].[MetricValue],
    NULL
)