MDX:在考虑闰年的同时,如何追溯到1年前的日期?

MDX:在考虑闰年的同时,如何追溯到1年前的日期?,mdx,leap-year,Mdx,Leap Year,试图提出一个查询,让我知道从今天起365天(以及2月366日之后的闰年)的日期集 以下是我目前得到的信息: 在0上选择[Measures].[Revenue], 1上的非空{[Trans Date].[Year-Week-Date].[Date],PARALLELPERIOD([Trans Date].[Year-Week-Date].[Year],1[Trans Date].[Year-Week-Date]) 来自多维数据集 但这要追溯到“时间”的开始。我只需要它回到365年(或闰年366年)

试图提出一个查询,让我知道从今天起365天(以及2月366日之后的闰年)的日期集

以下是我目前得到的信息:

在0上选择[Measures].[Revenue],
1上的非空{[Trans Date].[Year-Week-Date].[Date],PARALLELPERIOD([Trans Date].[Year-Week-Date].[Year],1[Trans Date].[Year-Week-Date])
来自多维数据集

但这要追溯到“时间”的开始。我只需要它回到365年(或闰年366年)

考虑使用滞后,但不确定它是否适合此方案。 有人对此有什么建议吗


谢谢

首先,我将重新格式化您的查询以提高可读性

SELECT [Measures].[Revenue] ON 0,
       NON EMPTY 
       {
         [Trans Date].[Year - Week - Date].[Date],
         PARALLELPERIOD([Trans Date].[Year - Week - Date].[Year],
                        1,
                        [Trans Date].[Year - Week - Date])
       } ON 1
FROM Cube
这里有一组完整的
Date
级别(
[Trans-Date].[Year-Week-Date].[Date]
),另外还有来自该维度的一个成员(调用
PARALLELPERIOD
的结果)

您需要的是一系列成员,这可以通过
实现。比如说,

NON EMPTY
{
  PARALLELPERIOD([Trans Date].[Year - Week - Date].[Year],
                 1,
                 [Trans Date].[Year - Week - Date].[Date].CURRENTMEMBER)
  :
  [Trans Date].[Year - Week - Date].[Date].CURRENTMEMBER
} ON 1

你的例子不能解释闰年,这是真的
PARALLELPERIOD
仅返回并行祖先下与给定成员具有相同序号的成员。如果没有直接通过MDX处理成员的日期值的方法,则可能需要以编程方式生成数字成员属性(例如,引用上一年成员在该日期的序号),以协助此过程。