我正在尝试在 SSAS 中编写一个 MDX 查询,以将来自同一维度/层次结构的不同级别的两个成员合并到我的过滤器中,但我遇到了问题,因为它们不返回任何数据。当我为每个成员编写单独的查询时,它们会按预期工作。
尺寸/成员:
地点:
[Process].[Equipment Hierarchy].[Site].&[PGT]
植物:
[Process].[Equipment Hierarchy].[Plant].&[PGT]&[3]
初始查询尝试:
NON EMPTY {
CROSSJOIN(
{[Process].[Equipment Hierarchy].[Site].&[PGT].&[Plant 3]},
我知道将同一层次结构中不同级别的成员组合在一起可能会出现问题。我应该如何编写查询才能正确组合站点和工厂成员?
提前致谢!
由于它们处于同一层次结构中,我认为一组就足够了:
SELECT
{[Process].[Equipment Hierarchy].[Site].&[PGT].&[Plant 3], [Process].[Equipment Hierarchy].[Plant].&[PGT]&[3]}
(…)
可以与不同级别的会员组套;只是如果他们处于不同的层次结构中,可能会造成问题。
Crossjoim 是指当您想要对由不同层次结构或维度的成员组成的集合进行笛卡尔积时。
我的MDX知识仅基于Pentaho Mondrian,而不是SSAS,所以如果我的答案明显错误,我深表歉意。