kyl*_*_13 8 sql reporting-services distinct-values
我在为SSRS中的单元格提供值时遇到问题,该值应该是不同值的总和.我有一个类似于以下屏幕截图的SSRS报告:

我无法获得红色值(11.25美元).我基本上需要根据不同的跟踪#来总结船舶成本.所以有两个不同的跟踪#,一个是5.25美元的船舶成本,另一个是6.00美元,所以红色显示的总数应该是11.25美元.但我无法在SSRS中实现这一点,也无法在SQL查询中找到它.
我在想一个子查询(我知道下面的代码不是有效的SQL):
(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost]
Run Code Online (Sandbox Code Playgroud)
但我不知道如何写它.
Dec*_*n_K 15
首先获取不同的列表...
SELECT SUM(SQ.COST)
FROM
(SELECT DISTINCT [Tracking #] as TRACK,[Ship Cost] as COST FROM YourTable) SQ
Run Code Online (Sandbox Code Playgroud)
您可以执行以下操作:
SELECT SUM(distinct [Ship Cost]) . . .
Run Code Online (Sandbox Code Playgroud)
但是,我不推荐这个.您可以有两个具有相同成本的项目,只计算一个.
更好的方法是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
Run Code Online (Sandbox Code Playgroud)