2014-02-06 1 views
0

Мне нужно сгенерировать один и тот же отчет несколько раз для нескольких значений. Я принимаю эти значения, используя параметр multi-value в новом отчете. Я также создал таблицу с исходным отчетом в качестве подзаголовка. Как передать значения, которые пользователь выбирает в параметре в этой таблице? Я создал набор данных, но я не могу привязать эти значения к набору данных, который, в свою очередь, привязан к таблице. Я прочитал несколько статей, однако, я не могу заставить его работать. Пожалуйста, порекомендуйте.SSRS генерирует тот же отчет для нескольких значений, принятых как параметры

+0

Возможной дубликат [SSRS 2008 - подотчет для каждого значения из многозначного параметра] (https://stackoverflow.com/questions/12459092/ssrs-2008 -subreport-for-each-value-from-multi-valued-parameter) – Matt

ответ

0

Я, наконец, нашел решение on another stackoverflow post после битвы в течение нескольких дней.

воспроизводящего его здесь:

Для этого вы должны поместить подотчет в список или табликс. Насколько я знаю, нет простого способа перечислить этот список или tablix по значениям в многозначном параметре. Он будет принимать только набор данных.

Таким образом, единственное обходное решение, которое я могу придумать, включает разделение параметра на набор строк в наборе данных, что возможно, но не тривиально с SQL. Однако, если доступные значения параметра взяты из набора данных, ситуация улучшится: вы можете просто привязать tablix/list к вашему набору данных и фильтровать элементы, которые не выбраны в параметре.

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

="SELECT '" 
& 
Join(Parameters!MultiParamX.Value, "' MyParam UNION ALL SELECT '") 
& 
"' MyParam" 

Это может генерировать запрос, такие как следующие (переформатирован для удобства чтения):

SELECT 'A' MyParam 
UNION ALL 
SELECT 'B' MyParam 
UNION ALL 
SELECT 'C' MyParam 
-- Etc. for all selected values 

В этом будет генерировать результирующий набор, такие как:

┌─────────┐ 
│ MyParam │ 
├─────────┤ 
│ A  │ 
│ B  │ 
│ C  │ 
│ Etc. │ 
└─────────┘ 
0

Вы связываете параметры в основном отчете, в объекте subreport. В дополнительном отчете вы применяете эти параметры к набору данных.

+0

Я не думаю, что вы можете напрямую привязывать параметры в основном отчете к объекту subreport. Во всяком случае, я не мог. – Fahad