代码之家  ›  专栏  ›  技术社区  ›  Elizabeth

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

  •  2
  • Elizabeth  · 技术社区  · 6 年前

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

    2 回复  |  直到 6 年前
        1
  •  1
  •   Russell Fox    6 年前

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

    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'
    
        2
  •  1
  •   Dhana    6 年前

    检查 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
    

    Tablix Properties > Visibility > Show or Hide Based on Condition

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