CRM 2011和SSRS - 为单个记录生成报告

时间:2011-08-01 12:57:35

标签: ssrs-2008 reporting-services dynamics-crm-2011

是否可以使用CRM 2011和SSRS生成单个记录的报告,并且只获得该记录的结果?

修改
附加信息 - 必须使用:
自定义SSRS报告
CRM中的自定义实体

3 个答案:

答案 0 :(得分:5)

以下是您问题的更具体的链接:link。如果您希望报告特定于记录(上下文敏感),您可能正在寻找预过滤(在提供的链接中查找“3.预过滤元素”)。

这是一个链接,描述了两种类型的预过滤器(CRM 4.0,但该理论适用于CRM 2011):link。以下是CRM 2011中预过滤的示例:link

我已经在CRM 2011中成功完成了这项工作,在BIDS上制作了一个完全自定义的报告,在自定义实体上,具有完整的上下文敏感性。

确保学习fetchXML,因为它将成为这些报告的前进技术。现有的报告使用SQL,这使得它们成为复制的坏例子。

以下是如何从高级查找中提取fetchXML的示例:link它还提供了有关预过滤的更多信息。

答案 1 :(得分:1)

查看报告Account Overview.rdl。它可以针对单个帐户记录或多个记录执行。

请参阅Reporting for Microsoft Dynamics CRM Using Microsoft SQL Server Reporting Services

答案 2 :(得分:0)

  1. 为您要定位的环境创建与CRM数据库引擎的嵌入式连接。
  2. 创建嵌入数据集以查询当前记录。这会有点奇怪,因为经验会告诉你,你将获得大量的记录,但由于CRM背后的笨拙,它实际上只会得到当前的记录。例如,如果您想获得当前报价,可以使用“SELECT quoteid FROM FilteredQuote AS CRMAF_Quote
  3. 添加参数以存储对您刚查询的实体的引用。为了与这个例子保持一致,我创建了@QuoteFilter类型文本,可以存储多个值(即使这不是我们正在使用的值),并从步骤2中的数据集中获取其默认值。此外,可能因为GUID不是最终用户友好的,所以应该隐藏它。
  4. 最后,使用在其他数据集的where子句中发现的参数。例如,对当前报价的报价产品的搜索类似于SELECT * FROM FilteredQuoteDetail WHERE (quoteid = @QuoteFilter)
  5. 作为最后一点,你应该记住,即使你不想要它,CRM仍然喜欢记住所有内容。在我的一份报告中,我搞砸了我的数据源,CRM终于确信该报告应针对所有记录运行。我修复了我的数据源,但上传报告没有触发刷新并纠正问题。最后,我从CRM中删除了报告,创建了一个新报告,上传了相同的确切文件,没有任何更改,一切正常。去图。