SSAS - 日期维度显示未适当的未来值

时间:2012-03-30 14:09:49

标签: ssas cube dimensional-modeling

我正在为包含库存数据的多维数据集建模。为简单起见,我们试图维护一个日期维度。其中一些措施包含库存水平。

最终用户使用Excel查看分析服务中的数据。我想要做的是阻止这个维度显示实际股票交易结束的值。

多维数据集中还有其他需要未来信息的措施,因此不允许在将来删除所有日期条目。

简化示例措施:

CREATE [Measures].[Quantity On Hand];
SCOPE ([Measures].[Quantity On Hand]); 
    this = Aggregate(null:[Transaction Date].[Year - Quarter - Month].CurrentMember,  [Measures].[Quantity Purchased])
            - Aggregate(null:[Transaction Date].[Year - Quarter - Month].CurrentMember,  [Measures].[Quantity Sold]) 
    FORMAT_STRING(this) = "#,#.00;-#,#.00; ";
END SCOPE;

日期维度包含未来日期。

我可以让[Transaction Date]维度停止显示此度量中最后一笔交易后的信息(事实表中的最高交易日期)吗?

1 个答案:

答案 0 :(得分:1)

您应该可以使用CLOSINGPERIOD(Dim,Measure)功能。它将显示使用Measure的时间维度上的最后一个成员。在您的情况下,数量Purhased或数量已售出的最后一个条目。使用此作为检查以不计算未来日期。

此外,如果您 - 无论何时加载任何未来日期,您也可以使用“今天”作为未加载未来日期的检查:StrToMember("[Time].[Day].&[" + Format(Now(), "yyyyMMdd") + "]") - 其中yyyyMMdd是您在当天使用的格式水平。