Уровень доступа к данным для служб аналитики с динамическим MDX - PullRequest
0 голосов
/ 23 сентября 2010

У нас есть проект, который использует службы Analysis Services в качестве источника данных. Чтобы избежать необходимости создавать сотни запросов из-за всех возможных вариантов выбора, мы создаем наши запросы MDX с множеством переключателей и конкатенацией строк. Это наш «Уровень доступа к данным». Это чудовище в управлении и самая маленькая ошибка: пропущенные пробелы, неправильное написание легко пропустить и даже легче случайно включить. Кто-нибудь знает хороший ресурс, который может помочь сделать его более управляемым, например учебник, официальный документ или пример проекта.

Чтобы дать вам представление о логике кейса, о которой я говорю, она продолжается и продолжается ... если (время == день) { если (лет == один) { возврат («ЧЛЕН» + CurrentSalesPercent + "AS ([Sales%" + YearString + "" + StatusType + "])"); } еще // 2Y { возврат («ЧЛЕН» + CurrentSalesPercent + "AS ([Sales% 2Y" + StatusType + "])"); } } еще если (время == неделя) { если (лет == один) { возврат («ЧЛЕН» + CurrentSalesPercent + "AS ([Sales WTD%" + YearString + "" + StatusType + "])"); } еще // 2Y { возврат («ЧЛЕН» + CurrentSalesPercent + "AS ([Sales WTD% 2Y" + StatusType + "])"); } ...

Если честно, я не уверен, что все различные измерения и расчеты также верны. Но это контролируется другой командой, поэтому мы имеем немного меньшее влияние.

Спасибо! МКТ

1 Ответ

1 голос
/ 27 сентября 2010

Вы смотрели, как MS генерирует MDX? Если у вас установлен SSRS, получите «Red gate Reflector» и разберите C: \ Program Files \ Microsoft SQL Server \ MSRS10.MSSQLSERVER \ Службы отчетов \ ReportServer \ bin \ MDXQueryGenerator.dll

Кроме того, предварительные запросы, которые принимают параметры, кажутся довольно стандартными: (

...