我们正在为分析股票销售情况的企业建立一个立方体。
我需要一个单独的措施,将显示收盘价的数量。
业务运行在零售期,其中包括零售周。这一周总是在星期天结束,所以我的期终存货数量需要从星期天开始。
因此,如果我们看看今天(2016年7月12日星期二)的销售情况,那么该栏将显示刚刚过去的周日的价值,即2016年7月10日星期日。
这需要是动态的,这取决于用户正在查看数据的级别。
,如果用户没有按日期分解支点表,而只是按零售周分解,那么它应该显示前一周最后一天的值。如果用户将透视表分解到句点级别,则相同的规则应该显示前一天的值。
我们有一个具有以下相关层次结构的Date维度:
我知道我可以使用ClosingPeriod函数来实现这个功能,但是我在语法方面有问题。
我有下面的,但我得到了零的。这是我的第一个真正的MDX计算,所以非常新的这一点!
WITH MEMBER [Measures].[Closing On Hand Qty] AS
(
ClosingPeriod(
[Date].[Retail].[Retail Week],
[Date].[Retail].CurrentMember
),
[Measures].[On Hand Qty]
)
SELECT
[Date].[Retail].[Date].Members ON ROWS,
{
[Measures].[On Hand Qty],
[Measures].[Closing On Hand Qty]
} ON COLUMNS
FROM
Retail
WHERE
[Date].[Retail Year].&[2017] 发布于 2016-07-12 13:00:57
(注意:它不会引发异常,但mdx标准是在Select子句中的行之前声明列)
我还没有玩过ClosingPeriod,但是下面这样的内容可能会有所帮助:
WITH
MEMBER [Measures].[Closing On Hand Qty] AS
(
TAIL(
DESCENDANTS(
EXISTING [Date].[Retail].[Retail Week],
[Date].[Retail].[Date]
)
).ITEM(0).ITEM(0)
,[Measures].[On Hand Qty]
)
SELECT
{
[Measures].[On Hand Qty],
[Measures].[Closing On Hand Qty]
} ON 0,
[Date].[Retail].[Date].MEMBERS ON 1
FROM Retail
WHERE [Date].[Retail Year].&[2017]; 在查看ClosingPeriod的文档时,我认为下面的内容可能会奏效:
WITH MEMBER [Measures].[Closing On Hand Qty] AS
(
ClosingPeriod(
[Date].[Retail].[Date],
EXISTING [Date].[Retail].[Retail Week]
),
[Measures].[On Hand Qty]
)
SELECT
{
[Measures].[On Hand Qty],
[Measures].[Closing On Hand Qty]
} ON COLUMNS,
[Date].[Retail].[Date].Members ON ROWS
FROM Retail
WHERE [Date].[Retail Year].&[2017]; https://stackoverflow.com/questions/38319290
复制相似问题