我正在尝试编写一个MDX
表达式,该表达式将返回去年(即今天和365天之间)的发票总额。我目前有:
SELECT
NON EMPTY
{ [Measures].[Invoiced] }
ON COLUMNS
FROM
(
SELECT
(
[Date Invoiced].[Day].&[2013-10-01T00:00:00]
: [Date Invoiced].[Day].&[2014-10-01T00:00:00]
) ON COLUMNS
FROM [Sales]
)
我想用2014-10-01T00:00:00
取代Now()
,用2013-10-01T00:00:00
取代(Now()-365))
,但无法找到正确的语法。
MDX
将在PowerPivot
Excel 2010
中使用,VBA
不支持{{1}}公开的参数,因此我无法以编程方式替换日期。
答案 0 :(得分:1)
您可以在mdx上使用滞后函数,此函数返回维度中提供的成员之前的成员n位置的值。
以下是此功能的参考: http://mdxpert.com/Functions/MDXFunction.aspx?f=37
以下是我如何使用滞后来获取维度中的上一个值,在这种情况下,我获得了上一年的值。
MEMBER [Measures].[Previous] as ([Data].CurrentMember.lag(12), [Measures].[Example])