Я построил отчет SSRS, который получает CustomerID как параметр и запускает с ним запрос MDX.MDX SUB-SELECT vs WHERE ПРОБЛЕМЫ ПРОИЗВОДИТЕЛЬНОСТИ
С предложением WHERE требуется только 1 секунда, а если передать его в SUBSELECT, это займет 13 секунд! И я должен использовать подзапрос, потому что я хочу, чтобы показать имя члена в результатах
Синтаксис длинного запроса:
SELECT NON EMPTY { [Measures].[Revenue] } ON COLUMNS,
NON EMPTY { ([CUBE DIM DATE].[Month CD].[Month CD].ALLMEMBERS *
[CUBE DIM CUSTOMER].[Account MNG].[Account MNG].ALLMEMBERS *
[CUBE DIM PRODUCT].[Product CD].[Product CD].ALLMEMBERS) }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_KEY ON ROWS FROM
(SELECT ({ [CUBE DIM CUSTOMER].[Customer No].&[111111]}) on 0 from [CUBE_Prod])
Так что, если вместо последней строки я использую:
[CUBE_Prod] WHERE [CUBE DIM CUSTOMER].[Customer No].&[111111]
... оставив все остальное, то это займет всего 1 секунду. Очевидно, я что-то отсутствует ...
Пожалуйста, помогите ...
Спасибо заранее
Майкл
Если вы создаете запрос, вы знаете, что клиент нет, и можете поместить его в отчет, не возвращая его по запросу. – FrankPl