Ssas 在给定日期进行快照的MDX查询

Ssas 在给定日期进行快照的MDX查询,ssas,mdx,Ssas,Mdx,我有以下事实表: Date Item Step Value 2015-01-01 1 1 1.00 2015-01-01 2 1 2.00 2015-01-01 1 2 3.00 2015-01-02 1 2 4.00 2015-01-03 2 3 8.00 2015-01-05 1 3 16.00 我正在寻找一个脚本来查找给定日期每个步骤中项目的值 例如,对于日期'201

我有以下事实表:

Date       Item   Step Value
2015-01-01 1      1     1.00
2015-01-01 2      1     2.00
2015-01-01 1      2     3.00
2015-01-02 1      2     4.00
2015-01-03 2      3     8.00
2015-01-05 1      3    16.00
我正在寻找一个脚本来查找给定日期每个步骤中项目的值

例如,对于日期
'2015-01-04'
,结果集为:

Step Value
1    0.00
2    4.00
3    8.00
我使用的是SQL Server 2008

====更新1以使问题更易于理解


正如我们在事实表中看到的,项目可以改变步骤,所以项目一次只在一个步骤中。因此,当我们计算一个步骤的值时,我们必须将该步骤中存在的每个项目的值相加。

如果您对我在上面的评论中提出的问题持肯定态度,下面可能会帮助您-

WITH MEMBER SumOfValueTillNow AS
SUM(null:[Date].[Date].CURRENTMEMBER, [Measures].Value)

SELECT SumOfValueTillNow ON 0
FROM [YourCube]
WHERE ([Date].[Date].[2015-01-04])
或者,如果您正在查找每个日期的
,则如下-

SELECT SumOfValueTillNow ON 0,
[Date].[Date].CHILDREN ON 1
FROM [YourCube]

如果您对我在上述评论中提出的问题持肯定态度,下面可能会帮助您-

WITH MEMBER SumOfValueTillNow AS
SUM(null:[Date].[Date].CURRENTMEMBER, [Measures].Value)

SELECT SumOfValueTillNow ON 0
FROM [YourCube]
WHERE ([Date].[Date].[2015-01-04])
或者,如果您正在查找每个日期的
,则如下-

SELECT SumOfValueTillNow ON 0,
[Date].[Date].CHILDREN ON 1
FROM [YourCube]


步骤1的值不应该是3.00吗?还是我弄错了?@Sourav_Agasti:step 1为0.00,因为项目1和2已从步骤1移动。所以我要检查一下你的答案,我会把你贴出来。你能进一步解释一下你所说的“因为第1项和第2项已经从第一步移走了”是什么意思吗?@Sourav_Agasti:当然。2015-01-01年末,第2步为第1项,第1步为第2项。一天后,没有人动,所以一切都一样。2015-01-03,第1项在3中,第2项在1中。依此类推。@Polux2请您添加您正在使用的多维数据集的一些详细信息-一个适当的度量值/维度/层次结构的屏幕打印。步骤1的值不应该是3.00吗?还是我弄错了?@Sourav_Agasti:step 1为0.00,因为项目1和2已从步骤1移动。所以我要检查一下你的答案,我会把你贴出来。你能进一步解释一下你所说的“因为第1项和第2项已经从第一步移走了”是什么意思吗?@Sourav_Agasti:当然。2015-01-01年末,第2步为第1项,第1步为第2项。一天后,没有人动,所以一切都一样。2015-01-03,第1项在3中,第2项在1中。依此类推。@Polux2请您添加您正在使用的多维数据集的一些详细信息-一个适当的度量值/维度/层次结构的屏幕打印。步骤1的值不应该是3.00吗?还是我弄错了?@Sourav_Agasti:step 1为0.00,因为项目1和2已从步骤1移动。所以我要检查一下你的答案,我会把你贴出来。你能进一步解释一下你所说的“因为第1项和第2项已经从第一步移走了”是什么意思吗?@Sourav_Agasti:当然。2015-01-01年末,第2步为第1项,第1步为第2项。一天后,没有人动,所以一切都一样。2015-01-03,第1项在3中,第2项在1中。依此类推。@Polux2请您添加您正在使用的多维数据集的一些详细信息-现有度量值/维度/层次结构的屏幕打印。很抱歉,两个查询的结果集是:
SumOfValueTillNow\Error
。我将编辑这个问题以澄清它。感谢您的尝试。很抱歉,两个查询的结果集是:
SumOfValueTillNow#Error
。我将编辑这个问题以澄清它。感谢您的尝试。很抱歉,两个查询的结果集是:
SumOfValueTillNow#Error
。我将编辑这个问题以澄清它。谢谢你的尝试。