如果数据集为空,则 SSRS 嵌套报告不会通过

SSRS Nested Report Not Coming Through if Dataset is Empty

我正在使用具有嵌套子报表的 pre-existing SSRS 报表。

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

没有 filters/visibility 设置阻止它通过。请指教。

如果没有数据,您可以插入一条"dummy"记录。假设您当前的查询是:

SELECT ID
    , [Name]
    , [FavoriteFruit]
FROM yourTable
WHERE [SomeField] = 'hello'

您可以检查值和 return 虚拟记录,例如:

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'

检查 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 报告的结果Table添加条件

Tablix Properties > Visibility > Show or Hide Based on Condition

添加带有文本 'No records found'TextBox,并根据您的数据集结果添加要显示的条件。