通过CRM2016添加SSRS报表:预过滤不起作用?
Adding SSRS report through CRM2016: Prefiltering doesn't work?
我在 Visual Studio 中创建了一个自定义 Reporting Services 报告,旨在使用自动预过滤作为 described here。
所以,我创建了如下查询:
select fullname, createdbyname, createdon
from FilteredContact as CRMAF_FilteredContact
order by createdon desc
但是,一旦我根据报告的 .rdl 文件(如 described under "Deploying the Report" here)在 CRM 中添加新报告,它就可以正常添加报告,但会发生两件事:
1) 此报告的共享数据源最初无效,CRM 和 SSRS 都拒绝呈现它并出现错误:
"The report server cannot process the report or shared dataset. The shared data source 'MyOrg_MSCRM' for the report server or SharePoint site is not valid. Browse to the server or site and select a shared data source. (rsInvalidDataSourceReference)"
我必须手动将 SSRS 中的数据源设置为 /MyOrg_MSCRM/CustomReports/MSCRM_DataSource
才能使其正常工作。
2) 报告未出现在“运行 on Selected records”下,而是出现在“运行 on All Records 下",并且不执行任何预过滤。
此外,当我从 SSRS 下载 .rdl 时,它没有修改它,既没有添加额外的参数也没有更改 SQL 查询。正如我所料 based on this information.
我可能做错了什么?
我在本地使用 MS CRM 2016 更新 1 (v8.1.0.359),SQL Server 2014 Reporting Services 和 SRS 数据连接器安装在同一台机器上。
您已经创建了用于多个报告的共享数据源。当通过 CRM 上传报告时,这是不受支持的。每个报告都必须在报告中嵌入自己的连接详细信息。
我认为这样做的原因是,正如您尝试做的那样,修改了报告以添加隐藏的 CRM 参数并更改查询,以便可以进行预过滤。
要解决此问题,您必须修改每个报告并将连接详细信息直接输入到报告中,而不是使用共享连接。这有点烦人,但应该会给您带来您期望看到的结果
显然,您可以使用共享数据源引用,但您必须将其命名为MSCRM_DataSource
,就像MSCRM 用于其报告的数据源一样。
如果您像这样在 MSCRM 中上传报告,MSCRM 会识别这一点并自动将数据源更新为有效的 /MyOrg_MSCRM/CustomReports/MSCRM_DataSource
数据源, 和 还会添加预过滤修改.
我在 Visual Studio 中创建了一个自定义 Reporting Services 报告,旨在使用自动预过滤作为 described here。
所以,我创建了如下查询:
select fullname, createdbyname, createdon
from FilteredContact as CRMAF_FilteredContact
order by createdon desc
但是,一旦我根据报告的 .rdl 文件(如 described under "Deploying the Report" here)在 CRM 中添加新报告,它就可以正常添加报告,但会发生两件事:
1) 此报告的共享数据源最初无效,CRM 和 SSRS 都拒绝呈现它并出现错误:
"The report server cannot process the report or shared dataset. The shared data source 'MyOrg_MSCRM' for the report server or SharePoint site is not valid. Browse to the server or site and select a shared data source. (rsInvalidDataSourceReference)"
我必须手动将 SSRS 中的数据源设置为 /MyOrg_MSCRM/CustomReports/MSCRM_DataSource
才能使其正常工作。
2) 报告未出现在“运行 on Selected records”下,而是出现在“运行 on All Records 下",并且不执行任何预过滤。
此外,当我从 SSRS 下载 .rdl 时,它没有修改它,既没有添加额外的参数也没有更改 SQL 查询。正如我所料 based on this information.
我可能做错了什么?
我在本地使用 MS CRM 2016 更新 1 (v8.1.0.359),SQL Server 2014 Reporting Services 和 SRS 数据连接器安装在同一台机器上。
您已经创建了用于多个报告的共享数据源。当通过 CRM 上传报告时,这是不受支持的。每个报告都必须在报告中嵌入自己的连接详细信息。
我认为这样做的原因是,正如您尝试做的那样,修改了报告以添加隐藏的 CRM 参数并更改查询,以便可以进行预过滤。
要解决此问题,您必须修改每个报告并将连接详细信息直接输入到报告中,而不是使用共享连接。这有点烦人,但应该会给您带来您期望看到的结果
显然,您可以使用共享数据源引用,但您必须将其命名为MSCRM_DataSource
,就像MSCRM 用于其报告的数据源一样。
如果您像这样在 MSCRM 中上传报告,MSCRM 会识别这一点并自动将数据源更新为有效的 /MyOrg_MSCRM/CustomReports/MSCRM_DataSource
数据源, 和 还会添加预过滤修改.