SCOPE ([Measures].[Net IMS Volume]);
( [Time].[Time Calculations].[MTD] )
= SUM(
MTD([Time].[Time Hierarchy 1].CURRENTMEMBER)
,[Time].[Time Calculations].[Current Time]
);
END SCOPE;
我期待我的MTD会在月份的日期显示出来。但结果是我只是在月级获得数据。
当我在SSMS上做同样的事情时,用ff。:
WITH MEMBER [Time].[Time Calculations].MIKE2 AS
SUM
(
MTD([Time].[Time Hierarchy 1].CURRENTMEMBER)
,[Time].[Time Calculations].[Current Time]
)
SELECT
{
([Time].[Time Calculations].[MTD],[Measures].[Net IMS Volume])
,([Time].[Time Calculations].MIKE2,[Measures].[Net IMS Volume])
} ON 0
,[Time].[Time Hierarchy 1].[Date] ON 1
FROM [My Cube];
我在日期级别获取数据。我也在YTD功能上体验过这一点。
答案 0 :(得分:0)
您的时间维度可能无法正确输入。 YTD
和MTD
需要进行特定输入才能按预期运行。
MSDN
引用YTD
函数:https://msdn.microsoft.com/en-us/library/ms146039.aspx
在"备注"定义部分:
如果未指定成员表达式,则默认为当前 第一个层次结构的成员,第一个层次结构的类型为Year 度量组中类型的维度。
Ytd函数是PeriodsToDate函数的快捷函数,其中Type为 设置了级别所基于的属性层次结构的属性 多年。也就是说,Ytd(Member_Expression)相当于 PeriodsToDate(Year_Level_Expression,Member_Expression)。请注意这一点 当Type属性设置为FiscalYears时,函数将不起作用。
您可以通过转换为使用PeriodsToDate来测试这是否是您的问题:
WITH MEMBER [Time].[Time Calculations].MIKE2 AS
SUM
(
PeriodsToDate(
[Time].[Time Hierarchy 1].[Month Level]
, [Time].[Time Hierarchy 1].CURRENTMEMBER
)
,[Time].[Time Calculations].[Current Time]
)
SELECT
{
([Time].[Time Calculations].[MTD],[Measures].[Net IMS Volume])
,([Time].[Time Calculations].MIKE2,[Measures].[Net IMS Volume])
} ON 0
,[Time].[Time Hierarchy 1].[Date] ON 1
FROM [My Cube];