SSRS对于预过滤的Microsoft Dynamics CRM 2016

问题描述:

我想要为Dynamics CRM 2016创建具有预过滤功能的SSRS。但是我很困惑如何去做。SSRS对于预过滤的Microsoft Dynamics CRM 2016

这里查询:

;with cte as (select dbo.new_troubleticket.new_troubleticketid, 
dbo.new_actiontaken.new_name as [Action Taken], dbo.new_troubleticket.new_rootcauseidname as [Root Cause] from dbo.new_new_troubleticket_new_actiontaken 
INNER JOIN new_troubleticket ON new_new_troubleticket_new_actiontaken.new_troubleticketid = new_troubleticket.new_troubleticketid 
INNER JOIN new_actiontaken ON new_new_troubleticket_new_actiontaken.new_actiontakenid = new_actiontaken.new_actiontakenid) 
, cte1 as (Select new_serviceId, dbo.Account.new_CustomerID as [Customer ID],new_accountidname as [Name] from new_service LEFT JOIN Account ON new_service.new_AccountId = Account.AccountId) 

Select dbo.new_troubleticket.new_name as [Ticket ID], dbo.new_troubleticket.new_referalticketname as [Referral Ticket],dbo.new_service.new_Building1 as Link, Dateadd(mi, datediff(mi, getutcdate(), getdate()), new_startdown) As [Down Time], 
Dateadd(mi, datediff(mi, getutcdate(), getdate()), new_startup) As [Up Time], 
dbo.new_service.new_AccountIdName as [Customer Name], cte1.[Customer ID], dbo.new_service.new_name as [Link ID], dbo.new_service.new_Building1 as [Link Name] , 
dbo.new_troubleticket.new_RootCauseIdName, dbo.new_troubleticket.new_TTActionTaken 
,FLOOR((new_troubleticketservice.new_duration*60)/86400) AS HARI 
,FLOOR(((new_troubleticketservice.new_duration*60)/3600) - FLOOR((new_troubleticketservice.new_duration*60)/86400) *24) AS JAM 
,FLOOR(((new_troubleticketservice.new_duration*60)/60) - FLOOR((new_troubleticketservice.new_duration*60)/3600) *60) AS MENIT 
, new_troubleticketservice.new_duration as [Menit Total] 
from new_troubleticketservice 
LEFT JOIN new_troubleticket ON new_troubleticketservice.new_TroubleTicketId = new_troubleticket.new_troubleticketId 
LEFT JOIN cte on new_troubleticketservice.new_troubleticketId = cte.new_troubleticketid 
LEFT JOIN new_service ON new_troubleticketservice.new_ServiceId = new_service.new_serviceId 
LEFT JOIN cte1 on new_troubleticketservice.new_ServiceId = cte1.new_serviceId 

    where cte1.[Name] like 'Company a' 

在互联网上,他们这样做是通过使用此查询:

Select * from FilteredAccount AS CRMAF_FilteredAccount 

所以,他们可以运行基于CRM中查看所选帐户的报告。我想创造类似的东西。但在数据集中使用更复杂一点的查询。

如果您在SQL语句中为SSRS报告使用CRMAF_FilteredEntity,则会使用用户为其运行报告的实体对这些实体进行预过滤。您也可以在其他SQL语句(如JOIN)中使用CRMAF_FilteredEntity,这应该会产生所需的结果。

+0

我已成功通过使用子报告运行ssrs prefiltering。但是,即时通讯无法添加日期参数 –