mdx查询以计算最近的四分之一日期的度量与今天的度量之间的差异

问题描述 投票:1回答:1

我正在尝试计算一个度量,该度量是今天的度量(例如利润)与最近的最近一个季度之间的差。例如:如果季度月份是3月,6月,9月和12月,则:

如果当前月份为五月,则计算得出的measure = Profit(May)-Profit(March)

如果当前月是11月,则计算得出的measure = Profit(November)-Profit(September)

如果当前月份为十二月,则计算得出的measure = Profit(December)-Profit(September)

我是MDX的新手,真的很想对此提供帮助。

我知道。CurrentMember.PrevMember来获取先前的成员,但是如果您不知道应该使用多少个先前的成员,这将无济于事。

date ssas mdx cube measure
1个回答
0
投票

欢迎使用MDX。要解决此问题,您需要对“用户层次结构”有基本的了解。此外,您还应该了解函数“ currentmember”,“ parent”,“ lag()”和“ lastchild”。

基于此,请遵循以下示例。我正在尝试在2013年的AdventureWorks上重现您的示例。

首先让我们查看2013年的所有互联网销售量

select
{[Measures].[Internet Sales Amount]}
on columns,
{
[Date].[Month of Year].[Month of Year]
}
on rows from 
[adventure works]
where 
[Date].[Calendar Year].&[2013]

结果

enter image description here

现在让我们进行一项测量,得出上个季度的最后一个月的价值

with 
member [Measures].[LastMonthOfPreviousQuater] as 
([Date].[Calendar].currentmember.parent.lag(1).lastchild,
[Measures].[Internet Sales Amount])

select
{[Measures].[Internet Sales Amount],[Measures].[LastMonthOfPreviousQuater]}
on columns,
{
[Date].[Calendar].[Month].&[2013]&[09]
}
on rows from 
[adventure works]

结果enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.