Как составить список полей из динамического SQL-запроса в наборе данных SSRS

Я выполняю следующий запрос в SSRS. Если я добавлю объявления для двух параметров, он будет нормально работать в консоли управления SQL.

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)

Однако, когда я подключаю его к SSRS, он не регистрирует наличие каких-либо полей для отчета. Как мне убедить SSRS, что у меня есть поля для работы? Спасибо.

Изменить :Я только что объявил параметры в запросе, и он распознал имена полей.

declare @DateYearStart datetime
declare @DateQuarterEnd datetime
set @DateYearStart = '2011-07-01'
set @DateQuarterEnd = '2012-03-31'

Конечно, это было ошибкой, потому что я объявлял параметры дважды, один раз как параметры запроса и один раз в запросе. Но, как только я закомментировал строки выше, у меня снова пропали поля.

7
задан Burhan Ali 3 May 2012 в 12:56
поделиться