Reporting services MS报表设计器-什么是表组以及如何使用它们?
我正在使用ReportingServices2000/2005和VisualStudio2005以及内置报表设计器处理一些现有MS报表的项目 我遇到了一个报告,它使用一个表来显示由存储过程获取的数据。我的工作要求我修改报告和存储的进程 我已经对存储过程进行了更改,当在SQL Management Studio中测试时,它会返回正确的数据。然而,在报告中,由于某种原因,一些数据丢失了,尽管我使用了完全相同的参数 我有一种隐秘的感觉,它与为报表的主表定义的表组有关。该表定义了两个表组。我删除了第二个表组中的一些项,因为它们已从存储的过程和报告中删除。也许我需要将存储过程中的新字段/列添加到表组中Reporting services MS报表设计器-什么是表组以及如何使用它们?,reporting-services,ssrs-grouping,report-designer,Reporting Services,Ssrs Grouping,Report Designer,我正在使用ReportingServices2000/2005和VisualStudio2005以及内置报表设计器处理一些现有MS报表的项目 我遇到了一个报告,它使用一个表来显示由存储过程获取的数据。我的工作要求我修改报告和存储的进程 我已经对存储过程进行了更改,当在SQL Management Studio中测试时,它会返回正确的数据。然而,在报告中,由于某种原因,一些数据丢失了,尽管我使用了完全相同的参数 我有一种隐秘的感觉,它与为报表的主表定义的表组有关。该表定义了两个表组。我删除了第二个
有人能告诉我如何调查/解决这个问题,什么是表组,以及如何使用它们的正确方向吗。表中的组与SQL查询中的组的工作方式类似-每个组中的数据只返回一次,而不是每个记录返回一次。但是,由于还可以在表中包含详细信息行,因此还可以从单个报表表中同时查看组级和详细信息级数据,而这需要在SQL中进行单独的(子)查询
作为一个例子,考虑SQL:
中的销售结构sales_month
sales_day
sales_product
sales_value
您可以使用查询返回SQL中按日期顺序排列的所有销售的列表
select * from sales order by sales_month, sales_day;
select sales_month, sum(sales_value) as monthly_sales
from sales group by sales_month order by 1;
或者,您可以在SQL中随查询返回所有销售情况的月度汇总
select * from sales order by sales_month, sales_day;
select sales_month, sum(sales_value) as monthly_sales
from sales group by sales_month order by 1;
通过使用按月份分组的报告表,以及详细信息行和组页脚,您可以在每个月末按日期顺序列出所有销售,并为每个月进行小计
SSRS帮助中有一些教程说明了如何在报表中使用分组。好的,因此我将存储过程中的新列添加到表组中,它可以按预期工作 我认为,通过在表组中匹配几列,报告在更少的字段上分组,这意味着这些行都被视为相同的值 当我一次添加一个新字段以匹配存储过程中的字段时,报告的准确性就越高
我认为这与SQL要求Select子句中的每个字段也出现在Group By子句中的方式类似。上述方法对我很有效,尽管我不完全理解问题或解决方案。因此,如果So允许,我会将其标记为正确的解决方案,除非有人能够提供更好的理解。