Как разобрать дату из имени файла служб SSIS Excel - PullRequest
0 голосов
/ 04 мая 2010

Я хочу использовать контейнер foreach для итерации по папке, совпадающей с чем-то вроде: «Filename_MMYYYY.xls». Это достаточно легко сделать; но я не могу найти способ разобрать MMYYYY из имени файла и добавить его в переменную (или что-то), который я могу использовать в качестве поля поиска для моей таблицы DimDate. Это представляется возможным с источником данных в виде плоского файла, но без подключения к Excel. Я использую Visual Studio 2005. Пожалуйста, помогите!

1 Ответ

4 голосов
/ 05 мая 2010

Правильно ли я понимаю, что вы хотите взять свое имя файла, разобрать его и получить из него переменную с типом даты? Если это так, то вам нужно начать с переменной имени файла, которую вы получаете из цикла Foreach - я назову эту переменную @ FileName.

Сначала создайте новую переменную - @FileDate - в качестве типа DateTime. Перейдите в окно его свойств (F4) и установите для свойства EvaluateAsExpression значение True. Отредактируйте выражение и введите что-то вроде этого (может потребоваться настроить):

(DT_DBTIMESTAMP) (SUBSTRING (@FileName, 12, 4) + "-" + SUBSTRING (@FileName, 10, 2) + "-01")

Теперь, если вы хотите взять это значение даты и использовать его в своем потоке данных, вы можете просто использовать его прямо в преобразовании производного столбца, или в выражении в вашем операторе Lookup SQL, или где угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...