2013-04-19 4 views
1

Я хочу запустить свой отчет для каждого случая, связанного с контрактом для клиента. Сейчас я могу запускать отчеты на уровне аккаунта. Я использовал вид фильтрации, как показано ниже:Отчеты SSRS с использованием предварительной фильтрации

dbo.FilteredAccount AS CRMAF_FilteredAccount 
on CRMAF_FilteredAccount.accountid = I.CustomerId 
WHERE A.PartyObjectTypeCode = 8 AND A.PartyIdName IS NOT NULL 

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

запросы от комментариев:

SELECT I.CustomerIdName AS 'Customer Name', 
     S.CreatedOn AS 'Task Start Date', 
     S.Subject AS 'Task Performed', 
     A.PartyIdName AS 'Resource', 
     S.Description, 
     cast((S.ActualDurationMinutes/480) as varchar(5)) +' day(s)' + ', ' + 
      cast((S.ActualDurationMinutes% 480)/60 as varchar(2))+' hour(s)' 
      as 'Time Spent', 
     S.ActualDurationMinutes AS 'Total Time', 
     S.ActualDurationMinutes AS 'Total' 
FROM dbo.Incident I 
JOIN [dbo].[ServiceAppointment] S ON I.IncidentId = S.RegardingObjectId 
JOIN dbo.ActivityParty A ON S.ActivityId = A.ActivityId 
+0

Куда остальная часть запроса? Включенный фрагмент кода не похож на синтаксическое выражение SSRS. –

+0

ВЫБРАТЬ \t I.CustomerIdName AS 'Имя клиента' \t, S.CreatedOn AS 'Task Start Date' , S.Subject AS 'Task Выполненный' , A.PartyIdName AS 'Ресурс' , S.Description , литая ((S.ActualDurationMinutes/480) как varchar (5)) + 'day (s)' + ',' + cast ((S.ActualDurationMinutes% 480)/60 как varchar (2)) + 'hour (s) 'как 'время нахождения' , S.ActualDurationMinutes как 'Общее время' \t, S.ActualDurationMinutes как 'Общее' \t \t ОТ dbo.Incident Присоединяюсь [DBO]. [ServiceAppointment] S ВКЛ I. IncidentId = S.RegardingObjectId JOIN dbo.ActivityParty A ON S.ActivityId = A.ActivityId – user2287143

+0

Это запрос. Это позволяет получить все данные с уровня учетной записи. Я хочу запустить отчет с уровня дел для учетной записи – user2287143

ответ

1

Вам нужно добавить CaseID в вашем списке выбора и параметр для сравнения его в докладе. Таким образом, вы добавили бы что-то вроде этого в ваше предложение WHERE:

WHERE I.CaseID = @SelectedCase 
+0

Добавив предложение WHERE, смогу ли я запустить отчет для любого случая для любой учетной записи? – user2287143

+0

Спасибо, Стивен! Это сработало. Я не знаю, как я не думал о добавлении предложения WHERE! Еще раз спасибо! – user2287143

+1

@ user2287143, рад помочь, пожалуйста, не забывайте отмечать как ответ. – StevenWhite

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