Анализ SSIS нестандартного плоского файла?

Я хорошо знаком с анализом SSIS файлов с обычными текстовыми данными с разделителями, однако мне нужен совет по подходу к работе с файлом, который выглядит как этот тестовый файл:

ISA*00* *00* *01*220220220 *ZZ*RL CODE 01*060327*1212*U*00300*000008859*0*P*:~
GS*RA*CPA-BPT*LOCALUTILITY*060319*1212*970819003*X*003030~
ST*820*000000001~
BPR*C*321.91*C*X12*CBC*04*000300488**9918939***04*000300002**1598564*070319~
TRN*1*00075319970819105029~
REF*RR*0003199708190000174858~
DTM*097*070318~
DTM*107*070318~
N1*PR*DIRECT PAYMENT~
N1*PE*ABC CORPORATE BILLER*ZZ*90005836~
ENT*1~
N1*PR*BILLING - TEST - NATTRASS~
RMR*CR*0009381082105011**142.15~
REF*TN*000303965~
DTM*109*070316~
ENT*2~
N1*PR*BILL FREID TEST~
RMR*CR*0011010451800011**179.76~
REF*TN*000304189~

321,91 — это общая сумма транзакции.

Я бы предпочел сделать это с помощью SSIS, но также мог бы создать парсер C#.

Предложения будут оценены.

Спасибо.


person ElHaix    schedule 08.01.2010    source источник
comment
это стандартный отраслевой формат? если это так, у BizTalk есть несколько расширений, которые выполняют преобразование данных.   -  person Raj More    schedule 08.01.2010
comment
Вы когда-нибудь разобрались, как написать парсер для файла 837? Спасибо!   -  person ssokol91    schedule 09.09.2015
comment
@ssokol91 – 1edisource.com/transaction-sets?TSet=837 и/ или найдите liaison.com/products/transform/delta.   -  person ElHaix    schedule 09.09.2015


Ответы (4)


Файл, показанный выше, называется «Файл 837». Вы можете искать парсеры файлов 837 или способы парсить такой файл в С#. У меня нет ссылки на это, но, по крайней мере, это должно помочь вам найти решение (помните: «Файл 837»)

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

ОБНОВЛЕНИЕ 18.03.10:

Я нашел документ "Как читать файл ANSI 837" здесь (PDF Скачать)

ОБНОВЛЕНИЕ 26.03.10:

Я нашел больше информации об этом. Пример может быть вовсе не файлом 837. Похоже, что это ANSI X12 - стандарт EDI. Ознакомьтесь с документом EDI Mapping (pdf)

а также этот результат поиска Google в EDI X12

И этот Инструменты EDI для программиста

Пожалуйста, опубликуйте решение этой проблемы, чтобы все, кому нужен ответ, получили от него пользу ;-)

person MarlonRibunal    schedule 03.02.2010
comment
Вы должны указать, почему вы считаете, что фиктивный файл данных может быть нарушением HIPPA. - person Paul Nathan; 11.03.2010
comment
Так что я был неправ. Пожалуйста, проигнорируйте мой комментарий о нарушении правил HIPPA. ;-) - person MarlonRibunal; 18.03.2010
comment
Это HIPAA, а не HIPPA. ;) - person Matt Crouch; 24.03.2010
comment
Я добавил больше информации об этом. Смотрите ОБНОВЛЕНИЕ от 26.03.10 ;-) - person MarlonRibunal; 27.03.2010

На это нет простого ответа. Источник данных SSIS Flat File не поддерживает ничего, кроме простейших форматов. Я использовал задачу с плоским файлом для чтения в рваном виде или записи типизированных плоских файлов в виде одного большого столбца. Затем я запускал его через задачу сценария, чтобы выполнить синтаксический анализ. Извините, нет более простого ответа, чем этот... можно было бы подумать.

person Christian Loris    schedule 08.01.2010

Этот образец файла будет слишком сложным для обработки обычным компонентом источника данных плоского файла. Единственной альтернативой сделать это с помощью служб SSIS было бы использование компонента скрипта в качестве источника в потоке данных. После этого у вас будет доступ ко всем библиотекам .Net Framework, и вы сможете создать собственный синтаксический анализатор c# или vb (используя 2008) или vb (используя 2005) в этом компоненте. Удачи!

person rfonn    schedule 08.01.2010

Предполагая, что выполнение этого в SSIS не является чистым вариантом, вы можете использовать библиотеку File Helpers с открытым исходным кодом, чтобы эффективно написать парсер C#.

File Helpers полезны для разбора файлов с разделителями, а также файлов фиксированной длины.

person Chai    schedule 14.01.2010