1

我正在使用 SQL Server 分析服务 2008 R2。

我需要1来替换[Some Dimension].[All]计算时的值[Some Measure]。这是我尝试过的:

SCOPE( [Some Dimension].[All] );
  [Measures].[Some Measure] = 123; // for simplicity sake
END SCOPE;

当我查询时,这按预期工作[Some Dimension]——[All]成员返回123,其他成员保持不变,显示实际的关联[Some Measure]值。

但是由于某种奇怪的原因,所有其他维度的所有成员现在都返回123[Some Measure]。我真的迷路了。请告诉我如何解决这个问题,以及为什么会这样。

1 对于好奇的人:我想替换 的值的原因[All]是因为[Some Dimension][Some Measure]是多对多相关的。因此,元组( [Some Dimension].[All], [Some Measure] )总是返回多维数据集中的总数[Some Measure]。我希望它返回的[Some Measure]是实际上与至少一个成员相关联[Some Dimension]的计数。

4

1 回答 1

3

如果我理解正确,您只想覆盖[Measures].[Some Measure]何时[Some Dimension].[All]被选中,而且当currentmember您的多维数据集中的剩余维度是相应的“全部”成员时。就是这样,然后只需将您的范围分配更改为SCOPE(Root())就可以了。

于 2012-09-17T07:42:54.783 回答