Sql server 如果数据集为空,则无法通过SSRS嵌套报告

Sql server 如果数据集为空,则无法通过SSRS嵌套报告,sql-server,reporting-services,null,ssrs-2008,subreport,Sql Server,Reporting Services,Null,Ssrs 2008,Subreport,我正在使用一个预先存在的SSRS报告,它有一个嵌套的子报告 嵌套子报表并不总是返回数据。(这是正确的)。如果数据集为空,则没有任何内容,没有报告或列标题,没有任何类型的值,没有徽标。没有什么。然而,这不是我们想要的。如果数据集为空,则报告应返回标题/徽标和列标题,并带有一个字符串,表示此数据范围没有数据 没有阻止其通过的过滤器/可见性设置。请告知 如果没有数据,可以插入“虚拟”记录。假设您当前的查询是: SELECT ID , [Name] , [FavoriteFruit] F

我正在使用一个预先存在的SSRS报告,它有一个嵌套的子报告

嵌套子报表并不总是返回数据。(这是正确的)。如果数据集为空,则没有任何内容,没有报告或列标题,没有任何类型的值,没有徽标。没有什么。然而,这不是我们想要的。如果数据集为空,则报告应返回标题/徽标和列标题,并带有一个字符串,表示此数据范围没有数据

没有阻止其通过的过滤器/可见性设置。请告知

如果没有数据,可以插入“虚拟”记录。假设您当前的查询是:

SELECT ID
    , [Name]
    , [FavoriteFruit]
FROM yourTable
WHERE [SomeField] = 'hello'
您可以检查值并返回虚拟记录,如:

IF EXISTS(
    SELECT 1
    FROM yourTable
    WHERE [SomeField] = 'hello'
    )
    SELECT ID
        , [Name]
        , [FavoriteFruit]
    FROM yourTable
    WHERE [SomeField] = 'hello'
ELSE
    SELECT ID = 0
        , [Name] = 'No data'

检查是否存在

    IF NOT EXISTS(SELECT 1 FROM table)
     BEGIN
          SELECT Column from table
     END        
  ELSE
     BEGIN
          SELECT 'No records' as Column from table
     END
为SSRS报告中的结果表添加条件

Tablix属性>可见性>基于条件显示或隐藏


添加一个文本为“未找到记录”的
TextBox
,并添加一个基于数据集结果显示的条件。

只是为了确保这是SQL而不是SSRS语法?这也将显示标题/等等。我仍然无法让它们显示。我无法控制数据,因此插入虚拟记录将不起作用。但我喜欢检查是否有数据的想法。也就是说,上面的语法是SQL而不是ssrs语法。我将在何处/如何使用上述逻辑来测试ssrsIt中的记录?实际上,我没有插入一个记录错误的措辞。这改变了报表的数据源查询,使其包含一个虚拟记录:它不必在数据库中,因为您只是指定要返回的值。您可以在报表的查询中包含IF/THEN逻辑。我还想到,您可以包含一个完整的虚拟tablix控件。使用查询“SELECT ID=1”创建一个新的数据源。该查询将始终返回“1”作为[ID]的值,因此报告应始终正常生成。只需确保将虚拟tablix设置为小,并将字体设置为while,这样用户就不会看到它。明白了。我要试试这个。谢谢(我仍然面临的问题是,为什么数据无法通过/可见),而这个选项将测试我是否可以使用它。我不明白嵌套时为什么列标题没有显示出来。