我有层次结构:TimeDim Dimension下的Month,Monthshort和Year-Quarter-Month,可以使用下面的范围计算YearToDate(YTD)范围([TimeDim]。[Year - Quarter - Month]。[Month] .members,[ 。TimeDim] [月] .Members);
年初至今:
([TimeDim].[YTD]=
Sum(
CrossJoin(
{[Time Calculation].[Current Period]},
PeriodsToDate([TimeDim].[Year - Quarter - Month].[Year],
[Timedim].[Year - Quarter - Month].CurrentMember
)
)
)
);
月份的格式为YYYY-MM全名(例如:2017年10月10日),月份短期为MMM(10月)。如果我根据月份计算量度的YTD它可以正常工作,如何根据月短计算YTD?我是否需要创建新范围以根据月份来缩短YTD?我是SSAS的新手。请帮忙
是的,这需要新的SCOPE。
因为当前范围包含年份“锚点”:[TimeDim].[Year - Quarter - Month].[Year]
。
一旦回答了所有其他问题,答案将会更新
我创造了以下的YTD范围与月短。从而解决了这个问题。
Scope([Time Year Month].[Year].members,[Time Year Month].[Year - Month].[Month Short].members);
-- accumulated YTD CALCULATIONS
([Time Calculation].[YTD]=
SUM(
CrossJoin(
{[Time Calculation].[Current Period]},
PeriodsToDate([Time Year Month].[Year - Month].[Year]
)
)
)
);
End Scope;