17

我无法为 SSRS 中的单元格设置一个值,该值应该是不同值的总和。我有一个类似于以下屏幕截图的 SSRS 报告:

在此处输入图像描述

我无法获得红色的价值(11.25 美元)。我基本上需要根据不同的 Tracking #s 来计算船舶成本。因此,有两个不同的跟踪编号,一个的船舶成本为 5.25 美元,另一个为 6.00 美元,因此以红色显示的总数应为 11.25 美元。但我无法在 SSRS 中实现这一点,也无法在 SQL 查询中找到它。

我在想一个像这样的子查询(我知道下面的 SQL 是无效的):

(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost]

但是我不知道怎么写。

4

3 回答 3

25

首先获取不同的列表...

SELECT SUM(SQ.COST)
FROM
(SELECT DISTINCT [Tracking #] as TRACK,[Ship Cost] as COST FROM YourTable) SQ
于 2013-08-13T20:04:30.667 回答
14

您可以执行以下操作:

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
于 2013-08-13T20:03:22.570 回答
2

尝试类似的东西

从中选择总和(运费)
(从表中选择不同的跟踪#,shipcost)

干杯

于 2013-08-13T20:10:55.190 回答