在动态CRM报告

时间:2017-03-14 01:41:28

标签: reporting-services dynamics-crm

假设我有一个非常简单的动态365在线SSRS报告如下: enter image description here

FetchXML查询如下:

<fetch distinct="false" no-lock="false" mapping="logical">
<entity name="account" enableprefiltering="1" prefilterparametername="CRM_FilteredAccount">
    <attribute name="name" alias="name" />
    <attribute name="createdon" alias="createdon" />
    <attribute name="ownerid" />
</entity>

现在我想逐个过滤帐户,我添加如下参数: enter image description here 使用以下FetchXML查询从CRM检索我的过滤器的值,并将显示为下拉列表:

<fetch distinct="false" no-lock="false" mapping="logical">
<entity name="systemuser">
    <attribute name="systemuserid" />
    <attribute name="fullname" />
    <order attribute="fullname" />
</entity>

我的意图是用户可以选择所有者,报告只会显示属于该用户的帐户,但如果他们没有选择任何内容,则会显示所有帐户。但是,如果下拉列表为空,则在尝试执行报表时出现以下错误: enter image description here

根据我在各种网站上发现的内容,“允许空白值”和“允许空值”仅在第二次查询结果中存在空值/空值时才有效。如果我的过滤器列表是使用SQL查询构建的,那么这不会有问题,因为我可以简单地插入一个虚拟空值,但我找不到用FetchXML查询做同样的方法。

所以我的问题是如何在这种情况下向我的过滤器列表中添加一个虚拟/空值?

注意:我已经在下面的答案中添加了我如何解决这个问题,但我觉得这必须是解决我认为是常见问题的更好方法。

1 个答案:

答案 0 :(得分:0)

我添加了一个新的虚拟用户,如下所示, 请注意,我将此用户的显示名称设置为&#34;(请选择)&#34;: enter image description here 然后在我的报告中,我将我的过滤器的默认值设置为这个虚拟用户,结果是我现在有一个&#34;选择全部&#34;选项看起来很不错。

enter image description here