问题在于你的WHERE子句。在MDX中,WHERE子句应该用作过滤立方体空间的手段。然后,SELECT子句中的所有内容都基于剩余的“子立方体”。
另外,不需要计算成员...在这种情况下,SUM()函数是多余的(假设为[Measures]。[Importe de la factura]指定的聚合函数为SUM)。
这里写的查询接近你有上述格式的一种方式......
SELECT
{
[Measures].[<<measure>>]
} ON 0,
{
[Business Unit].[Division].[Division].Members
} ON 1
FROM
[<<cube>>]
WHERE
{StrToMember("[Order Date].[Date Key].[" + Format(now(), "yyyyMMdd") + "]").Lag(59)
:
StrToMember("[Order Date].[Date Key].[" + Format(now(), "yyyyMMdd") + "]")}
通知的WHERE子句如何指定一组沿[订购日期]维度。这基本上说,给我所有维度的整个立方体空间...除了订单日期维度,我只想指定该集合“
此外,如果您编写如下查询,它可能是有点更容易理解这是怎么回事...
WITH
SET [Past 60 days] AS
StrToMember("[Order Date].[Date Key].[" + Format(now(), "yyyyMMdd") + "]").Lag(59)
:
StrToMember("[Order Date].[Date Key].[" + Format(now(), "yyyyMMdd") + "]")
MEMBER [Measures].[Total Sales Past 60 days] AS
SUM(
[Past 60 days]
,[Measures].[<<measure>>]
)
SELECT
{
[Measures].[Total Sales Past 60 days]
} ON 0,
{
[Business Unit].[Division].[Division].Members
} ON 1
FROM
[<<cube>>]
注:“StrToMember()”的公式工作在我的立方体,因为datekey是YYYYMMDD格式你可以在不同的格式,所以你可能。必须调整它。