Reporting services 如何在SSAS中使用MDX检索会计月的月号?
我想计算用户提供的月份期间内的Reporting services 如何在SSAS中使用MDX检索会计月的月号?,reporting-services,sql-server-2012,ssas,mdx,Reporting Services,Sql Server 2012,Ssas,Mdx,我想计算用户提供的月份期间内的平均交付YTD数量。如何获取会计月号。我尝试引入一个新属性“财政月数”,但它返回“所有期间”的值,因此在我的计算中变得毫无用处。你知道我该怎么得到月数吗。我希望避免硬编码数据:) 您可以通过MEMBER\u键属性获得所需的大部分内容: WITH MEMBER [Measures].[k] AS [Date].[Calendar].CurrentMember.Member_Key MEMBER [Measures].[yearNum] AS
平均交付YTD数量
。如何获取会计月号。我尝试引入一个新属性“财政月数”,但它返回“所有期间”的值,因此在我的计算中变得毫无用处。你知道我该怎么得到月数吗。我希望避免硬编码数据:)
您可以通过
MEMBER\u键
属性获得所需的大部分内容:
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];
结果如下:
当你说月数时,我假设你的意思是说,一月是1,二月是2,等等?可以将
成员密钥解构为其组成部分。您的会员密钥是什么格式的?YYYYMMDD那么今天是20150318?谢谢你的回复。。这很有帮助。。但是有什么办法可以让我拿到财政月。我可以尝试一种切换情况,在这种情况下,我可以检查月数是否大于6,然后减少6,否则添加6。但是有没有更好的方法来实现这一点呢?:)
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];