2

我有下面的 MDX 查询,结果不是我所期望的。如果我的 where 子句仅包含 1 个城市([Geography].[Iorg].[City].[San Francisco]),那么我的汇总结果对于该城市是正确的,但如果包含 2 个城市,那么我的汇总结果适用于整个城市加利福尼亚州,这不是我想要的。我只想返回这两个城市的结果。

    { [Geography].[Iorg].[City].[San Francisco]
    ,[Geography].[Iorg].[City].[San Jose]
}

此子句用于安全性 {[Geography].[State].[California]} 但当包含 1 个城市时我没有得到,那么结果很好,但是当我包含两个城市时,结果是针对加利福尼亚州的。

如果我删除了我的 [Geography].[Country Name].children ON ROWS,那么结果是正确的,但我在查询中需要它。任何帮助,将不胜感激。

    SELECT       
    CROSSJOIN  ({       
    [Measures].[Fleet]},    
    {[Time Calculations].[Current Period] })  ON COLUMNS
    ,
    [Geography].[Country Name].children
    ON ROWS    
    FROM [DMI]      
    WHERE 
    (  
    [Date].[Date Hierarchy].[Date].&[2019-02-12T00:00:00] , 
    { [Geography].[Iorg].[City].[San Francisco]
    ,[Geography].[Iorg].[City].[San Jose]
    }
    ,{[Geography].[State].[California]}
    ) 
4

1 回答 1

0

你应该这样查询

SELECT       
    CROSSJOIN  ({       
    [Measures].[Fleet]},    
    {[Time Calculations].[Current Period] })  ON COLUMNS
    ,
    [Geography].[Country Name].children
    ON ROWS    
    From (select {[Geography].[Iorg].[City].[San Francisco],
[Geography].[Iorg].[City].[San Jose]}on 1 FROM [DMI] 
)     
    WHERE 
    (  
    [Date].[Date Hierarchy].[Date].&[2019-02-12T00:00:00] 
    ,{[Geography].[State].[California]}
    ) 
于 2019-02-14T20:44:52.953 回答