2010-02-02 58 views
2

我有一个MDX查询返回下列元组:定期计算

Dim1A, Dim11, Dim21, Measure1A, Measure11, Measure21 
Dim1A, Dim12, Dim22, Measure1A, Measure12, Measure22 
Dim1A, Dim13, Dim23, Measure1A, Measure13, Measure23 
Dim1A, Dim14, Dim24, Measure1A, Measure14, Measure24 
.... 
.... 
Dim2A, Dim11, Dim21, Measure2A, Measure11, Measure21 
Dim2A, Dim12, Dim22, Measure2A, Measure12, Measure22 
Dim2A, Dim13, Dim23, Measure2A, Measure13, Measure23 
Dim2A, Dim14, Dim24, Measure2A, Measure14, Measure24 

的Measure1A,Measure2A被重复Dim1A,Dim2A,如果我有一个大集的查询响应时间自测量以来减慢A是一个涉及的计算。我的问题是,如何防止测量 A每次计算得到4次Dim A.因此,在上面的示例中,Measure1A的计算结果为4次,Measure2A的计算结果也是如此。理想情况下,我希望将它们计算一次,以获得每个唯一的值Dim A

回答

0

如果可能,请尝试使用查询范围的计算成员。只要你在计算中不包含当前成员,它只会计算一次。这是否是可能的,或不将取决于您的查询的复杂程度以及是否有很多的措施来增加(Measure1A,Measure2A,Measure3A等)

喜欢的东西:

WITH 
    MEMBER [Measures].[Measure1a] AS ....your calculation.... 
SELECT 
..... your query