【问题标题】:How to retrieve month number for a fiscal month using MDX in SSAS?如何在 SSAS 中使用 MDX 检索会计月份的月份编号?
【发布时间】:2015-03-18 13:24:12
【问题描述】:

我想计算用户提供的几个月内的average Delivered YTD qty。我如何获得会计月份编号。我尝试引入一个新属性会计月份编号,但它返回值“所有期间”,因此在我的计算中变得无用。知道如何获得月份数字。我想避免对数据进行硬编码:)

WITH 
  MEMBER [Selected Fiscal Year] AS 
    [Date].[Fiscal Year].CurrentMember.Properties("MEMBER_KEY") 
  MEMBER [Selected Fiscal Month] AS 
    [Date].[Fiscal Month].CurrentMember.Properties("MEMBER_Value") 
  MEMBER [FM NUMBER] AS 
    [Date].[Fiscal Month Number].CurrentMember.Properties("MEMBER_Value") 
SELECT 
  {
    [Measures].[Delivered Qty]
   ,[Measures].[Delivered YTD QTY]
   ,Measures.[Selected Fiscal Month]
   ,Measures.[FM NUMBER]
  } ON COLUMNS
 ,{
      [Date].[Fiscal Month].&[Selected Fiscal Year]&[1]
    : 
      [Date].[Fiscal Month].&[2015]&[12]
  } ON ROWS
FROM [My Warehouse]
WHERE 
  [Date].[Fiscal Year].&[2015];

【问题讨论】:

  • 当您说月份时,我假设您的意思是说 Jan 这将是 1,Feb =2 等等?
  • 可以将MEMBER_KEY 解构为其组成部分。您的 member_key 格式是什么? YYYYMMDD 所以今天是 20150318 ?

标签: reporting-services sql-server-2012 ssas mdx


【解决方案1】:

您可以从MEMBER_KEY 属性中获得大部分所需内容:

WITH 
  MEMBER [Measures].[k] AS 
    [Date].[Calendar].CurrentMember.Member_Key 
  MEMBER [Measures].[yearNum] AS 
    Fix([Measures].[k] / 10000) 
  MEMBER [Measures].[monthNum] AS 
    Fix(([Measures].[k] - Fix([Measures].[k] / 10000) * 10000) / 100) 
  MEMBER [Measures].[dayNum] AS 
    Fix([Measures].[k] - Fix([Measures].[k] / 100) * 100) 
  MEMBER [Measures].[backTogetherAsDate!!] AS 
    Dateserial
    (
      [Measures].[yearNum]
     ,[Measures].[monthNum]
     ,[Measures].[dayNum]
    ) 
   ,format_string = 'dd mmm yyyy' 
SELECT 
  {
    [Measures].[k]
   ,[Measures].[yearNum]
   ,[Measures].[monthNum]
   ,[Measures].[dayNum]
   ,[Measures].[backTogetherAsDate!!]
  } ON 0
 ,Tail([Date].[Calendar].[Date]) ON 1
FROM [Adventure Works];

结果如下:

【讨论】:

  • 感谢您的回复..它有很大帮助..但是有什么办法可以让我获得财政月。我可以尝试一个 switch case,我可以检查月份数是否大于 6,然后减少 6,否则添加 6。但是有没有更好的方法来实现这一点? :)
猜你喜欢
  • 1970-01-01
  • 2017-02-19
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
相关资源
最近更新 更多