Mdx Sql Analysis Services当前日期

Mdx Sql Analysis Services当前日期,mdx,ssas,calculated-field,Mdx,Ssas,Calculated Field,我需要在SSAS中进行计算,该计算仅适用于当前和未来月份(不能使用可用数据追溯应用) 我可以通过使用日历层次结构和硬编码来实现这一点,如下所示 SCOPE([Measures].[RollingStock]); ([Dim Date].[Calendar].[Month].&[201008]:NULL) = ([Measures].[Quantity On Hand] - [Measures].[SO Open Quantity]

我需要在SSAS中进行计算,该计算仅适用于当前和未来月份(不能使用可用数据追溯应用)

我可以通过使用日历层次结构和硬编码来实现这一点,如下所示

SCOPE([Measures].[RollingStock]);        
    ([Dim Date].[Calendar].[Month].&[201008]:NULL) = 
    ([Measures].[Quantity On Hand] 
     - [Measures].[SO Open Quantity] 
     + [Measures].[PO Open Quantity] 
     - [Measures].[Forecasts Quantity]);        
END SCOPE; 
我想用当前月份(该格式)替换201008


有什么想法吗?

是的,应该可以。使用VBA创建与成员名称匹配的字符串,然后将该字符串转换为一个集合。出于性能原因,最好使用Date()而不是Now()。Chris Webb在此处解释了原因-。
CREATE SET CURRENTCUBE.[Current And Future Months]
 AS {
StrToMember("[Dim Date].[Calendar].[Month].&[" + Format(now(), "yyyyMM") + "]"):NULL
}