SSAS 项目的计算脚本

Calculation Script for SSAS project

我需要在我的 SSAS 项目(多维数据集计算)中编写一个脚本来计算特定日期的开盘价和收盘价。

在此屏幕中,第一个 table 显示我的原始数据,第二个 table 显示我需要的 BI 值。

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

2015-02-08 同一产品的价格为 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;

据我了解,您想显示每天的剩余库存和剩余库存价值。下面的脚本仅适用于日级别。我假设你的多维数据集 [Meausres].[Opening],[Measures].[Qty],[Measures].[Price] 中有以下度量,并且你有 [date] 维度和名为 [date] 的级别在这个维度

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] )