【问题标题】:SSRS BIDS Reporting Group By HeaderSSRS BIDS 报告组(按标题)
【发布时间】:2011-11-21 17:23:23
【问题描述】:

有谁知道如何做到这一点,当一个月有多个记录时(见图)只有一行数据,而不是把它分成 4 个盒子。

例如,请参阅 6 月,我希望它有一个用于 RFC 日的框和一个用于项目日的框。

到目前为止我已经分组了:

行组 - 服务、月份名称

列组 - 分类

【问题讨论】:

  • 我会运行原始 SQL 语句,看看会返回什么。如果您在 SQL 中有“一个月的多条记录”,您很可能还会在报告中看到它们。
  • 通常它应该可以工作。检查您的行组。也许您在其中一个行组中有分类
  • 查看第二张图片 - 正如您在管理工作室视图中看到的那样,有两行月份包含“RFC”和“项目”数据的记录,是否可以在 BIDS 中不报告所以该月只有一行,但分类上的“GROUP BY”为每个分类提供了列

标签: sql-server reporting-services business-intelligence bids


【解决方案1】:

您可以通过使用分组来做到这一点,并在组级别对值求和并隐藏详细信息行。

不过,最简单的做法是在 SQL 中使用嵌套查询来执行此操作,如下所示(您可能还想按月份编号而不是名称进行排序,如下所示):

SELECT Service, Month(DateField) AS MonthNumber, 
    MAX(DatePart(Month, DateField)) AS MonthName, 
    SUM(ProjectDays) AS ProjectDays, SUM(RFCDays) AS RFCDays
FROM (
    SELECT Service, DateField, Days AS ProjectDays, 0 AS RFCDays
    FROM Project
    UNION ALL
    SELECT Service, DateField, 0 AS ProjectDays, Days AS RFCDays
    FROM RFC
)
GROUP BY Service, Month(DateField)
ORDER BY Service, Month(DateField)

【讨论】:

    【解决方案2】:

    我发现我必须按我的 MONTH 字段分组,所以我将它拖到按行分组的组中,从这里右键单击它并在组属性中添加了一个组表达式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多