У нас есть проект, который использует службы 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 + "])");
}
...
Если честно, я не уверен, что все различные измерения и расчеты также верны. Но это контролируется другой командой, поэтому мы имеем немного меньшее влияние.
Спасибо!
МКТ