如果数据集为空,则 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
,并根据您的数据集结果添加要显示的条件。
我正在使用具有嵌套子报表的 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
,并根据您的数据集结果添加要显示的条件。