2013-08-13 4 views
5

У меня возникли проблемы со значением для ячейки в SSRS, которая должна быть суммой различных значений. У меня есть отчет SSRS, который похож на скриншоте ниже:Попытка суммирования различных значений SQL

enter image description here

У меня возникли проблемы с получением значения в красном ($ 11,25). Мне в основном нужно суммировать стоимость корабля, основанную на отличных отслеживаниях #. Таким образом, есть два разных элемента отслеживания: один с стоимостью корабля 5,25 доллара, а другой - 6,00 долларов США, поэтому общая сумма, отображаемая красным цветом, должна составлять 11,25 доллара США. Но я не могу этого добиться в SSRS и не могу понять это в SQL-запросе.

Я думаю подзапрос, как (и я знаю, что ниже не является допустимым SQL):

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

Но я не знаю, как писать.

ответ

5

Вы можете сделать следующее:

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 
+0

Привет @Gordon Linoff, у вас, похоже, хорошее решение. Я не мог получить запрос, который вы дали, чтобы работать правильно, но я сделал что-то подобное, используя функцию ROW_NUMBER. Теперь у меня есть новый вывод в моем отчете. Значения, красные на снимке экрана, вычисляются с использованием следующего выражения в SSRS: = SUM (IIF (Fields! RowNumber.Value = 1, Fields! WEIGHT.Value, 0)), однако он дает ошибку для этих заказов с более чем 1 шт. Все еще не имеет смысла для меня. Вы знаете, как выражение может быть изменено, поэтому вывод отчета правильный? –

+1

@ kyle_13. , , Я думаю, вы должны задать другой вопрос, содержащий информацию о выборочных данных и ожидаемых результатах. –

+0

Спасибо @ Gordon Linoff, вот что я в итоге сделал, получил решение здесь http://stackoverflow.com/questions/18236373/expression-in-ssrs-not-working-as-expected. Была ли проблема с преобразованием данных в отчет. –

12

Получить четкий список первый ...

SELECT SUM(SQ.COST) 
FROM 
(SELECT DISTINCT [Tracking #] as TRACK,[Ship Cost] as COST FROM YourTable) SQ 
0

попробовать что-то вроде

 

select sum(shipcost) from 
(select distinct tracking#, shipcost from table) 

ура

Смежные вопросы