我无法得出 SSRS 中单元格的值,该值应该是不同值的总和。我有一个 SSRS 报告,类似于下面的屏幕截图:
我无法获取红色值(11.25 美元)。我基本上需要根据不同的跟踪号来总结运输成本。因此,有两个不同的跟踪编号,一个的运输成本为 5.25 美元,另一个的运输成本为 6.00 美元,因此以红色显示的总额应为 11.25 美元。但我无法在 SSRS 中实现这一点,也无法在 SQL 查询中弄清楚它。
我正在考虑像这样的子查询(我知道下面的不是有效的 SQL):
(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost]
但是我不知道怎么写。
首先获取不同的列表...
SELECT SUM(SQ.COST)
FROM
(SELECT DISTINCT [Tracking #] as TRACK,[Ship Cost] as COST FROM YourTable) SQ
您可以执行以下操作:
SELECT SUM(distinct [Ship Cost]) . . .
但是,我不推荐这样做。您可以拥有两件价格相同的商品,但只会计算一件。
更好的方法是使用
Tracking #
函数为每个 row_number()
选择一个值:
select SUM(case when seqnum = 1 then [Ship Cost] end)
from (select t.*,
row_number() over (partition by [Order #], [Tracking #]
order by (select NULL)
) as seqnum
. . .
) t
尝试类似的事情
从中选择总和(运输成本) (从表中选择不同的跟踪号、运输成本)
干杯
如果你有 IDENTITY 列,你可以使用这个技巧:
SELECT (SUM(DISTINCT[运费] + ID) - SUM(DISTINCT ID)) AS [运费] FROM ...
我使用这个技巧来避免在具有大量 JOIN 的复杂查询中对重复行进行求和