我正在尝试使用Dynamics CRM(FetchXML)向Reporting Services中的报表添加一个简单的子报表。这都在我的本地机器上,两个报告都没有发布。我只是想让它们在Reporting Services中运行。我在子报表中为字段“name”添加了一个参数。然后我在主报告中添加了一个子报告。然后,我通过子报表属性选择子报表,并在此处传递参数。
以下是主报告中的FetchXML
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="account">
<attribute name="name" />
<attribute name="ownerid" />
<attribute name="new_databaseserver" />
<attribute name="new_databasename" />
<attribute name="accountid" />
<order attribute="name" descending="false" />
</entity>
</fetch>
以下是子报告中的FetchXML
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="account">
<attribute name="name" />
<attribute name="accountid" />
<attribute name="new_adam" />
<order attribute="name" descending="false" />
</entity>
</fetch>
这是错误:
[rsErrorExecutingSubreport]执行子报表'SubReport1'时出错(实例:19iT0R0x0S0):子报表'SubReport1'的数据检索失败,位于:/ SubReport1。请查看日志文件以获取更多信息。
整个周末,我一直在绞尽脑汁。任何帮助将非常感激。
答案 0 :(得分:0)
我注意到您在子报表中没有过滤器表达式。我认为报告服务试图从CRM获取所有帐户数据两次:第一次报告,然后是子报告。尝试将此提取用于子报告:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="account">
<attribute name="name" />
<attribute name="accountid" />
<attribute name="new_adam" />
<order attribute="name" descending="false" />
<filter type="and">
<condition attribute="name" operator="eq" value="@Name" />
</filter>
</entity>
</fetch>
@Name
是参数的名称。