在以前的文章中,我介绍了如何创建一个基于SQL并使用数据预筛选功能的报表。在这篇文章中,我再创建一个比较有实际意义的工作报表,查看某个或多个客户的商机(opportunity)的信息,并对商机的预计收入(Estimated Value)进行统计, 最后我们使用CRM_URL参数来完成报表导航功能。
(1) 创建一个新的报表(如何创建新报表,并使用数据预筛选功能,请查看我以前的文章)。在新报表中创建新的系统参数,CRM_FilteredAccount。
(2) 在数据集中添加参数
并使用以下的Query
declare @sql as nVarchar(max)
set @sql = '
SELECT fa.">name as accountname, fa.accountid as accountid, FilteredOpportunity.name as opportunityname, FilteredOpportunity.estimatedclosedate as opportunityestclosedate, FilteredOpportunity.estimatedvalue as opportunityestvalue, FilteredOpportunity.opportunityid as opportunityid
FROM (' + @CRM_FilteredAccount + ') as fa
inner join FilteredOpportunity on fa.accountid = FilteredOpportunity.customerid'
exec(@sql)
(3) 添加一个table到报表中
(4) 更改一下Est Close Date的格式: 点击opportunityestclosedate的单元格,右击鼠标 –>Text Box Property –> Number
更改一下 Est Value的格式:点击opportunityestvalue的单元格,右击鼠标 –>Text Box Property –> Number
(5) 对数据进行分组:从Report Data面板中将 accountid 字段拖到“行组”窗格,并将其放置到名为 Details 的行上面。
将accountid那一列修改为account name
(6) 为Row Group添加一个Est Value总和的统计:
添加一个SUM表达式
(7) 为所有客户添加一个Est Value总和的统计:
添加一个SUM表达式
(8) 添加导航功能。当我们点击accountname时,就会打开该客户的表单。点击opportunityname就会打开商机的表单。
首先添加一个参数:CRM_URL
然后在设计面板中选择accountname单元格,右键点击 –> Text Box Properties –> Action –> Go To URL
=Parameters!CRM_URL.Value & "?ID={"&Fields!accountid.Value.ToString()&"}&LogicalName=account"
然后在设计面板中选择opportunityname单元格,右键点击 –> Text Box Properties –> Action –> Go To URL
=Parameters!CRM_URL.Value & "?ID={"&Fields!opportunityid.Value.ToString()&"}&LogicalName=opportunity"
(9) 保存好报表,上传到CRM中,看一下结果吧:
点击Fourth Coffee会打开客户的表单;点击Buy 100 user licenses会打开相应的商机的表单。