在SSRS中对产品进行求和并显示

时间:2016-01-27 11:42:02

标签: sql reporting-services

我在SSRS中创建了一个包含生产数据的表 如果我在报告中选择一周,那么它不会对各个产品进行总结

我想总结每个日期时间的产品。 我怎样才能做到这一点?它应该只显示每个产品一行的结果。

2 个答案:

答案 0 :(得分:0)

当您在组中使用列间隔日期时,您永远不会看到列"单位"如您所愿,因为所有日期都会显示在您的结果中。要根据需要执行结果,您需要从select和group中删除intervaldate,当然。所以,你的查询应该是那样......

SELECT * FROM (tsystem.Name as Name, 
     SUM(CASE WHEN Name = 'Maschine 1' THEN Units else 0 end) AS Maschine1,
     SUM(CASE WHEN Name = 'Maschine 2' THEN Units else 0 end) AS Maschine2,
     SUM(CASE WHEN Name = 'Maschine 3' THEN Units else 0 end) AS Maschine3
FROM Count inner join tsystem ON Count.systemid = tsystem.id
WHERE IntervalDate BETWEEN @StartDateTime AND @EndDateTime
AND tsystem.Name IN ('M101'
     , 'M102'
     , 'M103'
     , 'M104'
     , 'M105'
     , 'M107'
     , 'M109'
     , 'M110'
     , 'M111'
     , 'M113'
     , 'M114'
     , 'M115')
GROUP BY tsystem.Name) AS s

这可以使用枢轴来完成,因为"机器名称"是一个专栏。这将避免子查询和case语句。您可以查看有关pivot here

的更多信息

答案 1 :(得分:0)

如果我是正确的您想要按Name进行分组,但您可以选择报告的日期范围。

使用此数据集,我重新创建了您的方案,并创建了您期望的Tablix。

enter image description here

  

请注意,有两个不同的Datum值和Name值   在日期范围内重复。

将此Tablix与以下数据安排一起使用。

enter image description here

它将生成此Tablix:

enter image description here

如果这有助于您,请告诉我。