Повторяющиеся вычисления в запросе SQL 2008 MDX - PullRequest
2 голосов
/ 02 февраля 2010

У меня есть запрос 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, и, если у меня большое значение, время ответа на запрос будет медленным, поскольку Measure A является сложным вычислением. Мой вопрос заключается в том, как я могу предотвратить вычисление меры A 4 раза для каждого Dim A. Таким образом, в приведенном выше примере Measure1A рассчитывается 4 раза, как и Measure2A. В идеале я хотел бы, чтобы они вычислялись один раз для каждого уникального значения Dim A

1 Ответ

0 голосов
/ 04 февраля 2010

Вы можете попробовать использовать вычисляемый элемент в области запроса, если возможно, с вашим запросом.Пока вы не включите текущий член в расчет, он будет рассчитан только один раз.Возможно ли это или нет, зависит от того, насколько сложен ваш запрос и нужно ли добавить множество мер (Measure1A, Measure2A, Measure3A и т. Д.)

...