【问题标题】:Inner join is breaking SSRS内部连接正在破坏 SSRS
【发布时间】:2015-03-08 04:09:15
【问题描述】:

我有一个问题:

SELECT systemuser.fullname AS 'fullname',
   usersettings.calendartype AS 'calendartype', 
   usersettings.uilanguageid AS 'uilanguageid' 
FROM   filteredsystemuser AS systemuser 
   INNER JOIN filteredusersettings AS usersettings 
           ON systemuser.systemuserid = usersettings.systemuserid 
inner join vfinduserguid vfg
on systemuser.systemuserid = vfg.userguid

我已将其转换为 FetchXML:

<fetch mapping="logical">
  <entity name="systemuser">
    <attribute name="fullname" alias="fullname" />
    <link-entity name="usersettings" to="systemuserid" from="systemuserid" alias="usersettings" link-type="inner">
      <attribute name="calendartype" alias="calendartype" />
      <attribute name="uilanguageid" alias="uilanguageid" />
      <link-entity name="vfinduserguid" to="systemuserid" from="userguid" alias="vfg" link-type="inner" />
    </link-entity>
  </entity>
</fetch>

使用此服务:http://www.sql2fetchxml.com/

当我尝试在 SSRS 中使用这个 FETchXML 时,我得到:

Microsoft Dynamics CRM 中不存在特定的记录类型。

我做错了什么?

请注意,破坏它的是最后一个连接 (vfinduserguid)。这个对象是一个视图。

【问题讨论】:

  • 尝试添加AS,在我看来是唯一不同的地方,也许它不知道隐式别名。
  • 谢谢,这不会改变 fetchxml
  • 查询设计器需要一个 T-SQL 查询而不是您输入的 XML。只需输入您编写的查询,它就会返回结果。您可以选择以 XML 格式呈现报告,但不能输入 XML 来查询 SQL Server 数据库。
  • 我的数据源只接受 fetchxml
  • 我认为 CRM 可能无法识别您的自定义视图 vfinduserguid。提取查询与 SQL 查询的工作方式不同,因为它在运行之前由 CRM 转换为 SQL 查询,并且不能像 SQL 查询那样仅针对数据库中的任何表或视图运行。

标签: sql sql-server reporting-services dynamics-crm-2011


【解决方案1】:

这里是获取当前用户的fetch:

<fetch version="1.0" output-format="xml-platform"
       mapping="logical" distinct="false">
   <entity name="systemuser">
      <attribute name="fullname" />
      <attribute name="systemuserid" />
      <order attribute="fullname" descending="false" />
      <filter type="and">
         <condition attribute="systemuserid"
                    operator="eq-userid" />
      </filter>
   </entity>
</fetch>

http://crmtipoftheday.com/2014/01/09/reflecting-current-user-ssrs/

【讨论】:

  • 非常感谢。你是个好人。看起来 CRM 不允许用户检查角色。得到同样的错误。
  • zach,我实际上只是想获取运行报告的用户的名称
猜你喜欢
  • 2016-12-02
  • 2014-01-04
  • 2012-05-22
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多