В SSRS возможно ли сделать контекстно-зависимый отчет, содержащий несколько вложенных отчетов для динамики CRM 2011 - PullRequest
0 голосов
/ 11 января 2012

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

Ниже приведен запрос для основного отчета.

SELECT Filterednew_franchisee.new_franchiseeid, 
  Filterednew_franchisee.new_name, 
  Filterednew_monthlypayment.new_insurance
FROM Filterednew_franchisee 
INNER JOIN Filterednew_monthlypayment 
ON Filterednew_franchisee.new_franchiseeid = 
  Filterednew_monthlypayment.new_franchiseeid
WHERE (Filterednew_monthlypayment.new_yearmonth = 
  @reportyear + @reportmonth) 
AND (Filterednew_franchisee.new_franchiseeid IN 
  (select new_franchiseeid 
    from Filterednew_franchisee as CRMAF_Filterednew_franchisee))

Подотчеты используют поля из вышеуказанного запроса в качестве параметра.

Я что-то упустил? Есть ли другой подход, которому нужно следовать? Действительно ли возможно создать контекстно-зависимый отчет, имеющий несколько вложенных отчетов?

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 16 января 2012

Да, контекстно-зависимые отчеты возможны. Имя Filtered, как в Filterednew_franchisee, относится к представлению SQL Server, предназначенному для обеспечения безопасности. Чтобы получить доступ к контекстно-зависимым представлениям, API берет произвольный префикс с именем CRMAF_ и переводит его в контекстно-зависимый запрос .

К счастью, SDK включает в себя образец представления (который я скопировал ниже).

SELECT 
    CRMAF_FilteredActivityPointer.activitytypecodename as activitytypecodename,
    CRMAF_FilteredActivityPointer.regardingobjectidname as regardingobjectidname,
    CRMAF_FilteredActivityPointer.subject as subject,
    CRMAF_FilteredAccount.name
FROM FilteredActivityPointer AS CRMAF_FilteredActivityPointer
    INNER JOIN FilteredAccount As CRMAF_FilteredAccount on
        CRMAF_FilteredAccount.accountid =
        CRMAF_FilteredActivityPointer.regardingobjectid
...