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

时间:2018-10-10 21:14:16

标签: sql-server reporting-services null ssrs-2008 subreport

我正在使用一个包含嵌套子报告的SSRS报告。

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

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

2 个答案:

答案 0 :(得分:1)

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

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'

答案 1 :(得分:1)

检查Row Exists

    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 Properties > Visibility > Show or Hide Based on Condition

添加带有文本TextBox的{​​{1}},并根据数据集结果添加要显示的条件。