Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reporting services SSRS子报告未在生产中显示_Reporting Services_Ssrs 2008_Ssrs 2012 - Fatal编程技术网

Reporting services SSRS子报告未在生产中显示

Reporting services SSRS子报告未在生产中显示,reporting-services,ssrs-2008,ssrs-2012,Reporting Services,Ssrs 2008,Ssrs 2012,有时候我真的很讨厌M$ 我有一个SSRS报告,数据集由一个存储过程填充。报告每页显示一个地区(分组行)的结果。存储过程正在返回聚合计数。到目前为止还不错 我在tablix中添加了两个子报告,一个在左列,一个在右列。几乎完全一样。我已经单击了单元格,单击了插入,并选择了子报表。然后单击新的子报表,并使用下拉列表指定要用作子报表的报表 它们也有一个由存储过程提供的数据集,存储过程可能从0返回到几行。两个子报告使用完全相同的参数,具有相同的名称 ----------------------------

有时候我真的很讨厌M$

我有一个SSRS报告,数据集由一个存储过程填充。报告每页显示一个地区(分组行)的结果。存储过程正在返回聚合计数。到目前为止还不错

我在tablix中添加了两个子报告,一个在左列,一个在右列。几乎完全一样。我已经单击了单元格,单击了插入,并选择了子报表。然后单击新的子报表,并使用下拉列表指定要用作子报表的报表

它们也有一个由存储过程提供的数据集,存储过程可能从0返回到几行。两个子报告使用完全相同的参数,具有相同的名称

---------------------------------------------------
|___________________DISTRICT 12___________________|
|_____________Item 1|__75|____________Item 2 |__42|
|_____________Item 3|__15|____________Item 4 |__45|
|_____________Item 5|___5|____________Item 6 |__16|
|_____________Item 7|__65|____________Item 8 |___0|
|_____________Item 9|__12|___________Item 10 |__55|
|=================================================|
|______Sub Report 1______|______Sub Report 2______|
|_________category 1|__27|_________category A|__16|
|_________category 2|__15|_________category B|__42|
|_________category 3|___2|_________category C|__60|
|_________category 4|___6|                        |
|_________category 5|__16|                        |
---------------------------------------------------
它在VisualStudio中看起来和工作都很好。每个子报表本身都可以正常工作,在主报表中也可以正常工作。但当我部署所有3个报表时,子报表1显示“错误:无法显示子报表”

子报表采用完全相同的参数。子报告获取地区ID、年份等以提取数据

我用另一个名称重新创建了有问题的子报告,并在主报告中替换了它,得到了相同的结果

我重新创建了主报告,给它两个子报告,结果完全相同,子报告1和子报告1b不起作用,子报告2起作用

我使用ExamDiff(无耻的插件,优秀的工具!)将子报告文件彼此进行了比较,没有发现真正的差异

我用XML记事本(另一个有用的工具)打开了主报告文件,发现它们的设置方式没有真正的区别

所有报告都存储在同一目录中

我打开了项目文件,没有发现任何有趣的东西

我甚至按照其他地方的建议将外部工具添加到了

我被难住了。我肯定以前也遇到过这种情况。有什么建议吗


一如既往,感谢各位同胞对我的堆栈溢出。为全球开发者提供建议的最佳来源。

这可能是旧的FMTONLY和SSRS问题。
有关更多详细信息,请参阅这些链接

当结果集最初没有显示时,我在一些旧的SSRS存储过程中使用它

CREATE PROCEDURE report1 AS
BEGIN
     DECLARE @FMTONLY BIT;  
     IF 1 = 0               
      BEGIN  
        SET @FMTONLY = 1;  
        SET FMTONLY OFF;  
      END 

     -- Stored proc main code here

    IF @FMTONLY = 1  
     BEGIN  
        SET FMTONLY ON;  
     END  

END  -- End of stored proc / RETURN

说真的,有时候我讨厌M$

两个子报告的存储过程只返回4个字段,其中一个我甚至不用(地区ID)。报表在一个表中只有三个文本框,其中一个是文本框。另外两个是

=Description + " (" + code + ")"

这些绝对没什么

最后,我们采用了一个有效的方法,将XML复制到一个新的子报表中,更改了数据集、字段名和文本,重新部署,它就可以工作了。比较一个有效的和两个无效的。。。毫无兴趣。啊


正如我所说的,两者使用相同的输入参数,存储过程只是计算不同的字段。浪费了一天多的时间,我们仍然不知道出了什么问题。

您使用什么路径来引用子报告?我假设您是在本地环境中开发的,这意味着您的路径指向本地文件夹。通常,最好使用子报表的相对路径,例如仅使用名称
Subreport1
。因为我从下拉列表中选择了子报告,所以我并不知道引用了路径。正如我所说,所有报告都在同一个文件夹中。在主报告中,XML只列出了报告名称。单元格内容>子报表>报表名称>#文本>rpt#U报表225计数。下一个节点是参数。第二个子报表的选择方式相同,使用的参数相同,工作正常。通常,您可以右键单击子报表对象并选择子报表属性以检查路径。明智的做法是仔细查看子报表的属性,因为它们通常是此类事情的最大痛点。通常情况下,参数不会按其应有的方式填充。嗯。。嗯,我想我只是真正使用了各种版本的报表生成器来开发SSRS报表。也许在VS方面有更多经验的人可以提供更好的建议。我主要为Microsoft dynamic crm应用程序构建ssrs报告。我用subreport创建了许多报表,正如您在问题中提到的,我使用visual studio和我的get选项从项目中的可用报表中选择subreport。但这里有一个问题,当我部署到目标环境(prod)时,它们之间的链接大部分时间是断开的。然后我要做的是在dynamics crm中打开子报表属性并设置其父记录,这样我就可以使报表正常工作。我不确定这是否与您完全相关,但可能会给您一个提示。让我知道这是否有用。我不确定。报表在开发环境中正常工作,仅在生产环境中失败。如果存储过程未返回任何数据,则报告应为空,而不是在主报告中显示错误,对吗?
=DistCounts