2013-08-13 45 views
5

Tôi đang gặp sự cố khi đưa ra giá trị cho một ô trong SSRS, đây phải là tổng các giá trị riêng biệt. Tôi có một báo cáo SSRS trông tương tự như hình dưới đây:Đang cố gắng tổng các giá trị khác biệt SQL

enter image description here

Tôi đang gặp khó khăn về giá trị trong màu đỏ ($ 11,25). Về cơ bản, tôi cần tính tổng chi phí tàu, dựa trên Số theo dõi riêng biệt. Vì vậy, có hai số theo dõi riêng biệt, một với Chi phí tàu là $ 5,25 và $ 6,00 khác, vì vậy tổng số được hiển thị bằng màu đỏ phải là $ 11,25. Nhưng tôi không thể đạt được điều này trong SSRS và không thể tìm ra nó trong truy vấn SQL.

Tôi đang nghĩ đến một subquery tương tự (và tôi biết dưới đây không phải là SQL hợp lệ):

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

Nhưng tôi không biết làm thế nào để viết nó.

Trả lời

5

Bạn có thể làm như sau:

SELECT SUM(distinct [Ship Cost]) . . . 

Nhưng, tôi không đề nghị này. Bạn có thể có hai mục với cùng một chi phí và chỉ có một mục sẽ được tính.

Cách tốt hơn là để chọn một giá trị cho mỗi Tracking #, bằng cách sử dụng chức năng 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

Xin chào @Gordon Linoff, bạn dường như có một giải pháp tốt. Tôi hoàn toàn không thể nhận được truy vấn bạn đã cung cấp để hoạt động đúng cách, nhưng tôi đã làm một việc tương tự bằng cách sử dụng hàm ROW_NUMBER. Bây giờ tôi có một đầu ra mới trên báo cáo của mình. Các giá trị màu đỏ trong ảnh chụp màn hình được tính bằng cách sử dụng Biểu thức sau trong SSRS: = SUM (IIF (Trường! RowNumber.Value = 1, Fields! WEIGHT.Value, 0)) tuy nhiên, nó cho ra một lỗi cho các đơn đặt hàng có nhiều hơn 1 mục. Vẫn không có ý nghĩa với tôi. Bạn có biết làm thế nào biểu thức có thể được sửa đổi để sản lượng báo cáo là chính xác? –

+1

@ kyle_13. . . Tôi nghĩ bạn nên hỏi một câu hỏi khác cung cấp thông tin về dữ liệu mẫu và kết quả mong đợi. –

+0

Cảm ơn @Gordon Linoff, đó là những gì tôi đã kết thúc, thực hiện giải pháp tại đây http://stackoverflow.com/questions/18236373/expression-in-ssrs-not-working-as-expected. Đã xảy ra sự cố chuyển đổi dữ liệu trên báo cáo. –

12

Lấy danh sách riêng biệt đầu tiên ...

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

thử một cái gì đó giống như

 

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

cổ vũ

Các vấn đề liên quan