如何获取两个日期之间的数据。我使用了以下表达式:
(
{[campaign].[campaign start date]:[campaign].[campaign end date]},
[Measures].[sales]
)
但是结果为null。
答案 0 :(得分:1)
如果您发布了正在使用的完整MDX,这将有所帮助。
与此同时,我猜你需要将时间维度放入过滤器(WHERE),并将度量放到行或列上,并使用另一个维度(只是它的顶级成员)来返回单个结果单元格:
SELECT {[Some other dimension].defaultMember} ON ROWS,
{[Measures].[sales]} ON COLUMNS
FROM [MyCube]
WHERE (AGGREGATE({[campaign].[campaign start date]:[campaign].[campaign end date]}))
由于WHERE
子句仅接受元组,因此您必须使用AGGREGATE
将日期范围从一个项目压缩为单个项目。
您还可以尝试创建计算成员并对其进行过滤:
WITH MEMBER [Actual Time].[6th to 30th Nov 2006]
AS 'Aggregate([Actual Time].[All Actual Time].[2006].[December].[6 December 2006] : [Actual Time].[All Actual Time].[2006].[November].[30 November 2006])',
SOLVE_ORDER=0
SELECT {whatever} ON ROWS,
{[Measures].[sales]} ON COLUMNS
FROM [MyCube]
WHERE ([Actual Time].[6th to 30th Nov 2006])