代码之家  ›  专栏  ›  技术社区  ›  Saajid Ismail

MS报表设计器-什么是表组以及如何使用它们?

  •  1
  • Saajid Ismail  · 技术社区  · 15 年前

    我已经对存储过程进行了更改,在sqlmanagementstudio中测试时,它会返回正确的数据。然而,在报告中,有些数据由于某种原因而丢失了,尽管我使用的是完全相同的参数。

    我有一种隐秘的感觉,它与为报表的主表定义的表组有关。该表定义了2个表组。我删除了第二个表组中的一些项,因为它们已从存储的过程和报表中删除。也许我需要将存储过程中的新字段/列添加到表组?

    有人能告诉我如何调查/解决这个问题,什么是表组,以及如何使用它们的正确方向吗。

    2 回复  |  直到 8 年前
        1
  •  0
  •   user359040 user359040    15 年前

    表中的组的工作方式与SQL查询中的组类似—每个组只返回一次表中的数据,而不是每个记录返回一次。但是,由于还可以在表中包含详细信息行,因此还可以从单个报表表中同时看到组级和详细信息级数据,而这需要在SQL中进行单独的(子)查询。

    例如,考虑SQL中的销售结构:

    sales_month
    sales_day
    sales_product
    sales_value
    

    select * from sales order by sales_month, sales_day;
    

    或者,您可以通过查询返回SQL中按月列出的所有销售的摘要

    select sales_month, sum(sales_value) as monthly_sales 
    from sales group by sales_month order by 1;
    

    通过使用按月份分组的报表表,以及详细信息行和组页脚,您可以在每个月末按日期顺序列出所有销售,并列出每个月的小计。

    SSRS帮助中有一些教程演示了如何在报表中使用分组。

        2
  •  0
  •   Saajid Ismail    15 年前

    我认为,通过在表组中添加一些列,报表在更少的字段上进行分组,这意味着这些行都是相同的值。

    当我一次添加一个新字段以匹配存储过程中的字段时,报告的准确性就越高。

    我认为这类似于SQL要求Select子句中的每个字段也出现在groupby子句中。

    推荐文章