我有一个维度[日期]。[Last Met]。 我需要使用MDX从当前日期中提取超过90天的值。 请建议最佳方式。
答案 0 :(得分:1)
你可以像这样过滤:
FILTER
(
[Date].[Last Met].MEMBERS,
Datediff("d",[Date].[Last Met].CurrentMember.Name, Format(Now(),'yyyyMMdd') <=90
)
更优雅的选择是在DSV中创建一个名为RollingLast90Days
的计算列,并使用SQL datediff
逻辑将其指定为1/0。一旦到位,你需要一个切片机:
...WHERE ([Time].[[RollingLast90Days].&[1])
以上是基于您每天处理多维数据集的假设。如果不在计算的度量中应用相同的逻辑。
IIF(
Datediff("d",[Date].[Last Met].CurrentMember.Name, Format(Now(),'yyyyMMdd') <=90,
1,
null)
然后在HAVING
或WHERE
子句中使用此切片器。