2010-02-02 2 views
2

У меня есть запрос MDX, который возвращает следующие наборы:Повторяющиеся вычисления в SQL 2008 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 
Смежные вопросы