SSAS总计显示问题
0
在SSAS中碰到一个问题,请教大神指教:
正确计算 请购金额合计=sum(请购单价*请购数量)
但是现在的计算方法为 请购金额合计=sum(请购单价)*sum(请购数量)
此处使用的是计算成员
对应的MDX语句为
CREATE MEMBER CURRENTCUBE.[Measures].[请购金额]
AS [Measures].[请购单价]*[Measures].[请购数量],
VISIBLE = 1;
正确计算 请购金额合计=sum(请购单价*请购数量)
但是现在的计算方法为 请购金额合计=sum(请购单价)*sum(请购数量)
此处使用的是计算成员
对应的MDX语句为
CREATE MEMBER CURRENTCUBE.[Measures].[请购金额]
AS [Measures].[请购单价]*[Measures].[请购数量],
VISIBLE = 1;
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
7 个回复
yan_learning - 90后IT女... 2015-08-19 回答
赞同来自: 小春XC 、leblang
另外,像你这种汇总方式的话,建议先在建立数据源视图的时候,就在事实表里新建一个命名计算列:请购金额=请购单价*请购数量,然后把请购金额做成度量值,这样进行汇总就不会有问题了。
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-08-19 回答
赞同来自: 小春XC 、leblang
把[Measures].[请购单价]*[Measures].[请购数量] 改成 SUM([Measures].[请购单价]*[Measures].[请购数量])
不行的话试试这个:
CREATE MEMBER CURRENTCUBE.[Measures].[请购金额]
AS [Measures].[请购单价]*[Measures].[请购数量],
VISIBLE = 1;
Scope ([Dim Date].[Dim Date].[All], [Measures].[请购金额]) ;
This = Sum([Dim Date].[Date].[All].children) ;
End Scope ;
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-08-19 回答
赞同来自: 小春XC 、leblang
然后在MeasureGroup里能看到以下截图:
这时候聚合的结果如下 :
然后再写刚刚那个Scope语句,注意不是再创建CalulatedMember了,是写在 Calculation这个界面的第一个命令里: Calculate里。
注意看上一个帖子的截图
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-08-19 回答
赞同来自: 天善_小龙
SCOPE([Measures].[A Multiplied By B]);
SCOPE([Date].[Date].[Date].MEMBERS);
SCOPE([Product].[Product].[Product].MEMBERS);
THIS = [Measures].[A] * [Measures].;
END SCOPE;
END SCOPE;
END SCOPE;
小春XC - 专注微软BI 2015-08-18 回答
赞同来自:
小春XC - 专注微软BI 2015-08-19 回答
赞同来自:
SCOPE([请购日期].[日期].[日期].MEMBERS);
SCOPE([物料].[物料组代码].[物料组代码].MEMBERS);
THIS =[Measures].[请购单价]*[Measures].[请购数量];
END SCOPE;
END SCOPE;
END SCOPE;
我这样写完之后不行啊
小春XC - 专注微软BI 2015-08-19 回答
赞同来自: