0

Мне нужно иметь несколько (четырех) отчетов, которые идентичны, за исключением значения конкретного параметра. Однако я не хочу, чтобы пользователь вводил все параметры вручную.Как я могу предоставить параметры отчета для вспомогательных отчетов из «базового» отчета SSRS?

Когда они входят следующие параметры:

BEATLES 
------- 
BegDate: 1962 
EndDate: 1970 
Unit: Beatles 

Я хочу четыре отчета для запуска, используя эти параметры:

LENNON 
------ 
BegDate: 1962 
EndDate: 1970 
Unit: John Lennon 

MCCARTNEY 
--------- 
BegDate: 1962 
EndDate: 1970 
Unit: Paul McCartney 

HARRISON 
-------- 
BegDate: 1962 
EndDate: 1970 
Unit: George Harrison 

STARR 
----- 
BegDate: 1962 
EndDate: 1970 
Unit: Ringo Starr 

Таким образом, когда пользователь вводит три параметра, первые два (» передаются «параметры даты»), а также параметр «Единица измерения» («Джон Леннон») для первого, «Пол Маккартни» и т. д.).

Отчет «робот» говорит себе после того, как человек входит в «Битлз» для подразделения: «О, он вошел в« Битлз »! Поэтому я передам« Джон Леннон »в качестве параметра« Единица »в первый отчет», Paul McCartney 'как параметр Unit ко второму отчету "(и т. Д.).

Я попытался сделать это путем подачи буквенные значения внутри практически-The-же хранимые процедуры (как изложено в какой-то степени here, но это не работает.

Так что я ищу какой-то другой чтобы поставить несколько связанных, но разных отчетов на одну и ту же поверхность. Конечная цель - следить за тем, чтобы при запуске и экспорте в Excel каждый отчет (LENNON, MCCARTNEY и т. д.) отображался на их собственном листе в файле Excel

На данный момент мне просто нужно знать, как передать соответствующие параметры из одного отчета («BEATLES») другим («LENNON» и т. Д.). Я думаю об этом как о различных отчетах все встроенные в одном проекте/странице отчета, но, возможно, они должны были представлять отчет, а затем кучу подзаголовков (если вы читаете это, вы, вероятно, знаете лучше, чем я делаю внутренние работы и капризы SSRS).

Итак, как я могу доставлять параметры отчета в вспомогательные (субординированные) отчеты из «базового» отчета SSRS - или есть ли другой/лучший способ выполнить это?

+3

https://technet.microsoft.com/en-us/library/ms160348(v=sql.100).aspx – Tarzan

ответ

0

Основываясь на том, что написано here, это то, как я достиг этого:

Я добавил подотчет, а затем перетащил существующий отчет на него. Затем я выбрал пункт контекстного меню «Свойства подчинения» и добавил параметр («Единица»), предоставив ему «жестко закодированное/запеченное» значение («CHOPHOUSE»), отличное от того, которое будет предоставлено пользователем для основного отчета.

Затем, поскольку я хочу сохранить одни и те же значения даты из существующего отчета, я добавил еще два параметра в подзаголовок и установил, чтобы они использовали те же значения для диапазона дат, что и те, которые там использовались в основном отчете, путем выбора «формула» кнопку («FX») и 2-щелкнув соответствующий параметр для использования в качестве переданного в стоимости (бродяга):

enter image description here

, который работает.

Я подробно рассмотрел ответ на аналогичный вопрос here.

1

У меня есть решение, которое может сработать для вас.

Создайте отчет с тремя параметрами, указанными выше. Добавить в отчет набора данных, который будет принимать 3 параметров и возвращает набор данных, который похож на это:

Band  Member   Start End  Page 
Beatles John Lennon  1962 1970 LENNON 
Beatles Paul McCartney 1962 1970 MCCARTNEY 
… 

В тексте отчета добавить список из панели инструментов. Задайте имя набора данных для списка с именем набора данных выше. В группе Row Groups будет указана строка (Подробности) для Списка. Щелкните правой кнопкой мыши на этой строке и выберите «Свойства группы» в контекстном меню. Добавьте новую группу и выберите Page в качестве столбца для группировки. Перейдите в раздел «Разрывы страницы» в диалоговом окне «Свойства группы» и установите флажок . Между каждым экземпляром группы. Добавьте сортировку, если хотите, затем нажмите кнопку «ОК».

Убедитесь, что выбрана строка (Детали) в группах строк, а затем найдите параметр «Группа» в «Свойствах». Разверните это и найдите настройку Page Name.Добавить выражение в поле, как это (экран колпачок ниже, тоже):

=Fields!Page.Value 

Properties Screen Cap

Это сделает каждую страница в отчете есть это значение в качестве имени. Таким образом, при экспорте в Excel каждый лист будет иметь свое собственное имя на основе этого значения.

Добавьте текстовые поля в список и установите их значения в нужные поля на каждой странице. В этом случае Page, Start, End и Member. Добавьте ярлыки, если хотите, чтобы они соответствовали тому, что у вас есть в вашем вопросе.

Пока набор данных возвращает 4 ожидаемых строки при выборе правильных параметров, вы должны получить отчет, который содержит 4 страницы, по одному для каждого члена группы. Когда вы экспортируете это в Excel, у вас будет 4 листа, и они должны иметь имена из поля Page.

Надеюсь, это вам поможет!

Смежные вопросы