Как решить (использовать) ETL, когда столбцы и строки не совпадают с плоским файлом - PullRequest
3 голосов
/ 18 июня 2019

У меня есть 2 больших файла, электронная таблица Excel и файл csv, которые перепутаны, но все еще должны быть загружены в таблицу.Я учусь пользоваться службами SSIS.Предположим, что столбцы и строки выглядят примерно так ..

1-я электронная таблица Excel (расширение файла .xlxs) ...

  ID    Name    GroupName City        Time        Price Date
  A1    South   Group1    London      10/06/2018  $4.50 13.30
  A2    North   Group2    New York                $60   10/07/2018  09:00  AM  

Рис. 1

2-я электронная таблица Excel (расширение файла .csv) ...

ID  Name    GroupName   City         Date         Time   Price  
A3  East    Group3      Paris        09/09/2017   $5.00  03:00  AM   
A4  West    Group4      Berlin                    01/05/2018    $12.50  18:00

Fig 2

Если вы посмотрите на идентификатор A2 на рисунке 1, вы увидите дату как 9.00, а затем AM в другом столбце.Как вы решаете такую ​​проблему?Это пример, поэтому данные о времени в каждом столбце случайным образом различаются.Также обратите внимание, что на рис. 2 для A4

я знаком со степенью Script Task и Foreach Loop Container.

Я ищу в сети и нашел этот веб-сайт....

Это то, что я ищу.

На данный момент создана таблица с этими именами столбцов

ID, Name, GroupName, City, Date, Time and Price.

Так что в идеале, когда данныезагружается в таблицу, это должно выглядеть следующим образом ...

  ID    Name    GroupName   City         Date         Time   Price  
  A1    South   Group1      London       10/06/2018   13.30   $4.50           
  A2    North   Group2      New York     10/07/2018   09:00AM $60 
  A3    East    Group3      Paris        09/09/2017   03:00AM $5.00  
  A4    West    Group4      Berlin       01/05/2018   18:00   $12.50

Я не уверен, как подойти к этому.

Обратите внимание: я просто хочу знать, какие компоненты SSIS Toolbox мне нужно использовать.Как только я узнаю, я попытаюсь решить эту проблему.Это причина отсутствия примера кода.

Заранее спасибо.

Обновление

Спасибо, Хади.Если никто не возражает, я буду держать этот поток открытым и обновлять, когда SSIS будет полностью доступен в VS 2019, и у меня будет возможность найти решение.

1 Ответ

0 голосов
/ 18 июня 2019

Я не думаю, что есть простое решение для этого. Но я постараюсь дать несколько предложений:

  1. Преобразование файла Excel в файл CSV
  2. В диспетчере соединений с плоскими файлами определить только для столбца типа DT_STR и длины = 4000
  3. В задаче потока данных добавьте компонент сценария, чтобы разбить каждую строку, проверить значение каждого столбца и присвоить его соответствующему выходному столбцу

Вы можете обратиться к следующим ответам, чтобы узнать больше, поскольку он содержит полезную информацию о том, как читать данные из плоского файла, когда данные не очень хорошо структурированы (даже если это не тот же случай)

...