Tôi có một truy vấn SQL đang được thực hiện trong SSIS để tải dữ liệu vào một tập tin CSV mà trông giống như sau:Tôi có thể đặt các biến trong SSIS cho vòng lặp dựa trên truy vấn không?
SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
AND Param1 = 2 AND Param2 = 2
Khi điều này được viết bằng QlikView, tôi sử dụng các thông số như sau:
SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
AND Param1 = $(Param1) AND Param2 = $(Param2)
Bây giờ tôi đang di chuyển toàn bộ nhiệm vụ sang SSIS, tôi đang tìm cách để có được nó như vậy mà Param1 và Param2 sẽ được gán động. Ví dụ: trong QlikView, tôi đã tạo một bảng được điền bởi một truy vấn khác:
SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
Điều gì đó tương tự. Việc chọn Param1
và Param2
từ truy vấn đó mang lại cho tôi các giá trị cần thiết cho $(Param1)
và $(Param2)
trong mã QlikView của tôi.
Tôi hiện đang cố chuyển đổi mã QlikView thành gói SSIS thay vì SSIS là công cụ ETL chuyên dụng trong khi QlikView thì không. Là những gì tôi đang làm có thể? Và nếu có, tôi sẽ làm thế nào?
Ý tưởng của tôi là để quấn nó tất cả trong một container vòng lặp và có nó dừng lại sau khi nó grabs cuối cùng Param1
và Param2
từ truy vấn này:
SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
Về cơ bản, tôi đang cố gắng để tránh phải viết câu lệnh chọn đầu tiên của tôi hàng nghìn lần.
Cảm ơn bạn.
Nếu những gì tôi nói không hợp lý, hãy cho tôi biết để tôi có thể xây dựng thêm một chút.
tôi đang thực sự sử dụng Data Flow Tác vụ chứa nguồn OLE DB -> Tệp đích phẳng. Phương pháp của bạn có cho phép tôi lưu tập hợp kết quả thành CSV không? – Leon
Vâng, đúng vậy. Tôi sẽ sửa đổi câu trả lời của mình để được chi tiết hơn –
@Leon được cập nhật. Hy vọng rằng nó chi tiết hơn bây giờ :) –