我有一个数据集应输出每个季度的最后一段(2015年第一季度,第二季度,第三季度,第四季度)。对于最新的段,我的意思是段属性的最后一个值,从其各自的季度的第一周到选定的日期作为参数。
以下查询正在输出
问题是从2015年W1 - 2015 W14开始,该段始终为C.在W14之后,该段变为“/”。因此,我认为查询没有考虑YTD功能。
SET [All calendars] AS
[Date invoice].[Bonus calendar - Quarter].[Bonus Quarter].ALLMEMBERS
SET [Stratum history] AS
Generate(
{[All calendars]} AS s
,s.Current
*HEAD(
NonEmpty
(
[Stratum history].[Stratum].[Stratum]
,[Stratum sales average]
)
,1
)
)
where子句:
WHERE
//Only calculate for the current bonus year until the current week
StrToMember("[Date invoice].[Bonus year].&[" + CStr(StrToMember(@PAR_Date).Parent.MemberValue) + "]")
*Ytd(StrToMember(@PAR_Date))
*StrToMember(@POS_ID)
如果我将所有日历设置为[日期发票]。[奖金日历 - 季度]。[季度奖金周] .ALLMEMBERS然后我得到全套
2015 W1 - C. ... 2015 W14 - C
查询然后在我的where子句中指定的2015 W14处停止!但我只想在我的行上显示季度级别。
有任何建议吗?
答案 0 :(得分:0)
如何修改第二组的NonEmpty
子句,如下所示:
SET [Stratum history] AS
Generate(
{[All calendars]} AS s
,s.Current
*HEAD(
NonEmpty
(
[Stratum history].[Stratum].[Stratum].MEMBERS
,([Stratum sales average], s.Current)
)
,1
)
)