SSAS项目的计算脚本

时间:2019-05-27 05:42:56

标签: ssas mdx

我需要在SSAS项目(多维数据集计算)中编写一个脚本,以计算特定日期的期初和期末存货价值。

enter image description here

在此屏幕上,简短的第一张表显示了我的原始数据,第二张表显示了我所需的BI值。

2015-02-01产品A的开仓价(库存)为18,当天价格为10,因此10*18 = 180价的库存值,

2015年2月8日,同一产品的价格为9,收盘价为10(因此9 * 10 = 90)是收盘股票价值。

我为此使用了以下代码,但此脚本未显示所需的结果。

 Scope([Measures].[Closing Stock]);                                                                
        This = sum((
        null:[Time].[Year].CurrentMember  *
        null:[Time].[Quarter].CurrentMember *
        null:[Time].[Month Name].CurrentMember *
        null:[Time].[Month].CurrentMember *
        null:[Time].[date].CurrentMember )
       ,[Measures].[Movement Qty]) * Price;                                                                
       FORMAT_STRING ( This ) = "#,#";                                                                
       End Scope;

1 个答案:

答案 0 :(得分:0)

据我所知,您想显示每天的剩余库存和剩余库存价值。以下脚本仅在每日级别上有效。我假设您的多维数据集[Meausres]中有以下度量。[开盘],[度量]。[数量],[度量]。[价格]并且您有[日期]维和一个名为[日期]的级别在这个维度上

with 
member measure.ClosingCount 
as
sum([date].[date].currentmember, [Meausres].[Opening]-[Measures].[Qty])

member measure.ClosingAmount 
as
sum([date].[date].currentmember, [measure].[ClosingCount]*[Measures].[Price] )

根据评论进行编辑

with 
    member measure.ClosingCount 
    as
    sum(([date].[date].currentmember,[Product].[Product].currentmember), [Meausres].[Opening]-[Measures].[Qty])

    member measure.ClosingAmount 
    as
    sum(([date].[date].currentmember,[Product].[Product].currentmember), [measure].[ClosingCount]*[Measures].[Price] )