我在SSRS中创建了一个包含生产数据的表 如果我在报告中选择一周,那么它不会对各个产品进行总结
我想总结每个日期时间的产品。 我怎样才能做到这一点?它应该只显示每个产品一行的结果。
答案 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)