2013-08-12 1 views
1

Я ищу информацию о том, как я могу использовать данные передачи из надстройки System i для Excel, чтобы получать данные, равные данным в одном из моих столбцов (оба набора данных являются строками). К сожалению, я не могу просто получить все содержимое таблицы System i, так как оно содержит больше, чем максимально допустимое в Excel. Спасибо!Запрос Excel с использованием данных передачи из системы i

Дополнительная информация в целях уточнения:

Я пытаюсь получить конкретные данные из таблицы ISeries. Если поле в столбце iSeries = A, я хочу, чтобы данные помещались в столбец c.

COLUMN A COLUMN B  COLUMN C 
    100      xxxxx 

on the iSeries table 

FIELD 1 = 40 FIELD 2 = ITEMDESC1 
FIELD 1 = 100 FIELD 2 = ITEMDESC2 
FIELD 1 = 500 FIELD 2 = ITEMDESC3 

В этом случае было бы поместить ITEMDESC2 в столбец С, так как поле 1 = 100 мне просто нужно знать, если есть способ в ИНЕКЕ с использованием передачи данных для системы я сделать это?

Я надеюсь, что это понятнее

ответ

0
  1. Создать новый запрос
  2. Заполните имя системы (Next)
  3. Заполните имя таблицы (Next)
  4. Нажмите "Параметры данных ..."

На этой панели представлено предложение SELECT и WHERE. Поместите курсор в поле «Где», нажмите «Подробнее ...» и создайте свой запрос. Нажмите «Применить», а затем «ОК».

+0

Я знаю, как это сделать. Внутри предложения Where я не знаю, как включать данные столбца. Например, где столбец A, строка 1 = поле1, столбец A, строка 2 = поле1 и т. Д. – mikjall77

+0

Итак, ошибка, которую вы получаете, заключается в том, что для обработки Excel слишком много столбцов? Я думал, что слишком много рядов. Данные сопоставляются с DB2 for i в Excel в том порядке, в котором вы указываете поля на панели «Выбор». Сначала поместите Field1, и он переместится в столбец A, Field2 второй, и он попадет в столбец B. Если это еще не ясно, отредактируйте свой вопрос, чтобы привести пример макета таблицы DB2, который у вас есть, и макет Excel, который вы хотите получить , –

+0

См. Редактирование на предыдущий вопрос. Надеюсь, это яснее того, что мне нужно. Спасибо! – mikjall77

1

Передача данных - это простая передача файлов. Он не предназначен для принятия решений о том, как выбирать данные DB2 на основе содержимого различных ячеек в существующей электронной таблице. В качестве обходного пути вы можете загрузить существующую таблицу в DB2, а затем использовать функцию SQL Script для IBM i Navigator, присоединиться к загруженной таблице Excel в таблицу DB2 и использовать CASE, чтобы поместить правильное поле в соответствующий столбец.

select columna, columnb, case when field1 = columna then field2 else ' ' end 
from excelupload join db2table on some_join_criteria 
where some_record_selection_criteria 

Кажется, проще передать файл на ПК и выполнить обработку столбцов в Excel.

+0

Я боялся этого. Мне действительно нужны данные из i, беру эти данные и обновляю данные Excel, а затем беру данные Excel и данные обновления в SAP. Был надеяться на небольшую простоту сделать это, но похоже, что мне, возможно, придется сделать начальное обновление в Access и отправить его обратно через Excel, чтобы я мог сделать копию/вставку в SAP. Спасибо за вашу помощь! – mikjall77

+0

Доступ может использовать ODBC, что должно придать вам большую гибкость при выполнении такого рода работ. Прямые передачи файлов на самом деле не предназначены для реализации бизнес-правил. –

1

Альтернативный подход:

Вы можете написать все, что вы хотите запрос в окне iNavigator RunSqlStm. Установите параметр для сохранения результатов, прежде чем запускать запрос. После запуска запроса вы можете сохранить результаты в нескольких форматах, включая Excel. Если для вашей версии Excel слишком много строк, вы можете сохранить их как .CSV-файл.