Estoy ejecutando la siguiente consulta en SSRS. Si agrego declaraciones para los dos parámetros, se ejecuta correctamente en SQL Management Console.Cómo enumerar los campos de la consulta SQL dinámica en el conjunto de datos SSRS
declare @EMRQuery varchar(max)
declare @CPSQuery varchar(max)
set @EMRQuery = 'select Person.ExternalId
from ml.Person
join ml.Obs on Person.pId = Obs.pId
join ml.ObsHead on Obs.hdId = ObsHead.hdId
where ObsHead.name = ''SCHOOLREGDTE''
and Obs.xId = 1.e+035
and Obs.change = 2
and Obs.obsDate >= to_date('''
+ convert(varchar(30), @DateYearStart, 120)
+ ''', ''YYYY-MM-DD HH24:MI:SS'')
and Obs.obsDate < to_date('''
+ convert(varchar(30), @DateQuarterEnd, 120)
+ ''', ''YYYY-MM-DD HH24:MI:SS'')'
set @CPSQuery = 'select ic.ListName, count(distinct pp.patientprofileid) as PatCount
from PatientProfile pp
left join PatientInsurance pi on pp.PatientProfileId = pi.PatientProfileId
and pi.OrderForClaims = 1
and pi.Inactive <> 1
left join InsuranceCarriers ic on pi.InsuranceCarriersId = ic.InsuranceCarriersId
join OpenQuery(EMR_LIVE
, ''' + replace(@EMRQuery, '''', '''''') +
''') Students on pp.PatientId = Students.ExternalId
group by ic.ListName '
exec(@CPSQuery)
Sin embargo, cuando lo conecto a esto en SSRS, no se registra que hay campos disponibles para informar sobre. ¿Cómo convenzo a SSRS de que tengo campos para trabajar? Gracias.
Editar: Acabo de declarar los parámetros en la consulta, y reconoció los nombres de los campos.
declare @DateYearStart datetime
declare @DateQuarterEnd datetime
set @DateYearStart = '2011-07-01'
set @DateQuarterEnd = '2012-03-31'
Por supuesto, que con error porque yo estaba declarando los parámetros dos veces, una vez como parámetros de consulta y una vez dentro de la consulta. Pero, tan pronto como comenté las líneas de arriba, perdí los campos nuevamente.
Como dije, cuando declare los parámetros y los valores proporcionados para ellos, la consulta funcionó bien. Fue cuando pasé los parámetros en el conjunto de datos del informe que no vería los campos. Pero, cuando agregué campos calculados al conjunto de datos, pude ver que devolvía la cantidad correcta de registros, aunque no pude convencerlo de que me mostrara los campos que quería ver. – SarekOfVulcan
Veo ahora. Sí, realmente no genera los campos. ¿Intentó la idea del procedimiento almacenado? – Diego
Aún no. Puede que tenga que buscar una solución, pero este informe va en contra de una aplicación de terceros, y trato de meterme con las definiciones de datos lo menos posible. (Aprendí esa lección cuando una vista materializada de Oracle que había construido se salió de control y comenzó a reconstruirse cada vez que se actualizaron los datos, en lugar de a las 2:00 a.m. todas las noches ...) – SarekOfVulcan