我有一个包含两个数据集的SSRS报告:项目(ID,项目,状态)和任务(ID,标题,AssignedTo,项目)。我有一个用于任务的Tablix,它使用Lookup函数引用Projects数据集中的值。
当我按需运行时,报告运行正常。当它作为订阅运行时,它会记录错误“已添加具有相同密钥的项目”。当我研究此错误时,大多数文章引用了不同的字段名称,但是当我尝试更改项目数据集中的字段名称时,我得到错误“数据集'项目'的字段表达式引用字段'ID'。报告项表达式只能引用当前数据集范围内的字段,或者如果在聚合内部,则引用指定的数据集范围“
我只想要一个连接两个列表的报告,并且可以作为订阅生成。有什么想法吗?
答案 0 :(得分:1)
这听起来像权限问题。按需运行报表时,它会使用您的帐户“登录”SharePoint。当您将报表作为订阅运行时,它将使用在SSRS服务器上运行SQL Server代理服务的帐户。也许该帐户没有足够的权限来访问SharePoint列表?
答案 1 :(得分:0)
fyi,我正在使用临时表来包含我的所有选择语句,包括一些UNION ALL 例如:使用TEMP_TABLE(名称,姓氏,区域)作为(SELECT名称,姓氏,区域FROM表.... UNION ALL选择bname,blastname,bregion FROM table2 UNION ALL ........ 当我调用临时表来调用报表的所有列时,我使用的是来自TEMP_TABLE的SELECT *,这是我的巨大错误。出于某种原因,当我调用TEMP TABLE i HAD使用每个“列名”(例如:SELECT名称,姓氏,区域FROM TEMP_TABLE)而不是使用SELECT *