Reporting Services: consulta de parámetros de múltiples valores que no devuelve resultados

Usando SSRS (SQL Server 2005) He configurado dos informes. Para facilitar la explicación, llamémoslosMAIN_REPORT ySUB_REPORT.

MAIN_REPORT ejecuta una consulta que devuelve un conjunto de Áreas, con múltiples TagNames por área:

AREA    Tagname
----------
A1        T1
A1        T2
A2        T3
A3        T4

Si selecciona una de las celdas de Área, se abreSUB_REPORT y pasa un parámetro a@ParentTagNames utilizandoJoin(Parameters!ResultsOfSearch.Value,","). ResultsOfSearch es igual a la columna Tagname anterior (aún no he descubierto cómo limitar los Tagnames solo a los del área seleccionada, pero eso me preocupa más adelante).

SUB_REPORT toma el parámetro pasado y consulta una base de datos masiva para el tagname, y devuelve un mínimo, máximo y promedio de los valores disponibles:

SELECT
h.TagName as TagName,
Minimum = convert(decimal(38, 2), Min(h.Value)), 
Maximum = convert(decimal(38, 2), Max(h.Value)), 
Average = convert(decimal(38, 2), Avg(h.Value)) 
FROM INSQL.Runtime.dbo.History h 
WHERE h.TagName in (@ParentTagNames)
AND h.wwVersion = 'LATEST'
AND h.wwRetrievalMode = 'Cyclic'
AND h.wwResolution = '60000'
AND h.Value > '-1.0'
AND h.DateTime >= '2009-09-01 12:00:00'
AND h.DateTime <= '2009-09-02 16:00:00'
GROUP BY h.TagName

Sin embargo, si@ParentTagNames es igual a más de un valor, no devuelve datos. Si es igual a una sola etiqueta, devuelve datos. Pensé que debía haber tenido algo que ver con el formato de los datos dentro de@ParentTagNames como se pasa deMAIN_REPORT, pero no parece importar.

He probado los siguientes formatos:

T1,T2,T3,T4,T5,T6
'T1','T2','T3','T4','T5','T6'

Me aseguré de que el valor múltiple se comprueba para el parámetro@ParentTagNames. Google me ha fallado con éxito.

¿Nadie?

EDITAR: Profiler magic!

exec sp_executesql N'SELECT
    h.TagName as TagName,
    Minimum = convert(decimal(38, 2), Min(h.Value)), 
    Maximum = convert(decimal(38, 2), Max(h.Value)), 
    Average = convert(decimal(38, 2), Avg(h.Value)) 
FROM INSQL.Runtime.dbo.History h 
WHERE h.TagName in (@ParentTagNames)
AND h.wwVersion = ''LATEST''
AND h.wwRetrievalMode = ''Cyclic''
--AND h.wwResolution = @Resolution
AND h.wwResolution = ''60000''
AND h.Value > ''-1.0''
--AND h.DateTime >= @StartTime
--AND h.DateTime <= @EndTime

AND h.DateTime >= ''2009-09-01 12:00:00''
AND h.DateTime <= ''2009-09-02 16:00:00''

GROUP BY h.TagName',N'@ParentTagNames nvarchar(46)',@ParentTagNames=N'M12_CPM_Filling_250.Value,M8_Filling_391.Value'

Respuestas a la pregunta(1)

Su respuesta a la pregunta