Mam kwerendy SQL, który to jest wykonywane w SSIS do ładowania danych do pliku CSV, który wygląda mniej więcej tak:Czy mogę ustawić zmienne w SSIS dla pętli na podstawie zapytania?
SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
AND Param1 = 2 AND Param2 = 2
Kiedy to zostało napisane w QlikView, użyłem parametry tak:
SELECT *
FROM SomeTable
WHERE SomeDate BETWEEN '1-Jan-2016' AND '31-Dec-2016'
AND Param1 = $(Param1) AND Param2 = $(Param2)
Teraz, gdy migruję całe zadanie do SSIS, zastanawiam się, jak je uzyskać, aby Param1 i Param2 były dynamicznie przypisywane. Na przykład w QlikView utworzyłem tabelę zapełnioną przez inne zapytanie:
SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
Coś w tym stylu. Wybór Param1
i Param2
z tego zapytania dostarcza mi niezbędnych wartości dla $(Param1)
i $(Param2)
w moim kodzie QlikView.
Właśnie próbuję przekonwertować kod QlikView na pakiet SSIS, ponieważ SSIS jest dedykowanym narzędziem ETL, a QlikView nie. Czy to, co robię, jest możliwe? A jeśli tak, to jak mam to zrobić?
Mój pomysł był zawinąć to wszystko w pętli do kontenera i mieć go zatrzymać po tym łapie ostatni Param1
i Param2
od tego zapytania:
SELECT Param1, Param2
FROM ThisTable
WHERE SomeID = 1
Zasadniczo, staram się uniknąć konieczności pisania moje pierwsze oświadczenie wyboru tysiąc razy.
Dziękuję.
Jeśli to, co mówię, nie ma sensu, proszę dać mi znać, żebym mógł trochę więcej rozwinąć.
jestem rzeczywiście przy przepływie danych Zadanie zawierające źródło OLE DB -> Plik docelowy z. Czy twoja metoda pozwala mi zapisać zestaw wyników do pliku CSV? – Leon
Tak, to prawda. Zmienię moją odpowiedź na bardziej szczegółową –
@Leon updated. Mam nadzieję, że teraz jest bardziej szczegółowy :) –