Sql 在多维数据集中计算,维度在行级别

Sql 在多维数据集中计算,维度在行级别,sql,sql-server,ssas,mdx,olap-cube,Sql,Sql Server,Ssas,Mdx,Olap Cube,我有一种情况,有人能帮我解决我的问题吗。我有一个SSAS多维数据集,其中我需要以行为基础使用维度表进行计算。下面是一个场景 我有一个维度和事实表,如下所示: 尺寸表: 事实表: 现在我需要添加两个计算: 一个作为“Metric6”作为度量,另一个作为“MG3”作为维度表中相应的度量组,以及(MetricValue=Metric1+Metric2)作为事实表中相应的MetricValue 第二次计算将以“Metric7”作为度量,以“MG4”作为维度表中相应的MetricGroup,以(Met

我有一种情况,有人能帮我解决我的问题吗。我有一个SSAS多维数据集,其中我需要以行为基础使用维度表进行计算。下面是一个场景

我有一个维度和事实表,如下所示:

尺寸表:

事实表:

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

一个作为“Metric6”作为度量,另一个作为“MG3”作为维度表中相应的度量组,以及(MetricValue=Metric1+Metric2)作为事实表中相应的MetricValue

第二次计算将以“Metric7”作为度量,以“MG4”作为维度表中相应的MetricGroup,以(MetricValue=Metric4/Metric 5)作为事实表中相应的MetricValue


我知道我们可以在SQL本身中进行计算,但我需要在多维数据集中动态进行计算。

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

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
)

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

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
)

谢谢你的编辑!事实表和dim表的关系如何?它们与Metricy上的外键关系有关。您的屏幕截图未提供此信息。请您上传完整的数据方案和sql代码,给您想要的结果。有更多的维度表。我刚刚创建了一个场景示例供您理解。实际上,度量维度表将MetricID、MetricGroup、Metric作为列,事实表将MetricID、MetricValue作为列。事实表的MetricID与维度表的MetricID具有外键关系。我只需要根据多维数据集中的这两个表创建计算。谢谢Kanchit的编辑!事实表和dim表的关系如何?它们与Metricy上的外键关系有关。您的屏幕截图未提供此信息。请您上传完整的数据方案和sql代码,给您想要的结果。有更多的维度表。我刚刚创建了一个场景示例供您理解。实际上,度量维度表将MetricID、MetricGroup、Metric作为列,事实表将MetricID、MetricValue作为列。事实表的MetricID与维度表的MetricID具有外键关系。我只需要根据多维数据集中的这两个表创建计算。感谢您的回复,但我不明白如何在MetricGroup中获得MG4,因为维度表中没有MG4,如何在不添加新计算成员的情况下计算相应的MetricValue,我必须在MetricValue列中显示这些计算。再次感谢您的回复。对不起,我真的不明白您希望实现什么。请将SQL代码和相应的输出发布到您的问题中,好吗?然后,如果可能的话,我会把它翻译成MDX。谢谢你的回复,但我不明白我们如何在MetricGroup中获得MG4,因为维度表中没有MG4,我们如何在不添加新计算成员的情况下计算相应的MetricValue,我必须在MetricValue列本身显示这些计算。再次感谢您的回复。对不起,我真的不明白您希望实现什么。请将SQL代码和相应的输出发布到您的问题中,好吗?然后,如果可能的话,我将把它翻译成MDX。