使用MDX忽略重复的天数值

时间:2018-05-28 17:45:30

标签: mdx olap saiku

如何使用MDX忽略重复的天数?

例如,从中:

  • 1997年12月1日
  • 1997年12月2日
  • 1998年12月3日
  • 1999年12月4日

对此:

  • 12

我已经尝试使用Distinct,但我仍然认为它们仍然是独特的日期。

SELECT 
  {} ON COLUMNS,
  DISTINCT([Time].[Weekly].[Day].Members) ON ROWS FROM [Sales 2]

1 个答案:

答案 0 :(得分:0)

这些是不同的值,您的多维数据集会将它们视为不同的值。我猜你可以通过创建一个只有日期部分并在该成员上做不同的成员来模仿MDX的这种行为。类似的东西:

WITH MEMBER [MonthPart] AS LEFT([Time].[Weekly].[Day].currentMember, 2) 

SELECT 
  {} ON COLUMNS,
  DISTINCT([MonthPart].Members) ON ROWS FROM [Sales 2]

类似的东西,但我不确定正确的语法。

解决这个问题的正确方法是为多维数据集中的日期创建一个好的时间维度。在那里你可以定义层次结构,级别,只需要[月]部分,它将为你提供你想要的东西(并且比编写复杂的MDX查询要快得多)