如何编写同时按日期范围和维度成员值进行切片的mdx查询
我需要编写一个mdx查询,该查询通过维度值以及日期范围来限制其结果。我知道如何做一个或另一个,但我不能同时想出如何做两个 这适用于日期范围:如何编写同时按日期范围和维度成员值进行切片的mdx查询,mdx,mondrian,Mdx,Mondrian,我需要编写一个mdx查询,该查询通过维度值以及日期范围来限制其结果。我知道如何做一个或另一个,但我不能同时想出如何做两个 这适用于日期范围: SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS FROM [cube] WHERE {[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]} 这适用于成员切片器: SELECT {[
SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS
FROM [cube]
WHERE {[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]}
这适用于成员切片器:
SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS
FROM [cube]
WHERE [Time Type].[Allocation Type].[Direct]
如何同时通过这两个WHERE子句值约束结果?我试着把它们放在同一个地方,就像这样:
SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS
FROM [cube]
WHERE ([Time Type].[Allocation Type].[Direct],
{[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]})
但Mondrian的回答是:没有函数匹配签名(,)
注意Mondrian不支持子查询,否则我会这样做
我想我可能需要在我的行上使用一个过滤函数来过滤我的成员约束,但我需要过滤一些我不想显示的内容,我不知道该怎么做。我认为crossjoin就是这样的答案:
SELECT {[Measures].[Hours]} ON COLUMNS, [Time Type].[Type].Members ON ROWS
FROM [cube]
WHERE CROSSJOIN([Time Type].[Allocation Type].[Direct],
{[Date].[Date ISO].[2013-01-26]:[Date].[Date ISO].[2013-06-25]})
CROSSJOIN将“Direct”成员和我的范围内的日期的所有组合创建为我的WHERE切片器的元组。我认为这是正确的答案