Группировка по элементу отчета в SSRS 2005 - текстовое поле - есть ли обходные пути? - PullRequest
1 голос
/ 08 января 2009

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

Это несколько сложно. Позвольте мне объяснить:

У меня есть textbox22, его значение:

=Code.Calc_Factor(Fields!xx.Value, fields!yy.Value...)

Это встроенный код VB в отчете, который вызывается для каждой строки для расчета стандартного коэффициента.

Теперь, чтобы вычислить отклонение от стандартного коэффициента, я использую textbox89, значение которого:

=(Fields!FACTOR.Value - ReportItems!textbox22.Value)/ReportItems!textbox22.Value

Не запутайтесь между Fields!FACTOR.Value и textbox22.Value, они разные. Fields!FACTOR.Value - это используемый коэффициент, textbox22.Value - это тот, который должен быть (стандартный коэффициент).

Теперь я хочу создать группу, которая разбивает отклонения на 2 группы,> 1% или нет. Поэтому я попытался создать группу:

=IIF(ReportItems!textbox89.Value > 1,0,1)

... Но тогда SSRS жалуется на использование элементов отчета.

В прошлом я сталкивался с подобной проблемой использования элементов отчета, но это новый случай!

Любая помощь с благодарностью.

Ответы [ 2 ]

3 голосов
/ 08 января 2009

Вы пытались добавить вычисляемое поле в набор данных?

Вот как это работает:

  • Пока вы находитесь в виде макета отчета, откройте окно «Наборы данных» (в моем окружении оно слева).

  • Щелкните правой кнопкой мыши на наборе данных, с которым вы работаете, и добавьте поле, вы можете использовать вычисляемое поле и правильно построить формулу

  • Тогда вы должны иметь возможность группировать по этому полю

1021 * Дан *

1 голос
/ 08 января 2009

Я не на 100% уверен, что у кого-то не будет волшебного решения для этого, но я сам сталкивался с подобными проблемами в прошлом. Я считаю (но могу ошибаться) проблема службы Reporting Services в том, что она рендерится только один раз, и вы просите ее выполнить рендеринг данных перед рендерингом группировки, которая не выполняется.

Единственный способ получить точные результаты, которые мне когда-либо удавались, - это сделать так, чтобы рендеринг данных происходил исключительно в SQL (обычно с помощью табличных переменных), а затем использовал Reporting Services просто в качестве платформы отображения. Это потребует, чтобы ваш алгоритм факторинга был выражен в T-SQL в хранимой процедуре, которую вам, вероятно, придется написать, чтобы получить данные в форме. Казалось бы, это единственный способ достичь конечного результата.

Это имеет бонусную особенность отделения дизайна отчета и представления от манипулирования данными.

Извините, я не смог предоставить решение SSRS, может быть, кто-то еще узнает больше.

...