命名计算中迄今为止的整数键

Integer key to date in a named calculation

尝试在 SSAS 中执行从整数键到 Quarter 的命名计算。 IntegerDateKey 下面:

  SalesDateKey
   20100101
   20100101
   20100101
   20100102
   20100102
   20100102
   20100102

这是行不通的,无论我如何投射,我都无法让它发挥作用。

  CONVERT(char(4), YEAR(SalesDateKey))+
  CASE
      WHEN MONTH(SalesDateKey) BETWEEN 1 AND 3 THEN 'Q1'
      WHEN MONTH(SalesDateKey) BETWEEN 4 AND 6 THEN 'Q2'
      WHEN MONTH(SalesDateKey) BETWEEN 7 AND 9 THEN 'Q3'
      ELSE 'Q4'
  END

如有任何帮助,我们将不胜感激。请在 SSAS 中的命名计算上测试您的发现。

想通了!

CAST(DATEPART(YEAR, CAST(CAST(SalesDateKey AS char(8)) AS DateTime)) AS 
VARCHAR(4)) + ' - ' +
CASE
   WHEN Month(CAST(CAST(SalesDateKey AS CHAR(8)) AS DATE)) BETWEEN 1 AND 3 
   THEN 'Q1'
   WHEN Month(CAST(CAST(SalesDateKey AS CHAR(8)) AS DATE)) BETWEEN 4 AND 6 
   THEN 'Q2'
   WHEN Month(CAST(CAST(SalesDateKey AS CHAR(8)) AS DATE)) BETWEEN 7 AND 9 
   THEN 'Q3'
   ELSE 'Q4'
END