SQL 2008 MDX查询中的重复计算

时间:2010-02-02 06:13:06

标签: sql-server mdx

我有一个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

对于Dim1A,Dim2A重复Measure1A,Measure2A,如果我有一个大的集合,则查询响应时间很慢,因为测量 A是一个涉及的计算。我的问题是如何防止测量 A为每个Dim A计算4次。因此在上面的示例中,Measure1A计算了4次,Measure2A也计算了4次。理想情况下,我希望为每个唯一的Dim A

计算一次

1 个答案:

答案 0 :(得分:0)

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

类似的东西:

WITH 
   MEMBER [Measures].[Measure1a] AS ....your calculation....
SELECT 
 ..... your query
相关问题