![]() |
Транспонирование таблицы
Вложений: 1
Добрый день. Прошу помощи знатоков.
Необходимо транспонировать таблицу из строки в столбик при чем необходимо отбросить часть ненужных данных. пример таблицы со входящими данными
входящие данные в файле DataTable.xlsx На листе Input - входящие данные На листе output - то что надо получить я пытался сделать путем перебора столбцов, но почемуто работает не корректно, да и выглядит это крайне не красиво. Подскажите может есть варианты более изящьные. Скрытый текст
Код:
private DataTable GetTerminalDataTable(DataSet TerminalData) |
dosperados, я лично не вижу там транспонирования.
Транспонирование выглядит вот так…
![]() Опишите словами принципы перевода содержимого одного Рабочего листа в содержимое другого Рабочего листа. |
Iska, Вы правы в чистом виде там нет транспонирования.
Наверно правильнее было бы назвать просто "преобразование таблицы". Суть преобразования состоит в том, что в одной строке приходят все данные. Скрытый текст
XCOOR | YCOOR | PRINTMODE | PRINTMODE | PRINTMODE | TEXT | METHOD | PRINTMODE | XCOOR | YCOOR | PRINTMODE | PRINTMODE | TEXT.......
0 | 0 | CLEAR | CLSCR | INVERSE | ВХОД В СИСТЕМУ | PRINT | CLEAR | 0 | 2 | NORMAL | CENTERED | System....... Отбрасывая лишние данные нужно преобразовать их в вид: Причем есть такие столбец "PRINTMODE" который содержит данные в виде триггера (т.е. пока не придет команда CLEAR в этом столбце, что значит очистить значение и следующая команда INVERSE или NORMAL) Скрытый текст
YCOOR | PRINTMOD | TEXT
0 | INVERSE | ВХОД В СИСТЕМУ 1 | NORMAL | System 4 | NORMAL | УКАЗАНИЕ ОПЕРАТОРУ 6 | NORMAL | СКАНИРУЙТЕ ЛИЧНУЮ 7 | NORMAL | КАРТОЧКУ ДЛЯ 8 | NORMAL | НАЧАЛА РАБОТЫ 10 | INVERSE | DB_Name 13 | INVERSE | АДРЕС:TEST_MSSQL-F38E7C3C 14 | INVERSE | X - ВЫХОД Для меня большую трудность представляет именно этот столбец PRINTMOD, который содержится не всегда, но необходим для выходной таблицы. |
dosperados, опишите алгоритм преобразований словами.
|
Время: 19:00. |
Время: 19:00.
© OSzone.net 2001-